Поле по праву в Filament
Давайте покажем поле по праву. Не каждый элемент интерфейса идёт через политику целиком: отдельное поле можно спрятать на форме. Форма на /admin/posts/create.
В схеме PostForm.php
у компонента вызывают
visible с замыканием.
Внутри проверяют право
update на класс
Post для текущего
пользователя.
Зададим поле slug
только тем, кому разрешена
правка записи:
<?php
namespace App\Filament\Resources\Posts\Schemas;
use App\Models\Post;
use Filament\Forms\Components\TextInput;
use Filament\Schemas\Schema;
class PostForm
{
public static function configure(Schema $schema): Schema
{
return $schema->components([
TextInput::make('slug')
->visible(fn (): bool => auth()->user()->can('update', Post::class)),
]);
}
}
?>
Покажите поле табельного номера работника только тому, кому разрешена правка.