Pages · Laravilt
Resource Authorization
Control who can list, view, create, update and delete a resource's records.
Every resource has static authorization methods. By default they check permissions (via spatie/laravel-permission, as set up by the Users package) named {action}_{model} in snake case. For example: view_any_user, view_user, create_user, update_user, delete_user.
Available Checks
| Method | Default permission |
|---|---|
canViewAny() | view_any_{model} |
canView(?Model $record) | view_{model} |
canCreate() | create_{model} |
canUpdate(?Model $record) | update_{model} |
canDelete(?Model $record) | delete_{model} |
canRestore(?Model $record) | restore_{model} |
canForceDelete(?Model $record) | force_delete_{model} |
canReplicate(?Model $record) | replicate_{model} |
canReorder() | reorder_{model} |
canAccess() | Access to the resource at all |
The separator, case and super-admin bypass are set in the Users package config (laravilt-users.permissions.*, laravilt-users.super_admin.*).
Custom Authorization
Override any of the methods:
php
Hiding from Navigation
A resource appears in the sidebar when $navigationVisible is true and canAccess() passes:
php
For conditional visibility, override isNavigationVisible():
php