Adjust search for category
This commit is contained in:
@@ -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';
|
||||||
}
|
}
|
||||||
@@ -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');
|
||||||
|
|||||||
@@ -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']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user