diff --git a/app/Http/Controllers/Api/UsersController.php b/app/Http/Controllers/Api/UsersController.php index da5c6f4..9dc999b 100644 --- a/app/Http/Controllers/Api/UsersController.php +++ b/app/Http/Controllers/Api/UsersController.php @@ -11,6 +11,7 @@ use App\Traits\GlobalApiResponse; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Hash; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Log; class UsersController extends Controller { diff --git a/app/Http/Controllers/Auth/AuthenticatedSessionController.php b/app/Http/Controllers/Auth/AuthenticatedSessionController.php index 9b638b8..4164ee6 100755 --- a/app/Http/Controllers/Auth/AuthenticatedSessionController.php +++ b/app/Http/Controllers/Auth/AuthenticatedSessionController.php @@ -38,8 +38,6 @@ class AuthenticatedSessionController extends Controller // Buat token untuk API $token = $user->createToken(env('APP_KEY'))->plainTextToken; - - // Simpan token di session (bisa digunakan di JavaScript) session(['api_token' => $token]); return redirect()->intended(RouteServiceProvider::HOME); diff --git a/app/Http/Controllers/BusinessOrIndustriesController.php b/app/Http/Controllers/BusinessOrIndustriesController.php index b2d5b92..4252c35 100644 --- a/app/Http/Controllers/BusinessOrIndustriesController.php +++ b/app/Http/Controllers/BusinessOrIndustriesController.php @@ -4,15 +4,36 @@ namespace App\Http\Controllers; use App\Models\BusinessOrIndustry; use Illuminate\Http\Request; +use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Auth; class BusinessOrIndustriesController extends Controller { /** * Display a listing of the resource. */ - public function index() + public function index(Request $request) { - return view('business-industries.index'); + $menuId = $request->query('menu_id'); + $user = Auth::user(); + $userId = $user->id; + + // 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('business-industries.index', compact('creator', 'updater', 'destroyer')); } /** diff --git a/app/Http/Controllers/CustomersController.php b/app/Http/Controllers/CustomersController.php index 9c0c8ec..d7c7793 100644 --- a/app/Http/Controllers/CustomersController.php +++ b/app/Http/Controllers/CustomersController.php @@ -4,12 +4,33 @@ namespace App\Http\Controllers; use App\Models\Customer; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; class CustomersController extends Controller { - public function index() + public function index(Request $request) { - return view('customers.index'); + $menuId = $request->query('menu_id'); + $user = Auth::user(); + $userId = $user->id; + + // 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('customers.index', compact('creator', 'updater', 'destroyer')); } public function create() { diff --git a/app/Http/Controllers/Data/AdvertisementController.php b/app/Http/Controllers/Data/AdvertisementController.php index 8140ad2..65275f9 100644 --- a/app/Http/Controllers/Data/AdvertisementController.php +++ b/app/Http/Controllers/Data/AdvertisementController.php @@ -6,15 +6,36 @@ use App\Http\Controllers\Controller; use App\Models\Advertisement; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Auth; class AdvertisementController extends Controller { /** * Display a listing of the resource. */ - public function index() + public function index(Request $request) { - return view('data.advertisements.index'); + $menuId = $request->query('menu_id'); + $user = Auth::user(); + $userId = $user->id; + + // 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.advertisements.index', compact('creator', 'updater', 'destroyer')); } /** diff --git a/app/Http/Controllers/Data/SpatialPlanningController.php b/app/Http/Controllers/Data/SpatialPlanningController.php index cfbb1f2..09c8b9b 100644 --- a/app/Http/Controllers/Data/SpatialPlanningController.php +++ b/app/Http/Controllers/Data/SpatialPlanningController.php @@ -5,15 +5,37 @@ namespace App\Http\Controllers\Data; use App\Http\Controllers\Controller; use App\Models\SpatialPlanning; use Illuminate\Http\Request; +use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Auth; class SpatialPlanningController extends Controller { /** * Display a listing of the resource. */ - public function index() + public function index(Request $request) { - return view('data.spatialPlannings.index'); + $menuId = $request->query('menu_id'); + $user = Auth::user(); + $userId = $user->id; + + // 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.spatialPlannings.index', compact('creator', 'updater', 'destroyer')); } /** diff --git a/app/Http/Controllers/Data/TourismController.php b/app/Http/Controllers/Data/TourismController.php index a36f11e..0809eef 100644 --- a/app/Http/Controllers/Data/TourismController.php +++ b/app/Http/Controllers/Data/TourismController.php @@ -6,15 +6,35 @@ use App\Http\Controllers\Controller; use App\Models\Tourism; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Auth; class TourismController extends Controller { /** * Display a listing of the resource */ - public function index() + public function index(Request $request) { - return view('data.tourisms.index'); + $menuId = $request->query('menu_id'); + $user = Auth::user(); + $userId = $user->id; + + // 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.tourisms.index', compact('creator', 'updater', 'destroyer')); } /** diff --git a/app/Http/Controllers/Data/UmkmController.php b/app/Http/Controllers/Data/UmkmController.php index 01bdef8..27f2cf3 100644 --- a/app/Http/Controllers/Data/UmkmController.php +++ b/app/Http/Controllers/Data/UmkmController.php @@ -6,15 +6,35 @@ use App\Http\Controllers\Controller; use App\Models\Umkm; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Auth; class UmkmController extends Controller { /** * Display a listing of the resource. */ - public function index() + public function index(Request $request) { - return view('data.umkm.index'); + $menuId = $request->query('menu_id'); + $user = Auth::user(); + $userId = $user->id; + + // 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')); } /** diff --git a/app/Http/Controllers/DataSettingController.php b/app/Http/Controllers/DataSettingController.php index 1ed4ab4..9d69e13 100644 --- a/app/Http/Controllers/DataSettingController.php +++ b/app/Http/Controllers/DataSettingController.php @@ -8,15 +8,36 @@ use Exception; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Request; +use Illuminate\Support\Facades\Auth; +use Illuminate\Http\Request as IndexRequest; class DataSettingController extends Controller { /** * Display a listing of the resource. */ - public function index() + public function index(IndexRequest $request) { - return view("data-settings.index"); + $menuId = $request->query('menu_id'); + $user = Auth::user(); + $userId = $user->id; + + // 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-settings.index", compact('creator', 'updater', 'destroyer')); } /** diff --git a/app/Http/Controllers/Master/UsersController.php b/app/Http/Controllers/Master/UsersController.php index 2e50f99..5fa9a60 100644 --- a/app/Http/Controllers/Master/UsersController.php +++ b/app/Http/Controllers/Master/UsersController.php @@ -13,6 +13,7 @@ use Illuminate\Support\Facades\Hash; use App\Models\User; use App\Traits\GlobalApiResponse; use Illuminate\Auth\Events\Registered; +use Illuminate\Support\Facades\Auth; class UsersController extends Controller { @@ -21,9 +22,29 @@ class UsersController extends Controller $users = User::all(); return $this->resSuccess($users); } - public function index(){ + public function index(Request $request){ + $menuId = $request->query('menu_id'); + $user = Auth::user(); + $userId = $user->id; + + // 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; + $users = User::paginate(); - return view('master.users.index', compact('users')); + return view('master.users.index', compact('users', 'creator', 'updater', 'destroyer')); } public function create(){ $roles = Role::all(); diff --git a/app/Http/Controllers/MenusController.php b/app/Http/Controllers/MenusController.php index 0550a35..caf8446 100644 --- a/app/Http/Controllers/MenusController.php +++ b/app/Http/Controllers/MenusController.php @@ -6,15 +6,36 @@ use App\Http\Requests\MenuRequest; use App\Models\Menu; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Auth; class MenusController extends Controller { /** * Display a listing of the resource. */ - public function index() + public function index(Request $request) { - return view('menus.index'); + $menuId = $request->query('menu_id'); + $user = Auth::user(); + $userId = $user->id; + + // 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('menus.index', compact('creator', 'updater', 'destroyer')); } /** diff --git a/app/Http/Controllers/RequestAssignment/PbgTaskController.php b/app/Http/Controllers/RequestAssignment/PbgTaskController.php index a72e44f..cdcdaad 100644 --- a/app/Http/Controllers/RequestAssignment/PbgTaskController.php +++ b/app/Http/Controllers/RequestAssignment/PbgTaskController.php @@ -5,15 +5,37 @@ namespace App\Http\Controllers\RequestAssignment; use App\Http\Controllers\Controller; use App\Models\PbgTask; use Illuminate\Http\Request; +use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Auth; class PbgTaskController extends Controller { /** * Display a listing of the resource. */ - public function index() + public function index(Request $request) { - return view('pbg_task.index'); + $menuId = $request->query('menu_id'); + $user = Auth::user(); + $userId = $user->id; + + // 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('pbg_task.index', compact('creator', 'updater', 'destroyer')); } /** diff --git a/app/Http/Controllers/RolesController.php b/app/Http/Controllers/RolesController.php index ceff492..2547ef1 100644 --- a/app/Http/Controllers/RolesController.php +++ b/app/Http/Controllers/RolesController.php @@ -10,15 +10,36 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Schema; +use Illuminate\Support\Facades\Auth; class RolesController extends Controller { /** * Display a listing of the resource. */ - public function index() + public function index(Request $request) { - return view("roles.index"); + $menuId = $request->query('menu_id'); + $user = Auth::user(); + $userId = $user->id; + + // 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("roles.index", compact('creator', 'updater', 'destroyer')); } /** diff --git a/app/Http/Controllers/Settings/SyncronizeController.php b/app/Http/Controllers/Settings/SyncronizeController.php index f50d5a5..dba436d 100644 --- a/app/Http/Controllers/Settings/SyncronizeController.php +++ b/app/Http/Controllers/Settings/SyncronizeController.php @@ -13,7 +13,27 @@ class SyncronizeController extends Controller $this->service_simbg = $service_simbg; } public function index(Request $request){ - return view('settings.syncronize.index'); + $menuId = $request->query('menu_id'); + $user = Auth::user(); + $userId = $user->id; + + // 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('settings.syncronize.index', compact('creator', 'updater', 'destroyer')); } public function syncPbgTask(){ diff --git a/resources/js/business-industries/index.js b/resources/js/business-industries/index.js index bcba970..256eabc 100644 --- a/resources/js/business-industries/index.js +++ b/resources/js/business-industries/index.js @@ -31,6 +31,11 @@ class BusinessIndustries { let tableContainer = document.getElementById( "table-business-industries" ); + + tableContainer.innerHTML = ""; + let canUpdate = tableContainer.getAttribute("data-updater") === "1"; + let canDelete = tableContainer.getAttribute("data-destroyer") === "1"; + // Create a new Grid.js instance only if it doesn't exist this.table = new Grid({ columns: [ @@ -50,17 +55,30 @@ class BusinessIndustries { { name: "Created", width: "180px" }, { name: "Action", - formatter: (cell) => - gridjs.html(` -