from __future__ import annotations LABELS = { "RECENT": "Reciente", "ATTENTION": "Requiere atención", "OVERDUE": "Vencida", "APPLIED": "Aplicada", "ERROR": "Error", "PRODUCTION_REVIEW": "Revisión de Producción", "CONSULTATION": "Consulta", "CONTEXT_PROPOSAL": "Propuesta de contexto", "MARK_IN_CONSULTATION": "Marcada En consulta", "CLOSE_CONSULTATION": "Consulta cerrada", "WARNING": "Aviso", "CRITICAL": "Crítica", "PENDING": "Pendiente", "REVIEWED": "Resuelta", "DISMISSED": "Descartada", "NOT_REQUIRED": "No requiere revisión", "OPEN": "Activa", "CLOSED": "Terminada", "ACTIVE": "Activa", "ENDED": "Terminada", "IN_CONSULTATION": "En consulta", "PRODUCTION": "Producción", "TECHNICAL": "Técnico", "JOINT": "Conjunto", "ADMIN": "Administrador", "AUTHORIZED_LEGACY_PRODUCTION": "Producción con el sistema antiguo", "ODOO_START_OMITTED": "Producción real, pero se olvidó iniciar Odoo", "TEST_OR_SETUP": "Prueba, ajuste o preparación", "RESIDUAL_MATERIAL": "Material residual o vaciado de máquina", "MAINTENANCE": "Mantenimiento", "NOT_PRODUCTION": "No era producción", "NOT_RELEVANT": "No era producción", "ODOO_DOUBLE_START_ONE_VALID": "Una orden era válida y la otra quedó abierta por error", "ODOO_DOUBLE_START_BOTH_INVALID": "Ninguna de las órdenes era válida", "ODOO_CONSECUTIVE_ORDERS_NOT_CLOSED": "Eran órdenes consecutivas y la anterior no se cerró", "DATA_ISSUE": "Incidencia de datos o configuración", "OTHER": "Otro", "LEGACY_ERP": "Sistema antiguo", "TEST_SETUP": "Prueba o ajuste", "APPROVED": "Aprobado", "REJECTED": "Rechazado", "NEEDS_CLARIFICATION": "Requiere aclaración", "CANCELLED": "Cancelado", "APPROVE": "Aprobar contexto", "REJECT": "Rechazar propuesta", "REQUEST_CLARIFICATION": "Solicitar aclaración", "CLARIFICATION_RESPONSE": "Aclaración respondida", } def label(value: object) -> str: if value is None: return "—" raw = str(value) return LABELS.get( raw, raw.replace("_", " ").capitalize(), )