diff --git a/app/Policies/AllocationPolicy.php b/app/Policies/AllocationPolicy.php index 99b05fbed..e5c6ddbdf 100644 --- a/app/Policies/AllocationPolicy.php +++ b/app/Policies/AllocationPolicy.php @@ -3,34 +3,69 @@ namespace App\Policies; use App\Enums\SubuserPermission; +use App\Models\Server; use App\Models\User; use Filament\Facades\Filament; use Illuminate\Database\Eloquent\Model; class AllocationPolicy { - public function viewAny(User $user): bool - { - return $user->can(SubuserPermission::AllocationRead, Filament::getTenant()); + use DefaultAdminPolicies { + viewAny as adminViewAny; + view as adminView; + create as adminCreate; + update as adminUpdate; + delete as adminDelete; + deleteAny as adminDeleteAny; } - public function view(User $user, Model $record): bool + protected string $modelName = 'allocation'; + + public function viewAny(User $user): bool { - return $user->can(SubuserPermission::AllocationRead, Filament::getTenant()); + /** @var ?Server $server */ + $server = Filament::getTenant(); + + return $server ? $user->can(SubuserPermission::AllocationRead, $server) : $this->adminViewAny($user); + } + + public function view(User $user, Model $model): bool + { + /** @var ?Server $server */ + $server = Filament::getTenant(); + + return $server ? $user->can(SubuserPermission::AllocationRead, $server) : $this->adminView($user, $model); } public function create(User $user): bool { - return $user->can(SubuserPermission::AllocationCreate, Filament::getTenant()); + /** @var ?Server $server */ + $server = Filament::getTenant(); + + return $server ? $user->can(SubuserPermission::AllocationCreate, $server) : $this->adminCreate($user); } - public function edit(User $user, Model $record): bool + public function update(User $user, Model $model): bool { - return $user->can(SubuserPermission::AllocationUpdate, Filament::getTenant()); + /** @var ?Server $server */ + $server = Filament::getTenant(); + + return $server ? $user->can(SubuserPermission::AllocationUpdate, $server) : $this->adminUpdate($user, $model); } - public function delete(User $user, Model $record): bool + public function delete(User $user, Model $model): bool { - return $user->can(SubuserPermission::AllocationDelete, Filament::getTenant()); + /** @var ?Server $server */ + $server = Filament::getTenant(); + + return $server ? $user->can(SubuserPermission::AllocationDelete, $server) : $this->adminDelete($user, $model); + } + + public function deleteAny(User $user): bool + { + /** @var ?Server $server */ + $server = Filament::getTenant(); + + return $server ? $user->can(SubuserPermission::AllocationDelete, $server) : $this->adminDeleteAny($user); } } diff --git a/app/Policies/BackupPolicy.php b/app/Policies/BackupPolicy.php index 4c2dbee3d..1407f5fff 100644 --- a/app/Policies/BackupPolicy.php +++ b/app/Policies/BackupPolicy.php @@ -14,7 +14,7 @@ class BackupPolicy return $user->can(SubuserPermission::BackupRead, Filament::getTenant()); } - public function view(User $user, Model $record): bool + public function view(User $user, Model $model): bool { return $user->can(SubuserPermission::BackupRead, Filament::getTenant()); } @@ -24,7 +24,7 @@ class BackupPolicy return $user->can(SubuserPermission::BackupCreate, Filament::getTenant()); } - public function delete(User $user, Model $record): bool + public function delete(User $user, Model $model): bool { return $user->can(SubuserPermission::BackupDelete, Filament::getTenant()); } diff --git a/app/Policies/DatabasePolicy.php b/app/Policies/DatabasePolicy.php index 16ddfd39b..e14fa9103 100644 --- a/app/Policies/DatabasePolicy.php +++ b/app/Policies/DatabasePolicy.php @@ -14,7 +14,7 @@ class DatabasePolicy return $user->can(SubuserPermission::DatabaseRead, Filament::getTenant()); } - public function view(User $user, Model $record): bool + public function view(User $user, Model $model): bool { return $user->can(SubuserPermission::DatabaseRead, Filament::getTenant()); } @@ -24,12 +24,12 @@ class DatabasePolicy return $user->can(SubuserPermission::DatabaseCreate, Filament::getTenant()); } - public function edit(User $user, Model $record): bool + public function update(User $user, Model $model): bool { return $user->can(SubuserPermission::DatabaseUpdate, Filament::getTenant()); } - public function delete(User $user, Model $record): bool + public function delete(User $user, Model $model): bool { return $user->can(SubuserPermission::DatabaseDelete, Filament::getTenant()); } diff --git a/app/Policies/FilePolicy.php b/app/Policies/FilePolicy.php index ec8c4b46d..3940b7e0a 100644 --- a/app/Policies/FilePolicy.php +++ b/app/Policies/FilePolicy.php @@ -14,7 +14,7 @@ class FilePolicy return $user->can(SubuserPermission::FileRead, Filament::getTenant()); } - public function view(User $user, Model $record): bool + public function view(User $user, Model $model): bool { return $user->can(SubuserPermission::FileReadContent, Filament::getTenant()); } @@ -24,12 +24,12 @@ class FilePolicy return $user->can(SubuserPermission::FileCreate, Filament::getTenant()); } - public function edit(User $user, Model $record): bool + public function update(User $user, Model $model): bool { return $user->can(SubuserPermission::FileUpdate, Filament::getTenant()); } - public function delete(User $user, Model $record): bool + public function delete(User $user, Model $model): bool { return $user->can(SubuserPermission::FileDelete, Filament::getTenant()); } diff --git a/app/Policies/SchedulePolicy.php b/app/Policies/SchedulePolicy.php index 9c7cac88a..4802d88f4 100644 --- a/app/Policies/SchedulePolicy.php +++ b/app/Policies/SchedulePolicy.php @@ -14,7 +14,7 @@ class SchedulePolicy return $user->can(SubuserPermission::ScheduleRead, Filament::getTenant()); } - public function view(User $user, Model $record): bool + public function view(User $user, Model $model): bool { return $user->can(SubuserPermission::ScheduleRead, Filament::getTenant()); } @@ -24,12 +24,12 @@ class SchedulePolicy return $user->can(SubuserPermission::ScheduleCreate, Filament::getTenant()); } - public function edit(User $user, Model $record): bool + public function update(User $user, Model $model): bool { return $user->can(SubuserPermission::ScheduleUpdate, Filament::getTenant()); } - public function delete(User $user, Model $record): bool + public function delete(User $user, Model $model): bool { return $user->can(SubuserPermission::ScheduleDelete, Filament::getTenant()); } diff --git a/app/Policies/SubuserPolicy.php b/app/Policies/SubuserPolicy.php index 63d0fb8df..37b88089d 100644 --- a/app/Policies/SubuserPolicy.php +++ b/app/Policies/SubuserPolicy.php @@ -14,7 +14,7 @@ class SubuserPolicy return $user->can(SubuserPermission::UserRead, Filament::getTenant()); } - public function view(User $user, Model $record): bool + public function view(User $user, Model $model): bool { return $user->can(SubuserPermission::UserRead, Filament::getTenant()); } @@ -24,12 +24,12 @@ class SubuserPolicy return $user->can(SubuserPermission::UserCreate, Filament::getTenant()); } - public function edit(User $user, Model $record): bool + public function update(User $user, Model $model): bool { return $user->can(SubuserPermission::UserUpdate, Filament::getTenant()); } - public function delete(User $user, Model $record): bool + public function delete(User $user, Model $model): bool { return $user->can(SubuserPermission::UserDelete, Filament::getTenant()); }