*/ public static $model = \App\Models\User::class; /** * The single value that should be used to represent the resource when being displayed. * * @var string */ public static $title = 'name'; /** * The columns that should be searched. * * @var array */ public static $search = [ 'id', 'name', 'email', 'department', 'job_title', ]; /** * Get the fields displayed by the resource. * * @return array */ public function fields(NovaRequest $request): array { return [ ID::make()->sortable(), BelongsTo::make('Role', 'role', RoleResource::class) ->sortable() ->filterable(), Text::make('Name') ->sortable() ->rules('required', 'max:255'), Text::make('Email') ->sortable() ->rules('required', 'email', 'max:254') ->creationRules('unique:users,email') ->updateRules('unique:users,email,{{resourceId}}'), Text::make('Azure ID', 'azure_id') ->onlyOnDetail() ->copyable(), Text::make('Photo', 'photo') ->onlyOnDetail() ->copyable(), Text::make('Job Title', 'job_title') ->sortable() ->filterable() ->copyable() ->readonly(), Text::make('Department') ->sortable() ->filterable() ->copyable() ->readonly(), Text::make('Phone') ->sortable() ->copyable() ->readonly(), Password::make('Password') ->onlyOnForms() ->creationRules($this->passwordRules()) ->updateRules($this->optionalPasswordRules()), ]; } /** * Get the cards available for the request. * * @return array */ public function cards(NovaRequest $request): array { return []; } /** * Get the filters available for the resource. * * @return array */ public function filters(NovaRequest $request): array { return []; } /** * Get the lenses available for the resource. * * @return array */ public function lenses(NovaRequest $request): array { return []; } /** * Get the actions available for the resource. * * @return array */ public function actions(NovaRequest $request): array { return []; } }