Add deleteAny
and replicate
to policies (#1030)
* add `deleteAny` to policies * add `replicate` to policies
This commit is contained in:
parent
fe8e6fcfda
commit
2f56ca5ed5
@ -78,8 +78,7 @@ class DatabaseHostResource extends Resource
|
|||||||
EditAction::make(),
|
EditAction::make(),
|
||||||
])
|
])
|
||||||
->groupedBulkActions([
|
->groupedBulkActions([
|
||||||
DeleteBulkAction::make()
|
DeleteBulkAction::make(),
|
||||||
->authorize(fn () => auth()->user()->can('delete databasehost')),
|
|
||||||
])
|
])
|
||||||
->emptyStateIcon('tabler-database')
|
->emptyStateIcon('tabler-database')
|
||||||
->emptyStateDescription('')
|
->emptyStateDescription('')
|
||||||
|
@ -10,7 +10,6 @@ use App\Filament\Components\Tables\Actions\UpdateEggAction;
|
|||||||
use App\Models\Egg;
|
use App\Models\Egg;
|
||||||
use Filament\Actions\CreateAction as CreateHeaderAction;
|
use Filament\Actions\CreateAction as CreateHeaderAction;
|
||||||
use Filament\Resources\Pages\ListRecords;
|
use Filament\Resources\Pages\ListRecords;
|
||||||
use Filament\Tables\Actions\BulkActionGroup;
|
|
||||||
use Filament\Tables\Actions\CreateAction;
|
use Filament\Tables\Actions\CreateAction;
|
||||||
use Filament\Tables\Actions\DeleteBulkAction;
|
use Filament\Tables\Actions\DeleteBulkAction;
|
||||||
use Filament\Tables\Actions\EditAction;
|
use Filament\Tables\Actions\EditAction;
|
||||||
@ -66,14 +65,10 @@ class ListEggs extends ListRecords
|
|||||||
$replica->uuid = Str::uuid()->toString();
|
$replica->uuid = Str::uuid()->toString();
|
||||||
})
|
})
|
||||||
->after(fn (Egg $record, Egg $replica) => $record->variables->each(fn ($variable) => $variable->replicate()->fill(['egg_id' => $replica->id])->save()))
|
->after(fn (Egg $record, Egg $replica) => $record->variables->each(fn ($variable) => $variable->replicate()->fill(['egg_id' => $replica->id])->save()))
|
||||||
->successRedirectUrl(fn (Egg $replica) => EditEgg::getUrl(['record' => $replica]))
|
->successRedirectUrl(fn (Egg $replica) => EditEgg::getUrl(['record' => $replica])),
|
||||||
->authorize(fn () => auth()->user()->can('create egg')),
|
|
||||||
])
|
])
|
||||||
->bulkActions([
|
->groupedBulkActions([
|
||||||
BulkActionGroup::make([
|
DeleteBulkAction::make(),
|
||||||
DeleteBulkAction::make()
|
|
||||||
->authorize(fn () => auth()->user()->can('delete egg')),
|
|
||||||
]),
|
|
||||||
])
|
])
|
||||||
->emptyStateIcon('tabler-eggs')
|
->emptyStateIcon('tabler-eggs')
|
||||||
->emptyStateDescription('')
|
->emptyStateDescription('')
|
||||||
|
@ -83,8 +83,7 @@ class MountResource extends Resource
|
|||||||
EditAction::make(),
|
EditAction::make(),
|
||||||
])
|
])
|
||||||
->groupedBulkActions([
|
->groupedBulkActions([
|
||||||
DeleteBulkAction::make()
|
DeleteBulkAction::make(),
|
||||||
->authorize(fn () => auth()->user()->can('delete mount')),
|
|
||||||
])
|
])
|
||||||
->emptyStateIcon('tabler-layers-linked')
|
->emptyStateIcon('tabler-layers-linked')
|
||||||
->emptyStateDescription('')
|
->emptyStateDescription('')
|
||||||
|
@ -82,8 +82,7 @@ class RoleResource extends Resource
|
|||||||
])
|
])
|
||||||
->checkIfRecordIsSelectableUsing(fn (Role $role) => !$role->isRootAdmin() && $role->users_count <= 0)
|
->checkIfRecordIsSelectableUsing(fn (Role $role) => !$role->isRootAdmin() && $role->users_count <= 0)
|
||||||
->groupedBulkActions([
|
->groupedBulkActions([
|
||||||
DeleteBulkAction::make()
|
DeleteBulkAction::make(),
|
||||||
->authorize(fn () => auth()->user()->can('delete role')),
|
|
||||||
])
|
])
|
||||||
->emptyStateIcon('tabler-users-group')
|
->emptyStateIcon('tabler-users-group')
|
||||||
->emptyStateDescription('')
|
->emptyStateDescription('')
|
||||||
|
@ -92,8 +92,7 @@ class UserResource extends Resource
|
|||||||
])
|
])
|
||||||
->checkIfRecordIsSelectableUsing(fn (User $user) => auth()->user()->id !== $user->id && !$user->servers_count)
|
->checkIfRecordIsSelectableUsing(fn (User $user) => auth()->user()->id !== $user->id && !$user->servers_count)
|
||||||
->groupedBulkActions([
|
->groupedBulkActions([
|
||||||
DeleteBulkAction::make()
|
DeleteBulkAction::make(),
|
||||||
->authorize(fn () => auth()->user()->can('delete user')),
|
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,8 +65,7 @@ class WebhookResource extends Resource
|
|||||||
DeleteAction::make(),
|
DeleteAction::make(),
|
||||||
])
|
])
|
||||||
->groupedBulkActions([
|
->groupedBulkActions([
|
||||||
DeleteBulkAction::make()
|
DeleteBulkAction::make(),
|
||||||
->authorize(fn () => auth()->user()->can('delete webhook')),
|
|
||||||
])
|
])
|
||||||
->emptyStateIcon('tabler-webhook')
|
->emptyStateIcon('tabler-webhook')
|
||||||
->emptyStateDescription('')
|
->emptyStateDescription('')
|
||||||
|
@ -7,43 +7,38 @@ use Illuminate\Database\Eloquent\Model;
|
|||||||
|
|
||||||
trait DefaultPolicies
|
trait DefaultPolicies
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* Determine whether the user can view any models.
|
|
||||||
*/
|
|
||||||
public function viewAny(User $user): bool
|
public function viewAny(User $user): bool
|
||||||
{
|
{
|
||||||
return $user->can('viewList ' . $this->modelName);
|
return $user->can('viewList ' . $this->modelName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Determine whether the user can view the model.
|
|
||||||
*/
|
|
||||||
public function view(User $user, Model $model): bool
|
public function view(User $user, Model $model): bool
|
||||||
{
|
{
|
||||||
return $user->can('view ' . $this->modelName, $model);
|
return $user->can('view ' . $this->modelName, $model);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Determine whether the user can create models.
|
|
||||||
*/
|
|
||||||
public function create(User $user): bool
|
public function create(User $user): bool
|
||||||
{
|
{
|
||||||
return $user->can('create ' . $this->modelName);
|
return $user->can('create ' . $this->modelName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Determine whether the user can update the model.
|
|
||||||
*/
|
|
||||||
public function update(User $user, Model $model): bool
|
public function update(User $user, Model $model): bool
|
||||||
{
|
{
|
||||||
return $user->can('update ' . $this->modelName, $model);
|
return $user->can('update ' . $this->modelName, $model);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Determine whether the user can delete the model.
|
|
||||||
*/
|
|
||||||
public function delete(User $user, Model $model): bool
|
public function delete(User $user, Model $model): bool
|
||||||
{
|
{
|
||||||
return $user->can('delete ' . $this->modelName, $model);
|
return $user->can('delete ' . $this->modelName, $model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function deleteAny(User $user): bool
|
||||||
|
{
|
||||||
|
return $user->can('delete ' . $this->modelName);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function replicate(User $user, Model $model): bool
|
||||||
|
{
|
||||||
|
return $user->can('create ' . $this->modelName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user