where('created_by', $request->user()->id); } return $query; } public static function afterCreate(NovaRequest $request, Model $model) { \App\Models\User::find(1) ->notify(new ModelCreatedNotification($model, str($request->getRequestUri()) ->after('/nova-api/') ->before('?') ->toString())); } public function subtitle() { return __('Created by: :name', ['name' => $this->createdBy->name]); } /** * Get the fields displayed by the resource. */ public function fields(Request $request): array { return [ ID::make() ->sortable(), Images::make(__('Main picture'), 'logo') ->showStatistics() ->conversionOnIndexView('thumb') ->setFileName(fn ($originalFilename, $extension, $model) => md5($originalFilename).'.'.$extension), // todo: english Images::make(__('Images'), 'images') ->showStatistics() ->conversionOnIndexView('thumb') ->help(__('Upload images here to insert them later in the Markdown Description. But you have to save before.')) ->setFileName(fn ($originalFilename, $extension, $model) => md5($originalFilename).'.'.$extension), Tags::make(__('Tags')) ->type('course') ->withLinkToTagResource(Tag::class), Text::make(__('Name'), 'name') ->rules('required', 'string'), Markdown::make(__('Description'), 'description') ->alwaysShow() ->help(__('Markdown is allowed. You can paste images from the "Images" field here. Use the link icon of the images for the urls after clicking "Update and continue".')), BelongsTo::make(__('Lecturer'), 'lecturer', Lecturer::class) ->searchable() ->help(__('Select here the lecturer who holds the course. If the lecturer is not in the list, create it first under "Lecturers".'))->withSubtitles(), SelectPlus::make(__('Categories'), 'categories', Category::class) ->usingIndexLabel('name'), BelongsToMany::make(__('Categories'), 'categories', Category::class) ->onlyOnDetail(), BelongsTo::make(__('Created By'), 'createdBy', User::class) ->canSee(function ($request) { return $request->user() ->hasRole('super-admin'); }) ->searchable()->withSubtitles(), ]; } /** * Get the cards available for the request. */ public function cards(Request $request): array { return []; } /** * Get the filters available for the resource. */ public function filters(Request $request): array { return []; } /** * Get the lenses available for the resource. */ public function lenses(Request $request): array { return []; } /** * Get the actions available for the resource. */ public function actions(Request $request): array { return []; } }