program dan menu tabel

This commit is contained in:
2026-05-05 15:48:14 +07:00
parent bb8c33f9cd
commit 3c6680c71c
3 changed files with 33 additions and 32 deletions
+11 -8
View File
@@ -6,6 +6,9 @@ use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rule;
use Illuminate\View\View;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\RedirectResponse;
use App\Models\Core\Program;
use App\Models\Wilayah\Provinsi;
@@ -13,7 +16,7 @@ use App\Models\Pertanian\Komoditas;
class ProgramController extends Controller
{
public function index(Request $request)
public function index(Request $request): View
{
$title = 'Program';
@@ -26,20 +29,20 @@ class ProgramController extends Controller
return view('core.program.index', compact('title', 'program'));
}
public function create()
public function create(): View
{
$provinsi = Provinsi::orderBy('nama', 'asc')->get();
$komoditas = Komoditas::orderBy('nama', 'asc')->get();
return view('core.program.add', compact('provinsi', 'komoditas'));
}
public function getProgram()
public function getProgram(): JsonResponse
{
$program = Program::select(['id', 'nama', 'sub_domain'])->get();
return response()->json(['data' => $program]);
}
public function store(Request $request)
public function store(Request $request): RedirectResponse
{
$validator = Validator::make($request->all(), [
'nama' => ['required'],
@@ -63,7 +66,7 @@ class ProgramController extends Controller
return redirect()->route('program.index')->with('success', 'Data program berhasil disimpan!');
}
public function show($id)
public function show($id): View
{
$program = Program::find($id);
if (!$program) {
@@ -76,7 +79,7 @@ class ProgramController extends Controller
return view('core.program.view', compact('program', 'komoditas', 'provinsi'));
}
public function edit($id)
public function edit($id): View
{
$program = Program::find($id);
if (!$program) {
@@ -86,7 +89,7 @@ class ProgramController extends Controller
return view('core.program.edit', compact('program'));
}
public function update(Request $request, $id)
public function update(Request $request, $id): RedirectResponse
{
$validator = Validator::make($request->all(), [
'nama' => ['required'],
@@ -112,7 +115,7 @@ class ProgramController extends Controller
return redirect()->route('program.index')->with('success', 'Data program berhasil diperbarui!');
}
public function destroy($id)
public function destroy($id): JsonResponse
{
$program = Program::find($id);
if (!$program) {
+11 -1
View File
@@ -7,11 +7,15 @@ use Illuminate\Support\Facades\Gate;
use App\Models\User;
use App\Enums\Role;
use Illuminate\Support\Facades\URL;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\View;
use Dedoc\Scramble\Scramble;
use Dedoc\Scramble\Support\Generator\OpenApi;
use Dedoc\Scramble\Support\Generator\SecurityScheme;
use App\Models\Ekosistem\TabelBasisData;
class AppServiceProvider extends ServiceProvider
{
/**
@@ -61,5 +65,11 @@ class AppServiceProvider extends ServiceProvider
Gate::define('offtaker', function (User $user) {
return $user->role === Role::OFFTAKER;
});
}
View::composer('*', function ($view) {
$tabel_menu = TabelBasisData::has('kolom')->get();
$view->with('tabel_menu', $tabel_menu);
});
}
}
+11 -23
View File
@@ -102,41 +102,29 @@
</li>
</ul>
</li>
<li class="menu-item">
<li class="menu-item {{ request()->routeIs(['petani-cpm.*','tabel.data.*']) ? 'active open' : '' }}">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon icon-base ti tabler-folder-root"></i>
<div data-i18n="Basis Data Ekosistem">Basis Data Ekosistem</div>
</a>
<ul class="menu-sub">
<li class="menu-item">
<li class="menu-item {{ request()->routeIs('petani-cpm.*') ? 'active' : '' }}">
<a href="{{ route('petani-cpm.index') }}" class="menu-link">
<div data-i18n="Petani">Petani</div>
</a>
</li>
</ul>
@foreach ($tabel_menu as $tbl)
<ul class="menu-sub">
<li class="menu-item">
<a href="#" class="menu-link">
<div data-i18n="Kondisi Agroekologi">Kondisi Agroekologi</div>
</a>
</li>
</ul>
<ul class="menu-sub">
<li class="menu-item">
<a href="#" class="menu-link">
<div data-i18n="Rantai Nilai Pasar">Rantai Nilai Pasar</div>
</a>
</li>
</ul>
<ul class="menu-sub">
<li class="menu-item">
<a href="#" class="menu-link">
<div data-i18n="Pemangku Kepentingan">Pemangku Kepentingan</div>
<li class="menu-item {{ request()->routeIs('tabel.data.*') && request()->route('tabel') == $tbl->id ? 'active' : '' }}">
<a href="{{ route('tabel.data.index', $tbl->id) }}" class="menu-link">
<div data-i18n="{{ $tbl->menu }}">{{ $tbl->menu }}</div>
</a>
</li>
</ul>
@endforeach
</li>
<li class="menu-item">
<!-- <li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon icon-base ti tabler-line-scan"></i>
<div data-i18n="Tracebility">Tracebility</div>
@@ -155,7 +143,7 @@
</a>
</li>
</ul>
</li>
</li> -->
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon icon-base ti tabler-webhook"></i>
@@ -264,7 +252,7 @@
</li>
</ul>
</li>
<li class="menu-item {{ request()->routeIs(['group.*', 'tabel.*']) ? 'active open' : '' }}">
<li class="menu-item {{ request()->routeIs(['group.*', 'tabel.*']) && !request()->routeIs('tabel.data.*') ? 'active open' : '' }}">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon icon-base ti tabler-database"></i>
<div data-i18n="Basis Data Ekosistem">Basis Data Ekosistem</div>
@@ -275,7 +263,7 @@
<div data-i18n="Kelompok">Kelompok</div>
</a>
</li>
<li class="menu-item {{ request()->routeIs('tabel.*') ? 'active' : '' }}">
<li class="menu-item {{ request()->routeIs('tabel.*') && !request()->routeIs('tabel.data.*') ? 'active' : '' }}">
<a href="{{ route('tabel.index') }}" class="menu-link">
<div data-i18n="Tabel">Tabel</div>
</a>