fix redirect back umkm
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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 = '<div class="d-flex justify-items-end gap-10">';
|
||||
let hasPrivilege = false;
|
||||
|
||||
|
||||
// Tampilkan tombol Edit jika user punya akses update
|
||||
if (canUpdate) {
|
||||
hasPrivilege = true;
|
||||
actionButtons += `
|
||||
<button class="btn btn-warning me-2 btn-edit"
|
||||
data-id="${id}"
|
||||
data-model="${model}">
|
||||
data-model="${model}"
|
||||
data-menu="${menuId}">
|
||||
<i class='bx bx-edit'></i>
|
||||
</button>`;
|
||||
}
|
||||
|
||||
|
||||
// Tampilkan tombol Delete jika user punya akses delete
|
||||
if (canDelete) {
|
||||
hasPrivilege = true;
|
||||
@@ -58,13 +60,17 @@ const dataUMKMColumns = [
|
||||
<i class='bx bxs-trash'></i>
|
||||
</button>`;
|
||||
}
|
||||
|
||||
actionButtons += '</div>';
|
||||
|
||||
|
||||
actionButtons += "</div>";
|
||||
|
||||
// Jika tidak memiliki akses, tampilkan teks "No Privilege"
|
||||
return gridjs.html(hasPrivilege ? actionButtons : '<span class="text-muted">No Privilege</span>');
|
||||
}
|
||||
}
|
||||
return gridjs.html(
|
||||
hasPrivilege
|
||||
? actionButtons
|
||||
: '<span class="text-muted">No Privilege</span>'
|
||||
);
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
@@ -103,4 +109,4 @@ document.addEventListener("DOMContentLoaded", () => {
|
||||
};
|
||||
|
||||
table.init();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
@section('content')
|
||||
|
||||
@include('layouts.partials/page-title', ['title' => 'Form', 'subtitle' => 'File Uploads'])
|
||||
|
||||
<input type="hidden" id="menuId" value="{{ $menuId ?? 0 }}">
|
||||
<div class="row">
|
||||
<div class="col-xl-12">
|
||||
<div class="card">
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
@section('content')
|
||||
|
||||
@include('layouts.partials/page-title', ['title' => $title, 'subtitle' => $subtitle]) <!-- Menggunakan title dan subtitle dari controller -->
|
||||
|
||||
<input type="hidden" id="menuId" value="{{ $menuId ?? 0 }}">
|
||||
<div class="row d-flex justify-content-center">
|
||||
@if (session('error'))
|
||||
<div class="alert alert-danger">
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
@section('content')
|
||||
@include('layouts.partials/page-title', ['title' => 'Data', 'subtitle' => 'UMKM'])
|
||||
|
||||
<input type="hidden" id="menuId" value="{{ $menuId ?? 0 }}">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5 class="card-title">Daftar UMKM</h5>
|
||||
@@ -15,10 +15,10 @@
|
||||
<div class="row">
|
||||
<div class="d-flex justify-content-end gap-10 pb-3">
|
||||
@if ($creator)
|
||||
<button class="btn btn-success me-2 width-lg btn-create" data-model="data/umkm">
|
||||
<button class="btn btn-success me-2 width-lg btn-create" data-model="data/umkm" data-menu="{{ $menuId }}">
|
||||
<i class='bx bxs-file-plus'></i>
|
||||
Create</button>
|
||||
<button class="btn btn-primary width-lg btn-bulk-create" data-model="data/umkm">
|
||||
<button class="btn btn-primary width-lg btn-bulk-create" data-model="data/umkm" data-menu="{{ $menuId }}">
|
||||
<i class='bx bx-upload' ></i>
|
||||
Bulk Create
|
||||
</button>
|
||||
|
||||
Reference in New Issue
Block a user