Nueva Funcionalidad: 3 Estados para Adjuntos (Ninguno/Opcional/Obligatorio)

He implementado el sistema de 3 estados para el requisito de fotos/archivos que solicitaste.

Problema Original:
Solo había 2 estados:

 Permitir fotos (checkbox activado)
 No permitir fotos (checkbox desactivado)
Faltaba: Fotos opcionales vs obligatorias

Solución Implementada:
3 Estados disponibles:

🚫 No permitir adjuntos (photo_requirement = 'none')

No se muestra el input de fotos
El mecánico NO puede adjuntar archivos
📎 Opcional (photo_requirement = 'optional')

Se muestra el input de fotos
El mecánico PUEDE adjuntar si lo desea
No es obligatorio para continuar
⚠️ Obligatorio (photo_requirement = 'required')

Se muestra el input de fotos con etiqueta "OBLIGATORIO"
El mecánico DEBE adjuntar al menos 1 archivo
Validación bloquea continuar sin adjuntos
This commit is contained in:
2025-12-02 22:22:51 -03:00
parent 35b419a654
commit c4f5d960de
6 changed files with 109 additions and 35 deletions

View File

@@ -209,7 +209,7 @@ def send_completed_inspection_to_n8n(inspection, db):
# No lanzamos excepción para no interrumpir el flujo normal
BACKEND_VERSION = "1.0.93"
BACKEND_VERSION = "1.0.94"
app = FastAPI(title="Checklist Inteligente API", version=BACKEND_VERSION)
# S3/MinIO configuration

View File

@@ -70,7 +70,8 @@ class Question(Base):
points = Column(Integer, default=1)
options = Column(JSON) # Configuración flexible según tipo de pregunta
order = Column(Integer, default=0)
allow_photos = Column(Boolean, default=True)
allow_photos = Column(Boolean, default=True) # DEPRECATED: usar photo_requirement
photo_requirement = Column(String(20), default='optional') # none, optional, required
max_photos = Column(Integer, default=3)
requires_comment_on_fail = Column(Boolean, default=False)
send_notification = Column(Boolean, default=False)