refactor: restrict action visibility to administrator and developer roles across cooperation and report modules
This commit is contained in:
parent
64f521adcc
commit
fbb0f92b37
@ -7,10 +7,8 @@
|
||||
use App\Enums\RoleEnum;
|
||||
use App\Filament\Support\CheerfulNotification;
|
||||
use App\Models\Cooperation;
|
||||
use App\Models\User;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Support\Icons\Heroicon;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class CompleteCooperationAction extends Action
|
||||
{
|
||||
@ -98,10 +96,7 @@ protected function setUp(): void
|
||||
)->send();
|
||||
})
|
||||
->visible(function (Cooperation $record): bool {
|
||||
/** @var User $user */
|
||||
$user = Auth::user();
|
||||
|
||||
return $user && ! $user->hasRole(RoleEnum::PERUSAHAAN->value)
|
||||
return auth()->user()->hasRole([RoleEnum::ADMINISTRATOR->value, RoleEnum::DEVELOPER->value])
|
||||
&& $record->status === CooperationStatus::PAYMENT;
|
||||
});
|
||||
}
|
||||
|
||||
@ -54,6 +54,6 @@ protected function setUp(): void
|
||||
]));
|
||||
}
|
||||
})
|
||||
->visible(fn (CooperationProposal $record): bool => ! auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value) && $record->status === ApprovalStatus::PENDING);
|
||||
->visible(fn (CooperationProposal $record): bool => auth()->user()->hasRole([RoleEnum::ADMINISTRATOR->value, RoleEnum::DEVELOPER->value]) && $record->status === ApprovalStatus::PENDING);
|
||||
}
|
||||
}
|
||||
|
||||
@ -63,7 +63,7 @@ protected function setUp(): void
|
||||
]));
|
||||
}
|
||||
})
|
||||
->visible(fn (CooperationProposal $record): bool => ! auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value) && $record->status === ApprovalStatus::PENDING)
|
||||
->visible(fn (CooperationProposal $record): bool => auth()->user()->hasRole([RoleEnum::ADMINISTRATOR->value, RoleEnum::DEVELOPER->value]) && $record->status === ApprovalStatus::PENDING)
|
||||
->modalWidth(Width::Large);
|
||||
}
|
||||
}
|
||||
|
||||
@ -51,7 +51,7 @@ protected function setUp(): void
|
||||
})
|
||||
->visible(
|
||||
fn (Report $record): bool => $record->mediaTaskAssignment?->taskAssignment?->cooperation?->status === CooperationStatus::ASSIGNMENT &&
|
||||
! auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value) &&
|
||||
auth()->user()->hasRole([RoleEnum::ADMINISTRATOR->value, RoleEnum::DEVELOPER->value]) &&
|
||||
$record->status === ApprovalStatus::PENDING
|
||||
);
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Filament\Resources\Manage\Cooperations\Actions\Report;
|
||||
|
||||
use App\Enums\RoleEnum;
|
||||
use App\Settings\GeneralSettings;
|
||||
use Barryvdh\DomPDF\Facade\Pdf;
|
||||
use Filament\Actions\Action;
|
||||
@ -54,6 +55,7 @@ protected function setUp(): void
|
||||
])
|
||||
)->output();
|
||||
}, 'rekap-bukti-tayang.pdf');
|
||||
});
|
||||
})
|
||||
->visible(fn () => auth()->user()->hasRole([RoleEnum::ADMINISTRATOR->value, RoleEnum::DEVELOPER->value]));
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Filament\Resources\Manage\Cooperations\Actions\Report;
|
||||
|
||||
use App\Enums\RoleEnum;
|
||||
use App\Models\Report;
|
||||
use App\Settings\GeneralSettings;
|
||||
use Barryvdh\DomPDF\Facade\Pdf;
|
||||
@ -53,6 +54,7 @@ protected function setUp(): void
|
||||
])
|
||||
)->output();
|
||||
}, str($record->title)->slug().'.pdf');
|
||||
});
|
||||
})
|
||||
->visible(fn () => auth()->user()->hasRole([RoleEnum::ADMINISTRATOR->value, RoleEnum::DEVELOPER->value]));
|
||||
}
|
||||
}
|
||||
|
||||
@ -63,7 +63,7 @@ protected function setUp(): void
|
||||
})
|
||||
->visible(
|
||||
fn (Report $record): bool => $record->mediaTaskAssignment?->taskAssignment?->cooperation?->status === CooperationStatus::ASSIGNMENT &&
|
||||
! auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value) &&
|
||||
auth()->user()->hasRole([RoleEnum::ADMINISTRATOR->value, RoleEnum::DEVELOPER->value]) &&
|
||||
$record->status === ApprovalStatus::PENDING
|
||||
)
|
||||
->modalWidth(Width::Large);
|
||||
|
||||
@ -20,7 +20,7 @@ protected function getHeaderActions(): array
|
||||
return [
|
||||
CreateAction::make()
|
||||
->label('Tambah')
|
||||
->visible(! auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value)),
|
||||
->visible(auth()->user()->hasRole([RoleEnum::ADMINISTRATOR->value, RoleEnum::DEVELOPER->value])),
|
||||
|
||||
ExportAction::make()
|
||||
->exports([
|
||||
@ -28,7 +28,7 @@ protected function getHeaderActions(): array
|
||||
])
|
||||
->color('success')
|
||||
->icon(null)
|
||||
->visible(! auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value)),
|
||||
->visible(auth()->user()->hasRole([RoleEnum::ADMINISTRATOR->value, RoleEnum::DEVELOPER->value])),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user