Implementing Authorization for Creating Options
- Published: 15 Apr 2024 Updated: 04 May 2024
How to Apply Authorization on Create Option Action for Select Field
When using createOptionForm for a select menu, you can customize the add action (+). One important thing is to add authorization to that action, for example, from a policy.
This will hide the add button next to the select menu when the user is not authorized to create, and the same goes for the edit action.
1Select::make('category_id')
2 //...
3 ->relationship(...)
4 ->createOptionForm(...)
5 ->createOptionAction(
6 fn(Action $action) => $action->hidden(
7 auth()->user()->cannot(
8 'create',
9 Category::class
10 )
11 )
12 ),
Related Tricks:
Custom copy action, click the icon to copy the content
Translating components can often be a repetitive task, Fortunately, there's a neat trick to automate this process, making your components instantly translatable.
Form Builder lets you build dynamic, versioned forms in Filament and attach them to any model. Responses are stored in JSON with zero boilerplate.
how to use a resource with multiple models
get translatable attribute in a relationships