#22 - wip
This commit is contained in:
		| @@ -7,11 +7,9 @@ namespace Toby\Infrastructure\Http\Controllers; | ||||
| use Illuminate\Http\RedirectResponse; | ||||
| use Inertia\Response; | ||||
| use Toby\Eloquent\Models\Holiday; | ||||
| use Toby\Eloquent\Models\User; | ||||
| use Toby\Infrastructure\Http\Requests\HolidayRequest; | ||||
| use Toby\Infrastructure\Http\Resources\HolidayFormDataResource; | ||||
| use Toby\Infrastructure\Http\Resources\HolidayResource; | ||||
| use Toby\Infrastructure\Http\Resources\UserResource; | ||||
|  | ||||
| class HolidayController extends Controller | ||||
| { | ||||
|   | ||||
| @@ -28,6 +28,7 @@ class VacationRequestController extends Controller | ||||
|  | ||||
|         $vacationRequests = $request->user() | ||||
|             ->vacationRequests() | ||||
|             ->with("vacations") | ||||
|             ->where("year_period_id", $yearPeriodRetriever->selected()->id) | ||||
|             ->latest() | ||||
|             ->states(VacationRequestState::filterByStatus($status)) | ||||
| @@ -73,15 +74,11 @@ class VacationRequestController extends Controller | ||||
|     ): RedirectResponse { | ||||
|         /** @var VacationRequest $vacationRequest */ | ||||
|         $vacationRequest = $request->user()->vacationRequests()->make($request->data()); | ||||
|         $vacationRequest->estimated_days = $vacationDaysCalculator->calculateDays( | ||||
|             $vacationRequest->yearPeriod, | ||||
|             $vacationRequest->from, | ||||
|             $vacationRequest->to, | ||||
|         )->count(); | ||||
|  | ||||
|         $vacationRequestValidator->validate($vacationRequest); | ||||
|  | ||||
|         $vacationRequest->save(); | ||||
|  | ||||
|         $stateManager->markAsCreated($vacationRequest); | ||||
|  | ||||
|         return redirect() | ||||
|   | ||||
| @@ -20,8 +20,8 @@ class VacationRequestResource extends JsonResource | ||||
|             "state" => $this->state->label(), | ||||
|             "from" => $this->from->toDisplayString(), | ||||
|             "to" => $this->to->toDisplayString(), | ||||
|             "estimatedDays" => $this->estimated_days, | ||||
|             "comment" => $this->comment, | ||||
|             "days" => VacationResource::collection($this->vacations), | ||||
|         ]; | ||||
|     } | ||||
| } | ||||
|   | ||||
							
								
								
									
										21
									
								
								app/Infrastructure/Http/Resources/VacationResource.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								app/Infrastructure/Http/Resources/VacationResource.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| <?php | ||||
|  | ||||
| declare(strict_types=1); | ||||
|  | ||||
| namespace Toby\Infrastructure\Http\Resources; | ||||
|  | ||||
| use Illuminate\Http\Resources\Json\JsonResource; | ||||
|  | ||||
| class VacationResource extends JsonResource | ||||
| { | ||||
|     public static $wrap = null; | ||||
|  | ||||
|     public function toArray($request): array | ||||
|     { | ||||
|         return [ | ||||
|             "id" => $this->id, | ||||
|             "displayDate" => $this->date->toDisplayString(), | ||||
|             "date" => $this->date->toDateString(), | ||||
|         ]; | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user