feature/bug-no-scroll-input-classes
This commit is contained in:
@@ -48,18 +48,30 @@ class ClassService:
|
||||
query = query.filter(Class.company_id == company_id)
|
||||
|
||||
if filters:
|
||||
if filters.get("class_code"):
|
||||
query = query.filter(
|
||||
Class.class_code.ilike(f"%{filters['class_code']}%")
|
||||
)
|
||||
if filters.get("description"):
|
||||
description_pattern = f"%{filters['description']}%"
|
||||
# Búsqueda libre: OR en clave y descripciones (selectores / listados)
|
||||
search_raw = filters.get("search") or filters.get("q")
|
||||
if search_raw and str(search_raw).strip():
|
||||
pattern = f"%{str(search_raw).strip()}%"
|
||||
query = query.filter(
|
||||
or_(
|
||||
Class.description_es.ilike(description_pattern),
|
||||
Class.description_en.ilike(description_pattern),
|
||||
Class.class_code.ilike(pattern),
|
||||
Class.description_es.ilike(pattern),
|
||||
Class.description_en.ilike(pattern),
|
||||
)
|
||||
)
|
||||
else:
|
||||
if filters.get("class_code"):
|
||||
query = query.filter(
|
||||
Class.class_code.ilike(f"%{filters['class_code']}%")
|
||||
)
|
||||
if filters.get("description"):
|
||||
description_pattern = f"%{filters['description']}%"
|
||||
query = query.filter(
|
||||
or_(
|
||||
Class.description_es.ilike(description_pattern),
|
||||
Class.description_en.ilike(description_pattern),
|
||||
)
|
||||
)
|
||||
if filters.get("material_key"):
|
||||
query = query.filter(
|
||||
Class.material_key.ilike(f"%{filters['material_key']}%")
|
||||
|
||||
Reference in New Issue
Block a user