36 lines
809 B
PHP
36 lines
809 B
PHP
<?php
|
|
|
|
namespace App\Policies\Rules;
|
|
|
|
use App\Enums\TicketStatus;
|
|
use App\Models\Ticket;
|
|
use Kwaadpepper\CrudPolicies\Policies\Rules\StaticRules;
|
|
|
|
/**
|
|
* Userlevel Policiy Static Rules
|
|
* ! Rules has to return boolean value
|
|
*/
|
|
abstract class TicketStaticRules extends StaticRules
|
|
{
|
|
/**
|
|
* Ticket is not in production
|
|
*
|
|
* @param Ticket $ticket
|
|
* @return boolean
|
|
*/
|
|
protected static function ticketIsNotInProduction(Ticket $ticket): bool
|
|
{
|
|
return !$ticket->status->equals(TicketStatus::production());
|
|
}
|
|
|
|
/**
|
|
* Ticket is not archived
|
|
*
|
|
* @param Ticket $ticket
|
|
* @return boolean
|
|
*/
|
|
protected static function ticketIsNotArchived(Ticket $ticket): bool
|
|
{
|
|
return !$ticket->status->equals(TicketStatus::archived());
|
|
}
|
|
}
|