mirror of
https://github.com/pelican-dev/panel.git
synced 2026-05-04 18:00:48 +03:00
Fix allocation policy for admins and update checks (#2090)
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user