user()->can('ver roles'); } public static function form(Form $form): Form { return $form ->schema([ Forms\Components\TextInput::make('name') ->label('Nombre del Rol') ->required() ->unique(ignoreRecord: true) ->maxLength(255), Forms\Components\MultiSelect::make('permissions') ->label('Permisos') ->relationship('permissions', 'name') ->options(Permission::pluck('name', 'id')) ->searchable() ->preload() ->columnSpanFull(), ]); } public static function table(Table $table): Table { return $table ->columns([ Tables\Columns\TextColumn::make('id')->sortable(), Tables\Columns\TextColumn::make('name') ->label('Rol') ->sortable() ->searchable(), Tables\Columns\TextColumn::make('permissions.name') ->label('Permisos') ->badge() ->separator(', '), Tables\Columns\TextColumn::make('created_at') ->label('Creado el') ->dateTime('d/m/Y H:i') ->sortable(), ]) ->paginated(true) //->paginationPageOptions([50]) ->defaultSort('created_at', 'desc') ->filters([ // ]) ->actions([ Tables\Actions\EditAction::make()->visible(fn($record) => $record->name !== 'Super Admin'), Tables\Actions\DeleteAction::make()->visible(fn($record) => $record->name !== 'Super Admin'), ]) ->bulkActions([ Tables\Actions\DeleteBulkAction::make(), ]); } public static function getRelations(): array { return []; } public static function getPages(): array { return [ 'index' => Pages\ListRoles::route('/'), 'create' => Pages\CreateRole::route('/create'), 'edit' => Pages\EditRole::route('/{record}/edit'), ]; } }