#36 - wip
This commit is contained in:
@@ -4,13 +4,24 @@ declare(strict_types=1);
|
||||
|
||||
namespace Toby\Domain\Validation\Rules;
|
||||
|
||||
use Closure;
|
||||
use Toby\Domain\VacationDaysCalculator;
|
||||
use Toby\Eloquent\Models\VacationRequest;
|
||||
|
||||
class MinimumOneVacationDayRule implements VacationRequestRule
|
||||
class MinimumOneVacationDayRule extends VacationRequestRule
|
||||
{
|
||||
public function check(VacationRequest $vacationRequest, Closure $next)
|
||||
public function __construct(protected VacationDaysCalculator $vacationDaysCalculator)
|
||||
{
|
||||
return $next($vacationRequest);
|
||||
}
|
||||
|
||||
public function passes(VacationRequest $vacationRequest): bool
|
||||
{
|
||||
return $this->vacationDaysCalculator
|
||||
->calculateDays($vacationRequest->yearPeriod, $vacationRequest->from, $vacationRequest->to)
|
||||
->isNotEmpty();
|
||||
}
|
||||
|
||||
public function errorMessage(): string
|
||||
{
|
||||
return __("Vacation needs minimum one day.");
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user