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

@@ -0,0 +1,22 @@
-- Migración: Cambiar allow_photos de Boolean a String con 3 estados
-- Fecha: 2025-12-02
-- Descripción: Agregar soporte para fotos opcionales/obligatorias/no permitidas
-- Paso 1: Agregar nueva columna
ALTER TABLE questions ADD COLUMN photo_requirement VARCHAR(20) DEFAULT 'optional';
-- Paso 2: Migrar datos existentes
UPDATE questions
SET photo_requirement = CASE
WHEN allow_photos = TRUE THEN 'optional'
WHEN allow_photos = FALSE THEN 'none'
ELSE 'optional'
END;
-- Paso 3: Eliminar columna antigua (opcional, comentar si quieres mantener compatibilidad)
-- ALTER TABLE questions DROP COLUMN allow_photos;
-- Nota: Los valores válidos son:
-- 'none' = No se permiten fotos
-- 'optional' = Fotos opcionales (puede adjuntar o no)
-- 'required' = Fotos obligatorias (debe adjuntar al menos 1)