This commit is contained in:
Adrian Hopek
2022-04-06 10:01:22 +02:00
parent 82b4ada49e
commit 84b1805015
4 changed files with 97 additions and 58 deletions

View File

@@ -2,12 +2,8 @@
declare(strict_types=1);
use Illuminate\Http\Request;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\Route;
use Toby\Eloquent\Helpers\YearPeriodRetriever;
use Toby\Eloquent\Models\Holiday;
use Toby\Eloquent\Models\Vacation;
use Toby\Infrastructure\Http\Controllers\AnnualSummaryController;
use Toby\Infrastructure\Http\Controllers\DashboardController;
use Toby\Infrastructure\Http\Controllers\GoogleController;
use Toby\Infrastructure\Http\Controllers\HolidayController;
@@ -33,72 +29,44 @@ Route::middleware("auth")->group(function (): void {
Route::post("year-periods/{yearPeriod}/select", SelectYearPeriodController::class)
->name("year-periods.select");
Route::prefix("/vacation")->group(function (): void {
Route::prefix("/vacation")->as("vacation.")->group(function (): void {
Route::get("/limits", [VacationLimitController::class, "edit"])
->name("vacation.limits");
->name("limits");
Route::get("/calendar/{month?}", [VacationCalendarController::class, "index"])
->name("vacation.calendar");
->name("calendar");
Route::get("/timesheet/{month}", TimesheetController::class)
->name("timesheet");
Route::get("/limits", [VacationLimitController::class, "edit"])
->name("vacation.limits");
->name("limits");
Route::put("/limits", [VacationLimitController::class, "update"]);
Route::get("/requests", [VacationRequestController::class, "indexForApprovers"])
->name("vacation.requests.indexForApprovers");
->name("requests.indexForApprovers");
Route::get("/requests/me", [VacationRequestController::class, "index"])
->name("vacation.requests.index");
->name("requests.index");
Route::get("/requests/create", [VacationRequestController::class, "create"])
->name("vacation.requests.create");
->name("requests.create");
Route::post("/requests", [VacationRequestController::class, "store"])
->name("vacation.requests.store");
->name("requests.store");
Route::get("/requests/{vacationRequest}", [VacationRequestController::class, "show"])
->name("vacation.requests.show");
->name("requests.show");
Route::get("/requests/{vacationRequest}/download", [VacationRequestController::class, "download"])
->name("vacation.requests.download");
->name("requests.download");
Route::post("/requests/{vacationRequest}/reject", [VacationRequestController::class, "reject"])
->name("vacation.requests.reject");
->name("requests.reject");
Route::post("/requests/{vacationRequest}/cancel", [VacationRequestController::class, "cancel"])
->name("vacation.requests.cancel");
->name("requests.cancel");
Route::post("/requests/{vacationRequest}/accept-as-technical", [VacationRequestController::class, "acceptAsTechnical"], )
->name("vacation.requests.accept-as-technical");
->name("requests.accept-as-technical");
Route::post("/requests/{vacationRequest}/accept-as-administrative", [VacationRequestController::class, "acceptAsAdministrative"], )
->name("vacation.requests.accept-as-administrative");
->name("requests.accept-as-administrative");
Route::get("/monthly-usage", MonthlyUsageController::class)
->name("vacation.monthly-usage");
});
->name("monthly-usage");
Route::get("/annual-summary", AnnualSummaryController::class)
->name("annual-summmary");
Route::get("/test", function (Request $request, YearPeriodRetriever $yearPeriodRetriever) {
$yearPeriod = $yearPeriodRetriever->selected();
$startDate = Carbon::createFromDate($yearPeriod->year)->startOfYear()->startOfWeek();
$endDate = Carbon::createFromDate($yearPeriod->year)->endOfYear()->endOfWeek();
$holidays = $yearPeriod->holidays()
->whereBetween("date", [$startDate, $endDate])
->get();
$vacations = $request->user()
->vacations()
->with("vacationRequest")
->whereBetween("date", [$startDate, $endDate])
->approved()
->get();
$pendingVacations = $request->user()
->vacations()
->with("vacationRequest")
->whereBetween("date", [$startDate, $endDate])
->pending()
->get();
return inertia("Test", [
"holidays" => $holidays->mapWithKeys(fn(Holiday $holiday) => [$holiday->date->toDateString() => $holiday->name]),
"vacations" => $vacations->mapWithKeys(fn(Vacation $vacation) => [$vacation->date->toDateString() => $vacation->vacationRequest->type]),
"pendingVacations" => $pendingVacations->mapWithKeys(fn(Vacation $vacation) => [$vacation->date->toDateString() => $vacation->vacationRequest->type]),
]);
});
});