feat: additional filter options for documents

This commit is contained in:
Björn Fromme
2025-01-13 11:58:32 +01:00
parent 520e6b79f0
commit c5df1c2a67
8 changed files with 146 additions and 15 deletions
@@ -2,6 +2,7 @@
namespace App\Service\Common;
use App\Entity\JobProfile;
use App\Entity\Teamer;
use App\Model\AbstractFilterDto;
use App\Model\DocumentFilterDto;
@@ -33,6 +34,23 @@ class DocumentFilterHandler extends AbstractFilterHandler
$filterDto->setTeamer($teamer);
}
if (isset($data['job_profiles']) && 0 < count($data['job_profiles'])) {
$jobProfiles = $this
->entityManager
->getRepository(JobProfile::class)
->findBy(['id' => $data['job_profiles']])
;
$filterDto->setJobProfiles($jobProfiles);
}
if (isset($data['hotels']) && 0 < count($data['hotels'])) {
$filterDto->setHotels($data['hotels']);
}
if (isset($data['status'])) {
$filterDto->setStatus($data['status']);
}
return $filterDto;
}
@@ -44,6 +62,11 @@ class DocumentFilterHandler extends AbstractFilterHandler
'type' => $filterDto->getType(),
'date_from' => $filterDto->getDateFrom(),
'date_to' => $filterDto->getDateTo(),
'job_profiles' => array_map(function (JobProfile $jobProfile) {
return $jobProfile->getId();
}, $filterDto->getJobProfiles()),
'hotels' => $filterDto->getHotels(),
'status' => $filterDto->getStatus(),
]);
}
}