This commit is contained in:
Adrian Hopek
2022-03-21 09:12:56 +01:00
parent 21046dde66
commit 433d12be91
15 changed files with 74 additions and 327 deletions

View File

@@ -5,7 +5,7 @@ declare(strict_types=1);
namespace Toby\Domain\Actions\VacationRequest;
use Toby\Domain\Enums\Role;
use Toby\Domain\Notifications\VacationRequestApprovedNotification;
use Toby\Domain\Notifications\VacationRequestStatusChangedNotification;
use Toby\Domain\VacationRequestStateManager;
use Toby\Eloquent\Models\User;
use Toby\Eloquent\Models\VacationRequest;
@@ -34,9 +34,9 @@ class ApproveAction
->get();
foreach ($users as $user) {
$user->notify(new VacationRequestApprovedNotification($vacationRequest, $user));
$user->notify(new VacationRequestStatusChangedNotification($vacationRequest, $user));
}
$vacationRequest->user->notify(new VacationRequestApprovedNotification($vacationRequest, $vacationRequest->user));
$vacationRequest->user->notify(new VacationRequestStatusChangedNotification($vacationRequest, $vacationRequest->user));
}
}

View File

@@ -5,7 +5,7 @@ declare(strict_types=1);
namespace Toby\Domain\Actions\VacationRequest;
use Toby\Domain\Enums\Role;
use Toby\Domain\Notifications\VacationRequestCancelledNotification;
use Toby\Domain\Notifications\VacationRequestStatusChangedNotification;
use Toby\Domain\VacationRequestStateManager;
use Toby\Eloquent\Models\User;
use Toby\Eloquent\Models\VacationRequest;
@@ -34,9 +34,9 @@ class CancelAction
->get();
foreach ($users as $user) {
$user->notify(new VacationRequestCancelledNotification($vacationRequest, $user));
$user->notify(new VacationRequestStatusChangedNotification($vacationRequest, $user));
}
$vacationRequest->user->notify(new VacationRequestCancelledNotification($vacationRequest, $vacationRequest->user));
$vacationRequest->user->notify(new VacationRequestStatusChangedNotification($vacationRequest, $vacationRequest->user));
}
}

View File

@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace Toby\Domain\Actions\VacationRequest;
use Illuminate\Validation\ValidationException;
use Toby\Domain\Notifications\VacationRequestCreatedNotification;
use Toby\Domain\VacationDaysCalculator;
use Toby\Domain\VacationRequestStateManager;
use Toby\Domain\VacationTypeConfigRetriever;
@@ -31,6 +32,7 @@ class CreateAction
{
$vacationRequest = $this->createVacationRequest($data, $creator);
$this->handleCreatedVacationRequest($vacationRequest);
$this->notify($vacationRequest);
return $vacationRequest;
}
@@ -88,4 +90,9 @@ class CreateAction
$this->stateManager->approve($vacationRequest);
}
protected function notify(VacationRequest $vacationRequest): void
{
$vacationRequest->user->notify(new VacationRequestCreatedNotification($vacationRequest));
}
}

View File

@@ -5,7 +5,7 @@ declare(strict_types=1);
namespace Toby\Domain\Actions\VacationRequest;
use Toby\Domain\Enums\Role;
use Toby\Domain\Notifications\VacationRequestRejectedNotification;
use Toby\Domain\Notifications\VacationRequestStatusChangedNotification;
use Toby\Domain\VacationRequestStateManager;
use Toby\Eloquent\Models\User;
use Toby\Eloquent\Models\VacationRequest;
@@ -31,9 +31,9 @@ class RejectAction
->get();
foreach ($users as $user) {
$user->notify(new VacationRequestRejectedNotification($vacationRequest, $user));
$user->notify(new VacationRequestStatusChangedNotification($vacationRequest, $user));
}
$vacationRequest->user->notify(new VacationRequestRejectedNotification($vacationRequest, $vacationRequest->user));
$vacationRequest->user->notify(new VacationRequestStatusChangedNotification($vacationRequest, $vacationRequest->user));
}
}

View File

@@ -5,7 +5,7 @@ declare(strict_types=1);
namespace Toby\Domain\Actions\VacationRequest;
use Toby\Domain\Enums\Role;
use Toby\Domain\Notifications\VacationRequestWaitsForAdminApprovalNotification;
use Toby\Domain\Notifications\VacationRequestWaitsForApprovalNotification;
use Toby\Domain\VacationRequestStateManager;
use Toby\Domain\VacationTypeConfigRetriever;
use Toby\Eloquent\Models\User;
@@ -33,7 +33,7 @@ class WaitForAdminApprovalAction
->get();
foreach ($users as $user) {
$user->notify(new VacationRequestWaitsForAdminApprovalNotification($vacationRequest, $user));
$user->notify(new VacationRequestWaitsForApprovalNotification($vacationRequest, $user));
}
}
}

View File

@@ -5,7 +5,7 @@ declare(strict_types=1);
namespace Toby\Domain\Actions\VacationRequest;
use Toby\Domain\Enums\Role;
use Toby\Domain\Notifications\VacationRequestWaitsForTechApprovalNotification;
use Toby\Domain\Notifications\VacationRequestWaitsForApprovalNotification;
use Toby\Domain\VacationRequestStateManager;
use Toby\Domain\VacationTypeConfigRetriever;
use Toby\Eloquent\Models\User;
@@ -33,7 +33,7 @@ class WaitForTechApprovalAction
->get();
foreach ($users as $user) {
$user->notify(new VacationRequestWaitsForTechApprovalNotification($vacationRequest, $user));
$user->notify(new VacationRequestWaitsForApprovalNotification($vacationRequest, $user));
}
}
}