fix: hapus hardcode role, ganti dengan permission check (can())
This commit is contained in:
@@ -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([
|
||||
|
||||
Reference in New Issue
Block a user