%PDF- %PDF-
Direktori : /var/www/html/camillo/camillo-api-master/app/Nova/ |
Current File : /var/www/html/camillo/camillo-api-master/app/Nova/ArrivalException.php |
<?php namespace App\Nova; use App\Enums\UsertypeEnum; use Laraning\NovaTimeField\TimeField; use Laravel\Nova\Fields\BelongsTo; use Laravel\Nova\Fields\Date; use Laravel\Nova\Fields\ID; use Illuminate\Http\Request; use Laravel\Nova\Fields\Text; use Laravel\Nova\Http\Requests\NovaRequest; use Zingazzi\ItalianDateTime\ItalianDateTime as DateTime; class ArrivalException extends Resource { /** * The model the resource corresponds to. * * @var string */ public static $model = 'App\Models\ArrivalException'; public function title() { return $this->minor->name . " " . $this->minor->surname . " (" . $this->date . ")"; } public static function label() { return __('Arrival Exceptions'); } public static function singularLabel() { return __("Arrival Exception"); } /** * The columns that should be searched. * * @var array */ public static $search = [ 'id', 'date' ]; public static function indexQuery(NovaRequest $request, $query) { $user = $request->user(); $institutes = $user->institutes; $institute_ids = $institutes->map(function ($item, $key){ return $item->id; }); if($user->usertype->role === UsertypeEnum::PRINCIPAL) { $query->whereHas('classroom', function ($q) use ($institute_ids) { $q->whereHas('institute', function ($q) use ($institute_ids) { $q->whereIn('institute_id', $institute_ids); }); }); } } /** * Get the fields displayed by the resource. * * @param \Illuminate\Http\Request $request * @return array */ public function fields(Request $request) { return [ ID::make()->sortable()->canSee(function($request){ return $request->user()->usertype->role === UsertypeEnum::ADMIN; }), DateTime::make(__('Date*'), 'date')->format('D-M-Y') ->rules('required') ->sortable(), TimeField::make(__('Arrival Time*'), 'arrival_time') ->rules('required') ->sortable(), BelongsTo::make(__('Minor*'), 'minor', Minor::class), BelongsTo::make(__('Classroom*'), 'classroom', Classroom::class) ]; } /** * 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 []; } /** * 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 []; } }