Merge branch 'main' into #41-email-notifications
# Conflicts: # app/Domain/CalendarGenerator.php # app/Domain/Enums/VacationRequestState.php # app/Domain/VacationRequestStateManager.php # resources/js/Composables/statusInfo.js # resources/js/Pages/Calendar.vue # resources/js/Shared/MainMenu.vue # resources/lang/pl.json # tests/Feature/VacationRequestTest.php # tests/Unit/VacationRequestStatesTest.php
This commit is contained in:
@@ -73,7 +73,7 @@ class CalendarGenerator
|
||||
{
|
||||
return Vacation::query()
|
||||
->whereBetween("date", [$period->start, $period->end])
|
||||
->whereRelation("vacationRequest", "state", VacationRequestState::APPROVED->value)
|
||||
->whereRelation("vacationRequest", "state", VacationRequestState::Approved->value)
|
||||
->get()
|
||||
->groupBy(fn(Vacation $vacation) => $vacation->date->toDateString());
|
||||
}
|
||||
|
@@ -6,10 +6,10 @@ namespace Toby\Domain\Enums;
|
||||
|
||||
enum EmploymentForm: string
|
||||
{
|
||||
case EMPLOYMENT_CONTRACT = "employment_contract";
|
||||
case COMMISSION_CONTRACT = "commission_contract";
|
||||
case B2B_CONTRACT = "b2b_contract";
|
||||
case BOARD_MEMBER_CONTRACT = "board_member_contract";
|
||||
case EmploymentContract = "employment_contract";
|
||||
case ComissionContract = "commission_contract";
|
||||
case B2bContract = "b2b_contract";
|
||||
case BoardMemberContract = "board_member_contract";
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
|
@@ -6,10 +6,10 @@ namespace Toby\Domain\Enums;
|
||||
|
||||
enum Role: string
|
||||
{
|
||||
case EMPLOYEE = "employee";
|
||||
case ADMINISTRATOR = "administrator";
|
||||
case TECHNICAL_APPROVER = "technical_approver";
|
||||
case ADMINISTRATIVE_APPROVER = "administrative_approver";
|
||||
case Employee = "employee";
|
||||
case Administrator = "administrator";
|
||||
case TechnicalApprover = "technical_approver";
|
||||
case AdministrativeApprover = "administrative_approver";
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
|
@@ -6,14 +6,14 @@ namespace Toby\Domain\Enums;
|
||||
|
||||
enum VacationRequestState: string
|
||||
{
|
||||
case CREATED = "created";
|
||||
case CANCELED = "canceled";
|
||||
case REJECTED = "rejected";
|
||||
case APPROVED = "approved";
|
||||
case WAITING_FOR_TECHNICAL = "waiting_for_technical";
|
||||
case WAITING_FOR_ADMINISTRATIVE = "waiting_for_administrative";
|
||||
case ACCEPTED_BY_TECHNICAL = "accepted_by_technical";
|
||||
case ACCEPTED_BY_ADMINISTRATIVE = "accepted_by_administrative";
|
||||
case Created = "created";
|
||||
case Canceled = "canceled";
|
||||
case Rejected = "rejected";
|
||||
case Approved = "approved";
|
||||
case WaitingForTechnical = "waiting_for_technical";
|
||||
case WaitingForAdministrative = "waiting_for_administrative";
|
||||
case AcceptedByTechnical = "accepted_by_technical";
|
||||
case AcceptedByAdministrative = "accepted_by_administrative";
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
@@ -23,24 +23,24 @@ enum VacationRequestState: string
|
||||
public static function pendingStates(): array
|
||||
{
|
||||
return [
|
||||
self::CREATED,
|
||||
self::WAITING_FOR_TECHNICAL,
|
||||
self::WAITING_FOR_ADMINISTRATIVE,
|
||||
self::ACCEPTED_BY_TECHNICAL,
|
||||
self::ACCEPTED_BY_ADMINISTRATIVE,
|
||||
self::Created,
|
||||
self::WaitingForTechnical,
|
||||
self::WaitingForAdministrative,
|
||||
self::AcceptedByTechnical,
|
||||
self::AcceptedByAdministrative,
|
||||
];
|
||||
}
|
||||
|
||||
public static function successStates(): array
|
||||
{
|
||||
return [self::APPROVED];
|
||||
return [self::Approved];
|
||||
}
|
||||
|
||||
public static function failedStates(): array
|
||||
{
|
||||
return [
|
||||
self::REJECTED,
|
||||
self::CANCELED,
|
||||
self::Rejected,
|
||||
self::Canceled,
|
||||
];
|
||||
}
|
||||
|
||||
|
@@ -6,15 +6,15 @@ namespace Toby\Domain\Enums;
|
||||
|
||||
enum VacationType: string
|
||||
{
|
||||
case VACATION = "vacation";
|
||||
case VACATION_ON_REQUEST = "vacation_on_request";
|
||||
case SPECIAL_VACATION = "special_vacation";
|
||||
case CHILDCARE_VACATION = "childcare_vacation";
|
||||
case TRAINING_VACATION = "training_vacation";
|
||||
case UNPAID_VACATION = "unpaid_vacation";
|
||||
case VOLUNTEERING_VACATION = "volunteering_vacation";
|
||||
case TIME_IN_LIEU = "time_in_lieu";
|
||||
case SICK_VACATION = "sick_vacation";
|
||||
case Vacation = "vacation";
|
||||
case OnRequest = "vacation_on_request";
|
||||
case Special = "special_vacation";
|
||||
case Childcare = "childcare_vacation";
|
||||
case Training = "training_vacation";
|
||||
case Unpaid = "unpaid_vacation";
|
||||
case Volunteering = "volunteering_vacation";
|
||||
case TimeInLieu = "time_in_lieu";
|
||||
case Sick = "sick_vacation";
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
|
@@ -23,50 +23,50 @@ class VacationRequestStateManager
|
||||
|
||||
public function markAsCreated(VacationRequest $vacationRequest): void
|
||||
{
|
||||
$this->changeState($vacationRequest, VacationRequestState::CREATED);
|
||||
$this->changeState($vacationRequest, VacationRequestState::Created);
|
||||
|
||||
$this->dispatcher->dispatch(new VacationRequestCreated($vacationRequest));
|
||||
}
|
||||
|
||||
public function approve(VacationRequest $vacationRequest): void
|
||||
{
|
||||
$this->changeState($vacationRequest, VacationRequestState::APPROVED);
|
||||
$this->changeState($vacationRequest, VacationRequestState::Approved);
|
||||
|
||||
$this->dispatcher->dispatch(new VacationRequestApproved($vacationRequest));
|
||||
}
|
||||
|
||||
public function reject(VacationRequest $vacationRequest): void
|
||||
{
|
||||
$this->changeState($vacationRequest, VacationRequestState::REJECTED);
|
||||
$this->changeState($vacationRequest, VacationRequestState::Rejected);
|
||||
}
|
||||
|
||||
public function cancel(VacationRequest $vacationRequest): void
|
||||
{
|
||||
$this->changeState($vacationRequest, VacationRequestState::CANCELED);
|
||||
$this->changeState($vacationRequest, VacationRequestState::Canceled);
|
||||
}
|
||||
|
||||
public function acceptAsTechnical(VacationRequest $vacationRequest): void
|
||||
{
|
||||
$this->changeState($vacationRequest, VacationRequestState::ACCEPTED_BY_TECHNICAL);
|
||||
$this->changeState($vacationRequest, VacationRequestState::AcceptedByTechnical);
|
||||
|
||||
$this->dispatcher->dispatch(new VacationRequestAcceptedByTechnical($vacationRequest));
|
||||
}
|
||||
|
||||
public function acceptAsAdministrative(VacationRequest $vacationRequest): void
|
||||
{
|
||||
$this->changeState($vacationRequest, VacationRequestState::ACCEPTED_BY_ADMINISTRATIVE);
|
||||
$this->changeState($vacationRequest, VacationRequestState::AcceptedByAdministrative);
|
||||
|
||||
$this->dispatcher->dispatch(new VacationRequestAcceptedByAdministrative($vacationRequest));
|
||||
}
|
||||
|
||||
public function waitForTechnical(VacationRequest $vacationRequest): void
|
||||
{
|
||||
$this->changeState($vacationRequest, VacationRequestState::WAITING_FOR_TECHNICAL);
|
||||
$this->changeState($vacationRequest, VacationRequestState::WaitingForTechnical);
|
||||
}
|
||||
|
||||
public function waitForAdministrative(VacationRequest $vacationRequest): void
|
||||
{
|
||||
$this->changeState($vacationRequest, VacationRequestState::WAITING_FOR_ADMINISTRATIVE);
|
||||
$this->changeState($vacationRequest, VacationRequestState::WaitingForAdministrative);
|
||||
}
|
||||
|
||||
protected function changeState(VacationRequest $vacationRequest, VacationRequestState $state): void
|
||||
|
Reference in New Issue
Block a user