SmartCane/laravel_app/app/Rules/AllMergedTiffsPresentRule.php
2023-12-24 18:02:17 +01:00

37 lines
817 B
PHP

<?php
namespace App\Rules;
use Illuminate\Contracts\Validation\Rule;
use App\Models\Project;
use App\Models\ProjectReport;
class AllMergedTiffsPresentRule implements Rule
{
protected $project;
protected $errorMessage = '';
public function __construct(Project $project)
{
$this->project = $project;
}
public function passes($attribute, $value)
{
try {
return $this->project->allMergedTiffsPresent(
$this->project->getMergedTiffList(),
Project::getAllDatesOfWeeksInYear($value['year'], $value['week'])
);
} catch (\Exception $e) {
$this->errorMessage = $e->getMessage();
return false;
}
}
public function message()
{
return $this->errorMessage;
}
}