#63 - permissions (#67)

* wip

* fix

* wip

* #63 - permissions

Co-authored-by: EwelinaLasowy <ewelina.lasowy@blumilk.pl>
This commit is contained in:
Adrian Hopek
2022-03-02 09:52:50 +01:00
committed by GitHub
parent 5cb46d2fc4
commit d825dd727f
47 changed files with 1027 additions and 411 deletions

View File

@@ -0,0 +1,10 @@
<?php
declare(strict_types=1);
namespace Toby\Domain\States\VacationRequest;
class AcceptedByAdministrative extends VacationRequestState
{
public static string $name = "accepted_by_administrative";
}

View File

@@ -0,0 +1,10 @@
<?php
declare(strict_types=1);
namespace Toby\Domain\States\VacationRequest;
class AcceptedByTechnical extends VacationRequestState
{
public static string $name = "accepted_by_technical";
}

View File

@@ -0,0 +1,10 @@
<?php
declare(strict_types=1);
namespace Toby\Domain\States\VacationRequest;
class Approved extends VacationRequestState
{
public static string $name = "approved";
}

View File

@@ -0,0 +1,10 @@
<?php
declare(strict_types=1);
namespace Toby\Domain\States\VacationRequest;
class Cancelled extends VacationRequestState
{
public static string $name = "cancelled";
}

View File

@@ -0,0 +1,10 @@
<?php
declare(strict_types=1);
namespace Toby\Domain\States\VacationRequest;
class Created extends VacationRequestState
{
public static string $name = "created";
}

View File

@@ -0,0 +1,10 @@
<?php
declare(strict_types=1);
namespace Toby\Domain\States\VacationRequest;
class Rejected extends VacationRequestState
{
public static string $name = "rejected";
}

View File

@@ -0,0 +1,39 @@
<?php
declare(strict_types=1);
namespace Toby\Domain\States\VacationRequest;
use Spatie\ModelStates\Exceptions\InvalidConfig;
use Spatie\ModelStates\State;
use Spatie\ModelStates\StateConfig;
abstract class VacationRequestState extends State
{
/**
* @throws InvalidConfig
*/
public static function config(): StateConfig
{
return parent::config()
->default(Created::class)
->allowTransition(Created::class, Approved::class)
->allowTransition(Created::class, WaitingForTechnical::class)
->allowTransition(Created::class, WaitingForAdministrative::class)
->allowTransition(WaitingForTechnical::class, Rejected::class)
->allowTransition(WaitingForTechnical::class, AcceptedByTechnical::class)
->allowTransition(WaitingForAdministrative::class, Rejected::class)
->allowTransition(WaitingForAdministrative::class, AcceptedByAdministrative::class)
->allowTransition(AcceptedByTechnical::class, WaitingForAdministrative::class)
->allowTransition(AcceptedByTechnical::class, Approved::class)
->allowTransition(AcceptedByAdministrative::class, Approved::class)
->allowTransition([
Created::class,
WaitingForTechnical::class,
WaitingForAdministrative::class,
AcceptedByTechnical::class,
AcceptedByAdministrative::class,
Approved::class,
], Cancelled::class);
}
}

View File

@@ -0,0 +1,10 @@
<?php
declare(strict_types=1);
namespace Toby\Domain\States\VacationRequest;
class WaitingForAdministrative extends VacationRequestState
{
public static string $name = "waiting_for_administrative";
}

View File

@@ -0,0 +1,10 @@
<?php
declare(strict_types=1);
namespace Toby\Domain\States\VacationRequest;
class WaitingForTechnical extends VacationRequestState
{
public static string $name = "waiting_for_technical";
}