%PDF- %PDF-
Direktori : /var/www/html/camillo/camillo-api-master/app/Nova/ |
Current File : /var/www/html/camillo/camillo-api-master/app/Nova/Minor.php |
<?php namespace App\Nova; use App\Enums\UsertypeEnum; use Illuminate\Support\Facades\Log; use Laraning\NovaTimeField\TimeField; use Laravel\Nova\Fields\BelongsTo; use Laravel\Nova\Fields\BelongsToMany; use Laravel\Nova\Fields\Boolean; use Laravel\Nova\Fields\Date; use Laravel\Nova\Fields\ID; use Illuminate\Http\Request; use Laravel\Nova\Fields\Select; use Laravel\Nova\Fields\Text; use Laravel\Nova\Fields\Textarea; use Laravel\Nova\Http\Requests\NovaRequest; use Zingazzi\ItalianDateTime\ItalianDateTime as DateTime; class Minor extends Resource { /** * The model the resource corresponds to. * * @var string */ public static $model = 'App\Models\Minor'; /** * Get the value that should be displayed to represent the resource. * * @return string */ public function title() { return ucfirst($this->name) . " " . ucfirst($this->surname); } public static function label() { return __('Minors'); } public static function singularLabel() { return __('Minor'); } /** * The columns that should be searched. * * @var array */ public static $search = [ 'id', 'name', 'surname' ]; public static $with = [ 'individuals', 'classrooms' ]; /** * Get the fields displayed by the resource. * * @param \Illuminate\Http\Request $request * @return array */ public function fields(Request $request) { return array( ID::make()->sortable()->canSee(function($request){ return $request->user()->usertype->role === UsertypeEnum::ADMIN; }), Text::make(__('Name'), 'name') ->creationRules('required') ->sortable(), Text::make(__('Surname'), 'surname') ->creationRules('required') ->sortable(), DateTime::make(__('Birth Date'), 'birth_date')->format('D-M-Y') ->creationRules('required', 'date'), Select::make(__('Gender*'), 'gender')->options([ 'M' => 'M', 'F' => 'F', ])->rules('required'), Text::make(__('Fiscal Code'), 'fiscal_code') ->rules('string', 'size:16')->hideFromIndex(), Text::make(__('Hometown'), 'hometown')->hideFromIndex(), Text::make(__('Province'), 'province')->hideFromIndex(), Text::make(__('Citizenship'), 'citizenship')->hideFromIndex(), Text::make(__('Residence_city'), 'residence_city')->hideFromIndex(), Text::make(__('Street'), 'street')->hideFromIndex(), Text::make(__('Street_number'), 'street_number')->hideFromIndex(), Text::make(__('Zip_code'), 'zip_code')->hideFromIndex(), Textarea::make(__('Pathologies'), 'pathologies'), Textarea::make(__('Intolerance'), 'intolerance'), Textarea::make(__('Notes'), 'notes'), //TimeField::make(__('Opening time'), 'arrival_time'), BelongsToMany::make(__('Individuals'), 'individuals', Individual::class) ->fields(function() { return [ Text::make(__('Relative'), 'relative') ->displayUsing(function(){ return isset($this->pivot) ? $this->pivot->relative : '-'; }), Boolean::make(__('is_family_admin'), 'is_admin') ->displayUsing(function(){ return isset($this->pivot) ? $this->pivot->is_admin : 0; })->exceptOnForms()->canSee(function($request){ return $request->user()->usertype->role === UsertypeEnum::PRINCIPAL; }), Boolean::make(__('is_family_admin'), 'is_admin') ->displayUsing(function(){ return isset($this->pivot) ? $this->pivot->is_admin : 0; })->canSee(function($request){ return $request->user()->usertype->role === UsertypeEnum::ADMIN; }) ]; })->searchable(), Boolean::make(__('Active'), 'active')->canSee(function($request){ return $request->user()->usertype->role === UsertypeEnum::ADMIN; }), BelongsToMany::make(__('Classrooms'), 'classrooms', Classroom::class) ->fields(function() { return [ Boolean::make(__('Billable'), 'active')->canSee(function($request){ return $request->user()->usertype->role === UsertypeEnum::ADMIN; })->displayUsing(function(){ return isset($this->pivot) ? $this->pivot->active : '-'; }), TimeField::make(__('Minor Arrival time'), 'arrival_time') ->displayUsing(function(){ return isset($this->pivot) ? $this->pivot->arrival_time : '-'; })->rules('required'), ]; }), BelongsTo::make(__("Institute"), "institute", Institute::class) ->creationRules('required')->onlyOnForms() ); } /** * Get the cards available for the request. * * @param \Illuminate\Http\Request $request * @return array */ public function cards(Request $request) { return []; } /** * Get the filters available for the resource. * * @param \Illuminate\Http\Request $request * @return array */ public function filters(Request $request) { return [ new Filters\MinorInsitute, new Filters\MinorActive ]; } /** * Get the lenses available for the resource. * * @param \Illuminate\Http\Request $request * @return array */ public function lenses(Request $request) { return []; } /** * Get the actions available for the resource. * * @param \Illuminate\Http\Request $request * @return array */ public function actions(Request $request) { return []; } }