diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index 8a52e5d..1eda1b9 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -56,6 +56,7 @@ class AuthServiceProvider extends ServiceProvider { // General permissions... Gate::define('isMe', fn ($user) => $user->isMe()); + Gate::define('isSuperAdmin', fn ($user) => $user->isSuperAdmin()); Gate::define('isAdmin', fn ($user) => $user->isAdmin()); Gate::define('systemUser', fn ($user) => $user->isSystemUser()); diff --git a/app/Providers/NovaServiceProvider.php b/app/Providers/NovaServiceProvider.php index e7cbd44..35d94d6 100644 --- a/app/Providers/NovaServiceProvider.php +++ b/app/Providers/NovaServiceProvider.php @@ -98,7 +98,7 @@ class NovaServiceProvider extends NovaApplicationServiceProvider ->onSwitchLocale(NovaRepo::localeSwitcherSave()), BackupTool::make() - ->canSee(NovaRepo::isAdmin()), + ->canSee(NovaRepo::isSuperAdmin()), LogsTool::make() ->canSee(NovaRepo::isMe()) diff --git a/app/Repos/System/Nova/NovaRepo.php b/app/Repos/System/Nova/NovaRepo.php index b8808b3..ec328d9 100644 --- a/app/Repos/System/Nova/NovaRepo.php +++ b/app/Repos/System/Nova/NovaRepo.php @@ -86,7 +86,15 @@ class NovaRepo /** * Check if user is admin */ - public function isAdmin(): Closure + public static function isSuperAdmin(): Closure + { + return fn () => Gate::allows('isSuperAdmin', auth()->user()); + } + + /** + * Check if user is admin + */ + public static function isAdmin(): Closure { return fn () => Gate::allows('isAdmin', auth()->user()); }