diff --git a/app/Helpers/CustomHelper.php b/app/Helpers/CustomHelper.php index 53726a0..4968eaa 100644 --- a/app/Helpers/CustomHelper.php +++ b/app/Helpers/CustomHelper.php @@ -196,7 +196,6 @@ function is_file_exists($path) return File::exists(public_path('storage/' . $path)); } } -// } if (!function_exists('get_role_name')) { function get_role_name($role = null) { @@ -214,6 +213,8 @@ function get_role_name($role = null) { return "Perusahaan"; case '4': return "Admin Konten"; + case '5': + return "Admin Keuangan"; default: return "Role Tidak Dikenal"; } diff --git a/app/Http/Controllers/Dashboard/CompanyController.php b/app/Http/Controllers/Dashboard/CompanyController.php index 6ddfd93..6aad86f 100644 --- a/app/Http/Controllers/Dashboard/CompanyController.php +++ b/app/Http/Controllers/Dashboard/CompanyController.php @@ -22,7 +22,7 @@ class CompanyController extends Controller { public function index(Request $request){ - if(is_role(['1'])){ + if(is_role(['1', '5'])){ return view('dashboard.companies.admin.index',[ 'title' => 'Data Perusahaan', 'status' => $request->input('status', null), diff --git a/app/Http/Controllers/Dashboard/JournalistController.php b/app/Http/Controllers/Dashboard/JournalistController.php index dd770b8..c886272 100644 --- a/app/Http/Controllers/Dashboard/JournalistController.php +++ b/app/Http/Controllers/Dashboard/JournalistController.php @@ -17,7 +17,7 @@ class JournalistController extends Controller { public function index(Request $request){ - if(is_role(['1'])){ + if(is_role(['1', '5'])){ if($request->has('media_ids') && $request->input('media_ids') && count($request->input('media_ids')) > 10){ return redirect()->back()->with('failed-status', 'Hanya bisa memfilter 10 media'); diff --git a/app/Http/Controllers/Dashboard/MediaController.php b/app/Http/Controllers/Dashboard/MediaController.php index 6fbf86e..1896c30 100644 --- a/app/Http/Controllers/Dashboard/MediaController.php +++ b/app/Http/Controllers/Dashboard/MediaController.php @@ -18,7 +18,7 @@ class MediaController extends Controller { public function index(Request $request){ - if(is_role(['1'])){ + if(is_role(['1', '5'])){ return view('dashboard.media.admin.index',[ 'title' => 'Data Media', 'type' => $request->input('type', null), diff --git a/app/Http/Requests/UserRequest.php b/app/Http/Requests/UserRequest.php index 548cb3b..7f54ca6 100644 --- a/app/Http/Requests/UserRequest.php +++ b/app/Http/Requests/UserRequest.php @@ -26,7 +26,7 @@ public function rules(): array { $rules = [ 'name' => ['required', 'max:100'], - 'role_id' => ['required', 'in:1,2,3,4', 'not_in:select'], + 'role_id' => ['required', 'in:1,2,3,4,5', 'not_in:select'], 'status' => ['required', 'in:1,2', 'not_in:select'], ]; @@ -65,7 +65,7 @@ public function messages() 'email.max' => 'Email tidak boleh lebih dari 100 karakter.', 'role_id.required' => 'Role wajib dipilih.', - 'role_id.in' => 'Role harus salah satu dari: Admin, Admin Monitoring, atau Admin Konten.', + 'role_id.in' => 'Role harus salah satu dari: Admin, Admin Monitoring, Admin Konten, atau Admin Keuangan.', 'status.required' => 'Status wajib dipilih.', 'status.in' => 'Status harus salah satu dari: Aktif, atau Nonaktif.', diff --git a/database/seeders/RoleSeeder.php b/database/seeders/RoleSeeder.php index 0edb7a2..4243586 100644 --- a/database/seeders/RoleSeeder.php +++ b/database/seeders/RoleSeeder.php @@ -18,6 +18,7 @@ public function run(): void ['name' => "Admin Monitoring", 'description' => null], ['name' => "Perusahaan", 'description' => null], ['name' => "Admin Konten", 'description' => null], + ['name' => "Admin Keuangan", 'description' => null], ]); } } diff --git a/resources/views/partials/app/datatable.blade.php b/resources/views/partials/app/datatable.blade.php index 4edcac2..eb1bc22 100644 --- a/resources/views/partials/app/datatable.blade.php +++ b/resources/views/partials/app/datatable.blade.php @@ -1317,12 +1317,13 @@ { data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false }, { data: 'name', name: 'name' }, { data: 'account_count', name: 'account_count' }, + { data: 'created_at', name: 'created_at' }, { data: 'id', name: 'id', orderable: true, searchable: false, visible: false }, ], language: datatableLanguage, responsive: true, autoWidth: false, - order: [[1, 'desc']], + order: [[3, 'desc']], pagingType: "simple", lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']], scrollX: true diff --git a/routes/web.php b/routes/web.php index a58b18d..b6a66c2 100644 --- a/routes/web.php +++ b/routes/web.php @@ -73,7 +73,7 @@ }); }); -Route::middleware(['auth', 'role:1,2,3,4', 'announcement'])->group(function(){ +Route::middleware(['auth', 'role:1,2,3,4,5', 'announcement'])->group(function(){ Route::prefix('dashboard')->name('dashboard.')->group(function(){ Route::controller(OverviewController::class)->group(function(){ Route::get('/overview', 'index')->name('overview'); @@ -272,7 +272,7 @@ }); }); - Route::middleware('role:1,3')->group(function(){ + Route::middleware('role:1,3,5')->group(function(){ Route::prefix('companies')->name('companies.')->group(function(){ Route::controller(CompanyController::class)->group(function(){ Route::get('/', 'index')->name('index'); @@ -299,7 +299,7 @@ }); }); - Route::middleware('role:1,3')->group(function(){ + Route::middleware('role:1,3,5')->group(function(){ Route::prefix('media')->name('media.')->group(function(){ Route::controller(MediaController::class)->group(function(){ Route::get('/', 'index')->name('index'); @@ -327,7 +327,7 @@ }); }); - Route::middleware('role:1,3')->group(function(){ + Route::middleware('role:1,3,5')->group(function(){ Route::prefix('journalists')->name('journalists.')->group(function(){ Route::controller(JournalistController::class)->group(function(){ Route::get('/', 'index')->name('index');