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
@@ -23,17 +23,16 @@ class PostResource extends Resource
// Label dinamis sesuai role
public static function getModelLabel(): string
{
return auth()->user()?->hasAnyRole(['super_admin', 'ketua', 'auditor'])
return auth()->user()?->can('ViewAny:Post') && auth()->user()?->can('Update:Post')
? 'Artikel'
: 'Artikel Saya';
}
// Scope: ketua/super_admin/auditor lihat semua, lainnya hanya milik sendiri
public static function getEloquentQuery(): Builder
{
$query = parent::getEloquentQuery();
if (auth()->user()?->hasAnyRole(['super_admin', 'ketua', 'auditor'])) {
if (auth()->user()?->can('Update:Post')) {
return $query;
}
@@ -13,7 +13,7 @@ class PostForm
{
public static function configure(Schema $schema): Schema
{
$isAdmin = auth()->user()?->hasAnyRole(['super_admin', 'ketua']);
$isAdmin = auth()->user()?->can('Update:Post');
return $schema->components([
TextInput::make('title')->label('Judul')->required()
@@ -16,7 +16,7 @@ class PostsTable
{
public static function configure(Table $table): Table
{
$isAdmin = auth()->user()?->hasAnyRole(['super_admin', 'ketua']);
$isAdmin = auth()->user()?->can('Update:Post');
return $table
->columns([