#73 - cancel vacation request (#83)

* #73 - cancel vacation request

* #73 - fix

* #73 - changed text for cancelling vacation request

Co-authored-by: EwelinaLasowy <ewelina.lasowy@blumilk.pl>
This commit is contained in:
Adrian Hopek
2022-03-17 09:33:29 +01:00
committed by GitHub
parent 43870fa060
commit afb1a5e9ff
3 changed files with 27 additions and 16 deletions

View File

@@ -5,6 +5,9 @@ declare(strict_types=1);
namespace Toby\Domain\Policies;
use Toby\Domain\Enums\Role;
use Toby\Domain\States\VacationRequest\Created;
use Toby\Domain\States\VacationRequest\WaitingForAdministrative;
use Toby\Domain\States\VacationRequest\WaitingForTechnical;
use Toby\Eloquent\Models\User;
use Toby\Eloquent\Models\VacationRequest;
@@ -40,8 +43,16 @@ class VacationRequestPolicy
return in_array($user->role, [Role::AdministrativeApprover, Role::TechnicalApprover], true);
}
public function cancel(User $user): bool
public function cancel(User $user, VacationRequest $vacationRequest): bool
{
if ($vacationRequest->user->is($user) && $vacationRequest->state->equals(
Created::class,
WaitingForAdministrative::class,
WaitingForTechnical::class,
)) {
return true;
}
return $user->role === Role::AdministrativeApprover;
}