Merge development, resolviendo utilidades combinadas y actualizando ClassDialog

This commit is contained in:
2026-04-16 12:13:39 -05:00
4 changed files with 257 additions and 186 deletions

View File

@@ -48,27 +48,30 @@ class ClassService:
query = query.filter(Class.company_id == company_id)
if filters:
if filters.get("q"):
search = f"%{filters['q']}%"
# 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.class_code.ilike(search),
Class.description_es.ilike(search),
Class.description_en.ilike(search)
Class.class_code.ilike(pattern),
Class.description_es.ilike(pattern),
Class.description_en.ilike(pattern),
)
)
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),
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']}%")