28 lines
636 B
PHP
28 lines
636 B
PHP
<?php
|
|
|
|
namespace App\Filament\Concerns;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
/**
|
|
* Rende la risorsa visibile e accessibile solo al superadmin
|
|
* (menù, pagine e azioni: lista, crea, modifica, elimina).
|
|
*/
|
|
trait SoloSuperadmin
|
|
{
|
|
protected static function isSuperadmin(): bool
|
|
{
|
|
return (bool) auth()->user()?->is_superadmin;
|
|
}
|
|
|
|
public static function canAccess(): bool
|
|
{
|
|
return static::isSuperadmin() && parent::canAccess();
|
|
}
|
|
|
|
public static function can(string $action, ?Model $record = null): bool
|
|
{
|
|
return static::isSuperadmin() && parent::can($action, $record);
|
|
}
|
|
}
|