From f06fe56f659fd42637f61675b92e14a7e5b82613 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Wed, 12 Nov 2025 11:54:54 +0700 Subject: [PATCH] fix(role): menyesuaikan role permissiona nya --- app/Providers/ViewServiceProvider.php | 2 +- database/seeders/RolePermissionSeeder.php | 25 ++++++++++++++++++----- routes/pages/studio.php | 2 +- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/app/Providers/ViewServiceProvider.php b/app/Providers/ViewServiceProvider.php index fe9d011..a3239f6 100644 --- a/app/Providers/ViewServiceProvider.php +++ b/app/Providers/ViewServiceProvider.php @@ -19,7 +19,7 @@ public function boot(): void 'icon' => 'squares-plus', 'route' => 'studio.dashboard.overview', 'match' => 'studio.dashboard.overview', - 'can' => 'view overview', + 'can' => 'view studio overview', ], [ 'label' => 'Analisa', diff --git a/database/seeders/RolePermissionSeeder.php b/database/seeders/RolePermissionSeeder.php index f4ba740..a27d1d6 100644 --- a/database/seeders/RolePermissionSeeder.php +++ b/database/seeders/RolePermissionSeeder.php @@ -27,7 +27,10 @@ public function run(): void 'view password', 'update password', - 'view overview', + 'view studio overview', + 'view member overview', + 'view partner overview', + 'view analysis', 'view outlet', @@ -152,11 +155,20 @@ public function run(): void Permission::firstOrCreate(['name' => $permission]); } - $developer->syncPermissions($permissions); + $developer->syncPermissions($permissions, array_diff($permissions, [ + 'view member overview', + 'view partner overview', + ])); - $owner->syncPermissions($permissions); + $owner->syncPermissions($permissions, array_diff($permissions, [ + 'view member overview', + 'view partner overview', + ])); $leader->syncPermissions(array_diff($permissions, [ + 'view member overview', + 'view partner overview', + 'view outlet', 'create outlet', 'update outlet', @@ -192,6 +204,9 @@ public function run(): void ])); $admin->syncPermissions(array_diff($permissions, [ + 'view member overview', + 'view partner overview', + 'view outlet', 'create outlet', 'update outlet', @@ -240,7 +255,7 @@ public function run(): void ])); $partner->syncPermissions([ - 'view overview', + 'view member overview', 'view account', 'update account', @@ -253,7 +268,7 @@ public function run(): void ]); $customer->syncPermissions([ - 'view overview', + 'view partner overview', 'view account', 'update account', diff --git a/routes/pages/studio.php b/routes/pages/studio.php index 6c30b62..393ebba 100644 --- a/routes/pages/studio.php +++ b/routes/pages/studio.php @@ -57,7 +57,7 @@ }); Route::prefix('dashboard')->name('studio.dashboard.')->group(function () { - Route::get('/overview', OverviewComponent::class)->name('overview')->middleware('can:view overview'); + Route::get('/overview', OverviewComponent::class)->name('overview')->middleware('can:view studio overview'); Route::get('/analysis', AnalysisComponent::class)->name('analysis')->middleware('can:view analysis'); });