refactor: enhance invoice filtering and dropdown menu functionality

- Updated SQLAlchemy imports for better clarity and organization in invoice service.
- Refactored dropdown menu components to improve state management and accessibility.
- Adjusted invoice year filter logic for consistency in dashboard components.
- Improved internationalization handling in invoice titles and headers.
This commit is contained in:
2026-04-29 09:03:01 -05:00
parent 77039acff4
commit c92d114080
4 changed files with 30 additions and 23 deletions

View File

@@ -1,7 +1,7 @@
import traceback
from typing import Optional, List, Tuple
from sqlalchemy.orm import Session
from sqlalchemy import func
from sqlalchemy import and_, func, or_
from core.exceptions import ErrorCollector, DuplicateResourceException
from core.context import get_user_context
from .common.mappers import clean_dict
@@ -328,7 +328,6 @@ class InvoiceService:
# Filtro por permisos granulares (allowed_types)
if "allowed_types" in filters:
from sqlalchemy import or_, and_
allowed = filters["allowed_types"]
if allowed is None:
# Acceso global (admin o view_all) - no filtramos por tipos
@@ -337,7 +336,6 @@ class InvoiceService:
# Seguridad: Si el usuario NO tiene permisos para ningún tipo específico
query = query.filter(models.InvoiceHeader.id == -1)
else:
from sqlalchemy import func
conditions = []
for op, inv in allowed:
# Aseguramos comparación insensible a mayúsculas para mayor robustez con la DB