Adjust search for category

This commit is contained in:
2026-06-15 10:09:54 +02:00
parent ec042a4a8a
commit 33a34485c6
3 changed files with 12 additions and 6 deletions

View File

@@ -6,7 +6,11 @@ namespace App\Enum;
enum FindingCategoryEnum: string enum FindingCategoryEnum: string
{ {
case s = 'scultura'; case a = 'arredo';
case ab = 'abbigliamento e ornamenti personali';
case d = 'decorazione parietale';
case e = 'epigrafe'; case e = 'epigrafe';
case el = 'elemento architettonico';
case p = 'pavimentazione'; case p = 'pavimentazione';
case s = 'scultura';
} }

View File

@@ -48,7 +48,7 @@ class FindingRepository extends ServiceEntityRepository
if (!empty($filters['category'])) { if (!empty($filters['category'])) {
$qb->andWhere('LOWER(s.category) = :category'); $qb->andWhere('LOWER(s.category) = :category');
$qb->setParameter('category', $filters['category']); $qb->setParameter('category', strtolower($filters['category']));
} }
$qb->orderBy('s.label', 'ASC'); $qb->orderBy('s.label', 'ASC');

View File

@@ -32,7 +32,9 @@ final class SearchService
if (empty($filters)) return new SearchResult([], [], [], [], 0); if (empty($filters)) return new SearchResult([], [], [], [], 0);
$sites = []; $sites = [];
if ((isset($filters['text']) && $filters['text'] !== '') || isset($filters['technique'])) { if ((isset($filters['text']) && $filters['text'] !== '') ||
(isset($filters['technique']) && $filters['technique'] !== '')
) {
$sites = array_map( $sites = array_map(
fn(\App\Entity\Site $s) => $s->toSummary(), fn(\App\Entity\Site $s) => $s->toSummary(),
$this->siteRepository->findByFilters($filters) $this->siteRepository->findByFilters($filters)
@@ -81,7 +83,7 @@ final class SearchService
throw new InvalidFilterException("Invalid technique filter: " . $filters['technique']); throw new InvalidFilterException("Invalid technique filter: " . $filters['technique']);
} }
if (!empty($filters['category']) && FindingCategoryEnum::tryFrom($filters['category']) === null) { if (!empty($filters['category']) && FindingCategoryEnum::tryFrom(strtolower($filters['category'])) === null) {
throw new InvalidFilterException("Invalid category filter: " . $filters['category']); throw new InvalidFilterException("Invalid category filter: " . $filters['category']);
} }