diff --git a/app/Architecture/Providers/AppServiceProvider.php b/app/Architecture/Providers/AppServiceProvider.php index d7e58c9..b1dc896 100644 --- a/app/Architecture/Providers/AppServiceProvider.php +++ b/app/Architecture/Providers/AppServiceProvider.php @@ -15,6 +15,7 @@ class AppServiceProvider extends ServiceProvider public function boot(): void { Carbon::macro("toDisplayString", fn() => $this->translatedFormat("j F Y")); + Carbon::macro("toDisplayDate", fn() => $this->translatedFormat("d.m.Y")); $selectedYearPeriodScope = $this->app->make(SelectedYearPeriodScope::class); diff --git a/app/Architecture/Providers/EventServiceProvider.php b/app/Architecture/Providers/EventServiceProvider.php index 6741ab1..3107b26 100644 --- a/app/Architecture/Providers/EventServiceProvider.php +++ b/app/Architecture/Providers/EventServiceProvider.php @@ -12,8 +12,8 @@ use Toby\Domain\Events\VacationRequestCancelled; use Toby\Domain\Events\VacationRequestCreated; use Toby\Domain\Events\VacationRequestRejected; use Toby\Domain\Events\VacationRequestStateChanged; -use Toby\Domain\Events\VacationRequestWaitedForAdministrative; -use Toby\Domain\Events\VacationRequestWaitedForTechnical; +use Toby\Domain\Events\VacationRequestWaitsForAdminApproval; +use Toby\Domain\Events\VacationRequestWaitsForTechApproval; use Toby\Domain\Listeners\CreateVacationRequestActivity; use Toby\Domain\Listeners\HandleAcceptedByAdministrativeVacationRequest; use Toby\Domain\Listeners\HandleAcceptedByTechnicalVacationRequest; @@ -37,7 +37,7 @@ class EventServiceProvider extends ServiceProvider VacationRequestApproved::class => [HandleApprovedVacationRequest::class, SendApprovedVacationRequestNotification::class], VacationRequestRejected::class => [SendRejectedVacationRequestNotification::class], VacationRequestCancelled::class => [HandleCancelledVacationRequest::class, SendCancelledVacationRequestNotification::class], - VacationRequestWaitedForTechnical::class => [SendWaitedForTechnicalVacationRequestNotification::class], - VacationRequestWaitedForAdministrative::class => [SendWaitedForAdministrativeVacationRequestNotification::class], + VacationRequestWaitsForTechApproval::class => [SendWaitedForTechnicalVacationRequestNotification::class], + VacationRequestWaitsForAdminApproval::class => [SendWaitedForAdministrativeVacationRequestNotification::class], ]; } diff --git a/app/Domain/Events/VacationRequestWaitedForAdministrative.php b/app/Domain/Events/VacationRequestWaitsForAdminApproval.php similarity index 100% rename from app/Domain/Events/VacationRequestWaitedForAdministrative.php rename to app/Domain/Events/VacationRequestWaitsForAdminApproval.php diff --git a/app/Domain/Events/VacationRequestWaitedForTechnical.php b/app/Domain/Events/VacationRequestWaitsForTechApproval.php similarity index 100% rename from app/Domain/Events/VacationRequestWaitedForTechnical.php rename to app/Domain/Events/VacationRequestWaitsForTechApproval.php diff --git a/app/Domain/Listeners/SendWaitedForAdministrativeVacationRequestNotification.php b/app/Domain/Listeners/SendWaitedForAdministrativeVacationRequestNotification.php index 5b10f2b..0637521 100644 --- a/app/Domain/Listeners/SendWaitedForAdministrativeVacationRequestNotification.php +++ b/app/Domain/Listeners/SendWaitedForAdministrativeVacationRequestNotification.php @@ -6,8 +6,8 @@ namespace Toby\Domain\Listeners; use Illuminate\Support\Collection; use Toby\Domain\Enums\Role; -use Toby\Domain\Events\VacationRequestWaitedForAdministrative; -use Toby\Domain\Notifications\VacationRequestWaitedForAdministrativeNotification; +use Toby\Domain\Events\VacationRequestWaitsForAdminApproval; +use Toby\Domain\Notifications\VacationRequestWaitsForAdminApprovalNotification; use Toby\Eloquent\Models\User; class SendWaitedForAdministrativeVacationRequestNotification @@ -16,10 +16,10 @@ class SendWaitedForAdministrativeVacationRequestNotification ) { } - public function handle(VacationRequestWaitedForAdministrative $event): void + public function handle(VacationRequestWaitsForAdminApproval $event): void { foreach ($this->getUsersForNotifications() as $user) { - $user->notify(new VacationRequestWaitedForAdministrativeNotification($event->vacationRequest, $user)); + $user->notify(new VacationRequestWaitsForAdminApprovalNotification($event->vacationRequest, $user)); } } diff --git a/app/Domain/Listeners/SendWaitedForTechnicalVacationRequestNotification.php b/app/Domain/Listeners/SendWaitedForTechnicalVacationRequestNotification.php index 4e1517e..3a0ef75 100644 --- a/app/Domain/Listeners/SendWaitedForTechnicalVacationRequestNotification.php +++ b/app/Domain/Listeners/SendWaitedForTechnicalVacationRequestNotification.php @@ -6,8 +6,8 @@ namespace Toby\Domain\Listeners; use Illuminate\Support\Collection; use Toby\Domain\Enums\Role; -use Toby\Domain\Events\VacationRequestWaitedForTechnical; -use Toby\Domain\Notifications\VacationRequestWaitedForTechnicalNotification; +use Toby\Domain\Events\VacationRequestWaitsForTechApproval; +use Toby\Domain\Notifications\VacationRequestWaitsForTechApprovalNotification; use Toby\Eloquent\Models\User; class SendWaitedForTechnicalVacationRequestNotification @@ -16,10 +16,10 @@ class SendWaitedForTechnicalVacationRequestNotification ) { } - public function handle(VacationRequestWaitedForTechnical $event): void + public function handle(VacationRequestWaitsForTechApproval $event): void { foreach ($this->getUsersForNotifications() as $user) { - $user->notify(new VacationRequestWaitedForTechnicalNotification($event->vacationRequest, $user)); + $user->notify(new VacationRequestWaitsForTechApprovalNotification($event->vacationRequest, $user)); } } diff --git a/app/Domain/Notifications/VacationRequestApprovedNotification.php b/app/Domain/Notifications/VacationRequestApprovedNotification.php index 7552365..0466062 100644 --- a/app/Domain/Notifications/VacationRequestApprovedNotification.php +++ b/app/Domain/Notifications/VacationRequestApprovedNotification.php @@ -46,8 +46,8 @@ class VacationRequestApprovedNotification extends Notification $user = $this->user->first_name; $title = $this->vacationRequest->name; $type = $this->vacationRequest->type->label(); - $from = $this->vacationRequest->from->format("d.m.Y"); - $to = $this->vacationRequest->to->format("d.m.Y"); + $from = $this->vacationRequest->from->toDisplayDate(); + $to = $this->vacationRequest->to->toDisplayDate(); $days = $this->vacationRequest->vacations()->count(); $requester = $this->vacationRequest->user->fullName; diff --git a/app/Domain/Notifications/VacationRequestCancelledNotification.php b/app/Domain/Notifications/VacationRequestCancelledNotification.php index e3111f2..2b19940 100644 --- a/app/Domain/Notifications/VacationRequestCancelledNotification.php +++ b/app/Domain/Notifications/VacationRequestCancelledNotification.php @@ -46,8 +46,8 @@ class VacationRequestCancelledNotification extends Notification $user = $this->user->first_name; $title = $this->vacationRequest->name; $type = $this->vacationRequest->type->label(); - $from = $this->vacationRequest->from->format("d.m.Y"); - $to = $this->vacationRequest->to->format("d.m.Y"); + $from = $this->vacationRequest->from->toDisplayDate(); + $to = $this->vacationRequest->to->toDisplayDate(); $days = $this->vacationRequest->vacations()->count(); $requester = $this->vacationRequest->user->fullName; diff --git a/app/Domain/Notifications/VacationRequestCreatedNotification.php b/app/Domain/Notifications/VacationRequestCreatedNotification.php index 4598752..75c9549 100644 --- a/app/Domain/Notifications/VacationRequestCreatedNotification.php +++ b/app/Domain/Notifications/VacationRequestCreatedNotification.php @@ -43,8 +43,8 @@ class VacationRequestCreatedNotification extends Notification $user = $this->vacationRequest->user->first_name; $title = $this->vacationRequest->name; $type = $this->vacationRequest->type->label(); - $from = $this->vacationRequest->from->format("d.m.Y"); - $to = $this->vacationRequest->to->format("d.m.Y"); + $from = $this->vacationRequest->from->toDisplayDate(); + $to = $this->vacationRequest->to->toDisplayDate(); $days = $this->vacationRequest->vacations()->count(); $appName = config("app.name"); diff --git a/app/Domain/Notifications/VacationRequestRejectedNotification.php b/app/Domain/Notifications/VacationRequestRejectedNotification.php index 7ac10ff..98775cd 100644 --- a/app/Domain/Notifications/VacationRequestRejectedNotification.php +++ b/app/Domain/Notifications/VacationRequestRejectedNotification.php @@ -46,8 +46,8 @@ class VacationRequestRejectedNotification extends Notification $user = $this->user->first_name; $title = $this->vacationRequest->name; $type = $this->vacationRequest->type->label(); - $from = $this->vacationRequest->from->format("d.m.Y"); - $to = $this->vacationRequest->to->format("d.m.Y"); + $from = $this->vacationRequest->from->toDisplayDate(); + $to = $this->vacationRequest->to->toDisplayDate(); $days = $this->vacationRequest->vacations()->count(); $requester = $this->vacationRequest->user->fullName; diff --git a/app/Domain/Notifications/VacationRequestWaitedForAdministrativeNotification.php b/app/Domain/Notifications/VacationRequestWaitsForAdminApprovalNotification.php similarity index 90% rename from app/Domain/Notifications/VacationRequestWaitedForAdministrativeNotification.php rename to app/Domain/Notifications/VacationRequestWaitsForAdminApprovalNotification.php index 57bbb60..2dc718c 100644 --- a/app/Domain/Notifications/VacationRequestWaitedForAdministrativeNotification.php +++ b/app/Domain/Notifications/VacationRequestWaitsForAdminApprovalNotification.php @@ -11,7 +11,7 @@ use InvalidArgumentException; use Toby\Eloquent\Models\User; use Toby\Eloquent\Models\VacationRequest; -class VacationRequestWaitedForAdministrativeNotification extends Notification +class VacationRequestWaitsForAdminApprovalNotification extends Notification { use Queueable; @@ -47,8 +47,8 @@ class VacationRequestWaitedForAdministrativeNotification extends Notification $requester = $this->vacationRequest->user->fullName; $title = $this->vacationRequest->name; $type = $this->vacationRequest->type->label(); - $from = $this->vacationRequest->from->format("d.m.Y"); - $to = $this->vacationRequest->to->format("d.m.Y"); + $from = $this->vacationRequest->from->toDisplayDate(); + $to = $this->vacationRequest->to->toDisplayDate(); $days = $this->vacationRequest->vacations()->count(); return (new MailMessage()) diff --git a/app/Domain/Notifications/VacationRequestWaitedForTechnicalNotification.php b/app/Domain/Notifications/VacationRequestWaitsForTechApprovalNotification.php similarity index 90% rename from app/Domain/Notifications/VacationRequestWaitedForTechnicalNotification.php rename to app/Domain/Notifications/VacationRequestWaitsForTechApprovalNotification.php index 1357d66..703cbee 100644 --- a/app/Domain/Notifications/VacationRequestWaitedForTechnicalNotification.php +++ b/app/Domain/Notifications/VacationRequestWaitsForTechApprovalNotification.php @@ -11,7 +11,7 @@ use InvalidArgumentException; use Toby\Eloquent\Models\User; use Toby\Eloquent\Models\VacationRequest; -class VacationRequestWaitedForTechnicalNotification extends Notification +class VacationRequestWaitsForTechApprovalNotification extends Notification { use Queueable; @@ -47,8 +47,8 @@ class VacationRequestWaitedForTechnicalNotification extends Notification $requester = $this->vacationRequest->user->fullName; $title = $this->vacationRequest->name; $type = $this->vacationRequest->type->label(); - $from = $this->vacationRequest->from->format("d.m.Y"); - $to = $this->vacationRequest->to->format("d.m.Y"); + $from = $this->vacationRequest->from->toDisplayDate(); + $to = $this->vacationRequest->to->toDisplayDate(); $days = $this->vacationRequest->vacations()->count(); return (new MailMessage()) diff --git a/app/Domain/VacationRequestStateManager.php b/app/Domain/VacationRequestStateManager.php index 0ab8fa0..4256112 100644 --- a/app/Domain/VacationRequestStateManager.php +++ b/app/Domain/VacationRequestStateManager.php @@ -13,8 +13,8 @@ use Toby\Domain\Events\VacationRequestApproved; use Toby\Domain\Events\VacationRequestCancelled; use Toby\Domain\Events\VacationRequestCreated; use Toby\Domain\Events\VacationRequestRejected; -use Toby\Domain\Events\VacationRequestWaitedForAdministrative; -use Toby\Domain\Events\VacationRequestWaitedForTechnical; +use Toby\Domain\Events\VacationRequestWaitsForAdminApproval; +use Toby\Domain\Events\VacationRequestWaitsForTechApproval; use Toby\Eloquent\Models\VacationRequest; class VacationRequestStateManager @@ -71,14 +71,14 @@ class VacationRequestStateManager { $this->changeState($vacationRequest, VacationRequestState::WaitingForTechnical); - $this->dispatcher->dispatch(new VacationRequestWaitedForTechnical($vacationRequest)); + $this->dispatcher->dispatch(new VacationRequestWaitsForTechApproval($vacationRequest)); } public function waitForAdministrative(VacationRequest $vacationRequest): void { $this->changeState($vacationRequest, VacationRequestState::WaitingForAdministrative); - $this->dispatcher->dispatch(new VacationRequestWaitedForAdministrative($vacationRequest)); + $this->dispatcher->dispatch(new VacationRequestWaitsForAdminApproval($vacationRequest)); } protected function changeState(VacationRequest $vacationRequest, VacationRequestState $state): void diff --git a/tests/Unit/VacationRequestNotificationTest.php b/tests/Unit/VacationRequestNotificationTest.php index 19ca4be..b6e693f 100644 --- a/tests/Unit/VacationRequestNotificationTest.php +++ b/tests/Unit/VacationRequestNotificationTest.php @@ -12,7 +12,7 @@ use Tests\Traits\InteractsWithYearPeriods; use Toby\Domain\Enums\Role; use Toby\Domain\Enums\VacationRequestState; use Toby\Domain\Enums\VacationType; -use Toby\Domain\Notifications\VacationRequestWaitedForTechnicalNotification; +use Toby\Domain\Notifications\VacationRequestWaitsForTechApprovalNotification; use Toby\Domain\VacationRequestStateManager; use Toby\Eloquent\Models\User; use Toby\Eloquent\Models\VacationRequest; @@ -64,7 +64,7 @@ class VacationRequestNotificationTest extends TestCase $this->stateManager->waitForTechnical($vacationRequest); - Notification::assertSentTo($technicalApprover, VacationRequestWaitedForTechnicalNotification::class); - Notification::assertNotSentTo([$user, $administrativeApprover], VacationRequestWaitedForTechnicalNotification::class); + Notification::assertSentTo($technicalApprover, VacationRequestWaitsForTechApprovalNotification::class); + Notification::assertNotSentTo([$user, $administrativeApprover], VacationRequestWaitsForTechApprovalNotification::class); } }