
* wip * wip * wip * wip * fix * wip * wip * fix * fix * cs fix * #116 - fix * #116 - changed home-office icon * Apply suggestions from code review Co-authored-by: Krzysztof Rewak <krzysztof.rewak@gmail.com> * #116 - cr fix * #116 - cs fix * #116 - cs fix * Apply suggestions from code review Co-authored-by: Ewelina Lasowy <56546832+EwelinaLasowy@users.noreply.github.com> * #5 - bump codestyle Co-authored-by: EwelinaLasowy <ewelina.lasowy@blumilk.pl> Co-authored-by: Krzysztof Rewak <krzysztof.rewak@gmail.com> Co-authored-by: Ewelina Lasowy <56546832+EwelinaLasowy@users.noreply.github.com>
28 lines
668 B
PHP
28 lines
668 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Toby\Domain\Validation\Rules;
|
|
|
|
use Toby\Domain\VacationDaysCalculator;
|
|
use Toby\Eloquent\Models\VacationRequest;
|
|
|
|
class MinimumOneVacationDayRule implements VacationRequestRule
|
|
{
|
|
public function __construct(
|
|
protected VacationDaysCalculator $vacationDaysCalculator,
|
|
) {}
|
|
|
|
public function check(VacationRequest $vacationRequest): bool
|
|
{
|
|
return $this->vacationDaysCalculator
|
|
->calculateDays($vacationRequest->from, $vacationRequest->to)
|
|
->isNotEmpty();
|
|
}
|
|
|
|
public function errorMessage(): string
|
|
{
|
|
return __("Vacation needs minimum one day.");
|
|
}
|
|
}
|