From 0258ca9f045f210abc6d37bfa84df4419773a649 Mon Sep 17 00:00:00 2001 From: arifal Date: Thu, 13 Mar 2025 15:39:32 +0700 Subject: [PATCH] fix redirect back umkm --- app/Http/Controllers/Data/UmkmController.php | 40 +++++++------------ resources/js/data/umkm/data-umkm.js | 30 ++++++++------ resources/js/data/umkm/form-create-update.js | 3 +- resources/js/data/umkm/form-upload.js | 3 +- .../views/data/umkm/form-upload.blade.php | 2 +- resources/views/data/umkm/form.blade.php | 2 +- resources/views/data/umkm/index.blade.php | 6 +-- 7 files changed, 42 insertions(+), 44 deletions(-) diff --git a/app/Http/Controllers/Data/UmkmController.php b/app/Http/Controllers/Data/UmkmController.php index 27f2cf3..3a81360 100644 --- a/app/Http/Controllers/Data/UmkmController.php +++ b/app/Http/Controllers/Data/UmkmController.php @@ -15,41 +15,30 @@ class UmkmController extends Controller */ public function index(Request $request) { - $menuId = $request->query('menu_id'); - $user = Auth::user(); - $userId = $user->id; + $menuId = $request->query('menu_id', 0); + $permissions = $this->permissions[$menuId] ?? []; // Avoid undefined index error - // Ambil role_id yang dimiliki user - $roleIds = DB::table('user_role') - ->where('user_id', $userId) - ->pluck('role_id'); - - // Ambil data akses berdasarkan role_id dan menu_id - $roleAccess = DB::table('role_menu') - ->whereIn('role_id', $roleIds) - ->where('menu_id', $menuId) - ->first(); - - // Pastikan roleAccess tidak null sebelum mengakses properti - $creator = $roleAccess->allow_create ?? 0; - $updater = $roleAccess->allow_update ?? 0; - $destroyer = $roleAccess->allow_destroy ?? 0; - return view('data.umkm.index', compact('creator', 'updater', 'destroyer')); + $creator = $permissions['allow_create'] ?? 0; + $updater = $permissions['allow_update'] ?? 0; + $destroyer = $permissions['allow_destroy'] ?? 0; + return view('data.umkm.index', compact('creator', 'updater', 'destroyer', 'menuId')); } /** * Show the form for creating a new resource. */ - public function bulkCreate() + public function bulkCreate(Request $request) { - return view('data.umkm.form-upload'); + $menuId = $request->query('menu_id', 0); + return view('data.umkm.form-upload', compact('menuId')); } /** * Show the form for creating a new resource. */ - public function create() + public function create(Request $request) { + $menuId = $request->query('menu_id', 0); $title = 'UMKM'; $subtitle = 'Create Data'; @@ -67,14 +56,15 @@ class UmkmController extends Controller $apiUrl = url('/api/umkm'); - return view('data.umkm.form', compact('title', 'subtitle', 'fields', 'fieldTypes', 'apiUrl', 'dropdownOptions')); + return view('data.umkm.form', compact('title', 'subtitle', 'fields', 'fieldTypes', 'apiUrl', 'dropdownOptions','menuId')); } /** * Show the form for editing the specified resource. */ - public function edit($id) + public function edit(Request $request,$id) { + $menuId = $request->query('menu_id', 0); $title = 'UMKM'; $subtitle = 'Update Data'; $modelInstance = Umkm::find($id); @@ -116,7 +106,7 @@ class UmkmController extends Controller $apiUrl = url('/api/umkm'); // dd($modelInstance->business_form_id, $dropdownOptions['business_form']); - return view('data.umkm.form', compact('title', 'subtitle', 'modelInstance', 'fields', 'fieldTypes', 'apiUrl', 'dropdownOptions')); + return view('data.umkm.form', compact('title', 'subtitle', 'modelInstance', 'fields', 'fieldTypes', 'apiUrl', 'dropdownOptions','menuId')); } private function getFields() diff --git a/resources/js/data/umkm/data-umkm.js b/resources/js/data/umkm/data-umkm.js index b087b0d..83238aa 100644 --- a/resources/js/data/umkm/data-umkm.js +++ b/resources/js/data/umkm/data-umkm.js @@ -7,6 +7,7 @@ import GeneralTable from "../../table-generator.js"; const tableElement = document.getElementById("umkm-data-table"); const canUpdate = tableElement.getAttribute("data-updater") === "1"; const canDelete = tableElement.getAttribute("data-destroyer") === "1"; +let menuId = document.getElementById("menuId").value; const dataUMKMColumns = [ "No", @@ -31,24 +32,25 @@ const dataUMKMColumns = [ { name: "Actions", widht: "120px", - formatter: function(cell, row) { + formatter: function (cell, row) { const id = row.cells[19].data; - const model = "data/umkm"; + const model = "data/web-umkm"; let actionButtons = '
'; let hasPrivilege = false; - + // Tampilkan tombol Edit jika user punya akses update if (canUpdate) { hasPrivilege = true; actionButtons += ` `; } - + // Tampilkan tombol Delete jika user punya akses delete if (canDelete) { hasPrivilege = true; @@ -58,13 +60,17 @@ const dataUMKMColumns = [ `; } - - actionButtons += '
'; - + + actionButtons += ""; + // Jika tidak memiliki akses, tampilkan teks "No Privilege" - return gridjs.html(hasPrivilege ? actionButtons : 'No Privilege'); - } - } + return gridjs.html( + hasPrivilege + ? actionButtons + : 'No Privilege' + ); + }, + }, ]; document.addEventListener("DOMContentLoaded", () => { @@ -103,4 +109,4 @@ document.addEventListener("DOMContentLoaded", () => { }; table.init(); -}); \ No newline at end of file +}); diff --git a/resources/js/data/umkm/form-create-update.js b/resources/js/data/umkm/form-create-update.js index 22dfe03..1bafc8b 100644 --- a/resources/js/data/umkm/form-create-update.js +++ b/resources/js/data/umkm/form-create-update.js @@ -5,6 +5,7 @@ document.addEventListener("DOMContentLoaded", function () { const modalButton = document.querySelector(".btn-modal"); const form = document.querySelector("form#create-update-form"); var authLogo = document.querySelector(".auth-logo"); + let menuId = document.getElementById("menuId").value; if (!saveButton || !form) return; @@ -74,7 +75,7 @@ document.addEventListener("DOMContentLoaded", function () { }, 2000); setTimeout(() => { - window.location.href = "/data/web-umkm"; + window.location.href = `/data/web-umkm?menu_id=${menuId}`; }, 1000); } else { if (authLogo) { diff --git a/resources/js/data/umkm/form-upload.js b/resources/js/data/umkm/form-upload.js index 6290325..03452b5 100644 --- a/resources/js/data/umkm/form-upload.js +++ b/resources/js/data/umkm/form-upload.js @@ -28,6 +28,7 @@ console.log(dropzonePreviewNode); .getAttribute("content")}`, }, init: function () { + let menuId = document.getElementById("menuId").value; // Listen for the success event this.on("success", function (file, response) { console.log("File successfully uploaded:", file); @@ -39,7 +40,7 @@ console.log(dropzonePreviewNode); "Upload Files"; // Tunggu sebentar lalu reload halaman setTimeout(() => { - window.location.href = "/data/web-umkm"; + window.location.href = `/data/web-umkm?menu_id=${menuId}`; }, 2000); }); // Listen for the error event diff --git a/resources/views/data/umkm/form-upload.blade.php b/resources/views/data/umkm/form-upload.blade.php index fadfae0..ca2e31b 100644 --- a/resources/views/data/umkm/form-upload.blade.php +++ b/resources/views/data/umkm/form-upload.blade.php @@ -3,7 +3,7 @@ @section('content') @include('layouts.partials/page-title', ['title' => 'Form', 'subtitle' => 'File Uploads']) - +
diff --git a/resources/views/data/umkm/form.blade.php b/resources/views/data/umkm/form.blade.php index 8b950eb..2189451 100644 --- a/resources/views/data/umkm/form.blade.php +++ b/resources/views/data/umkm/form.blade.php @@ -3,7 +3,7 @@ @section('content') @include('layouts.partials/page-title', ['title' => $title, 'subtitle' => $subtitle]) - +
@if (session('error'))
diff --git a/resources/views/data/umkm/index.blade.php b/resources/views/data/umkm/index.blade.php index 8ab20d8..9ebca87 100644 --- a/resources/views/data/umkm/index.blade.php +++ b/resources/views/data/umkm/index.blade.php @@ -6,7 +6,7 @@ @section('content') @include('layouts.partials/page-title', ['title' => 'Data', 'subtitle' => 'UMKM']) - +
Daftar UMKM
@@ -15,10 +15,10 @@
@if ($creator) - -