fix: hapus hardcode role, ganti dengan permission check (can())

This commit is contained in:
2026-04-04 09:44:14 +07:00
parent 70bb914e54
commit d3d7c6e422
7 changed files with 16 additions and 12 deletions
@@ -67,7 +67,7 @@ class CashRecordsTable
->color('success')
->requiresConfirmation()
->visible(function (CashRecord $record): bool {
if (! auth()->user()->hasAnyRole(['ketua', 'super_admin'])) return false;
if (! auth()->user()->can('Update:Approval')) return false;
if ($record->amount < 500_000 || $record->amount > 2_000_000) return false;
$approval = Approval::where('model_type', CashRecord::class)
->where('model_id', $record->id)->first();
@@ -101,7 +101,7 @@ class CashRecordsTable
->icon('heroicon-o-x-circle')
->color('danger')
->visible(function (CashRecord $record): bool {
if (! auth()->user()->hasAnyRole(['ketua', 'super_admin'])) return false;
if (! auth()->user()->can('Update:Approval')) return false;
if ($record->amount < 500_000 || $record->amount > 2_000_000) return false;
$approval = Approval::where('model_type', CashRecord::class)
->where('model_id', $record->id)->first();
@@ -137,7 +137,7 @@ class CashRecordsTable
->requiresConfirmation()
->hidden(fn (CashRecord $record) => $record->verified_at !== null)
->visible(function (CashRecord $record): bool {
if (! auth()->user()->hasAnyRole(['ketua', 'super_admin', 'bendahara'])) return false;
if (! auth()->user()->can('Update:CashRecord')) return false;
if ($record->verified_at) return false;
// Cek threshold
if ($record->amount >= 500_000 && $record->amount <= 2_000_000) {