3.2 KiB
3.2 KiB
Módulo de administración del tarifario — Tablero CDC
Qué incorpora
- Botón Tarifario inmediatamente antes de + Nuevo.
- El botón depende exclusivamente de
tablero_cdc_allowed_users.can_manage_tariff_catalog. - Administración de las secciones generales existentes:
- Tarifario Gráfico CDC.
- Estrategia y Creatividad.
- Creación de nuevas secciones generales.
- Creación de tarifarios especiales vinculados a cualquier cliente activo del Tablero CDC.
- Edición, desactivación y reactivación de secciones y tarifas.
- Las tarifas especiales se muestran únicamente cuando el proyecto tiene seleccionado el cliente asociado.
- Cada tarifario especial utiliza selección múltiple de piezas con montos fijos y puede permitir un costo manual adicional.
- Los proyectos históricos no se modifican.
Orden de instalación
- Ejecutar completo
supabase_tariff_admin_module.sqlen Supabase. - Confirmar que las consultas de verificación muestran a Isaac, Gerardo y Alicia con
can_manage_tariff_catalog = true. - Ejecutar
npm run buildo utilizar eldistincluido, que ya contiene el módulo. - Probar localmente con XAMPP.
- Publicar el
distvalidado.
Dar acceso a otra persona
La persona debe existir primero como usuario activo del Tablero CDC. Luego ejecutar:
update public.tablero_cdc_allowed_users
set can_manage_tariff_catalog = true,
updated_at = now()
where lower(trim(email)) = lower(trim('correo@gomezleemarketing.com'));
Quitar acceso al módulo
update public.tablero_cdc_allowed_users
set can_manage_tariff_catalog = false,
updated_at = now()
where lower(trim(email)) = lower(trim('correo@gomezleemarketing.com'));
Después del cambio, el usuario debe recargar la aplicación. Si tenía una sesión abierta desde antes, puede cerrar sesión y volver a entrar para que el permiso se lea nuevamente.
Verificar quién tiene acceso
select
email,
full_name,
is_active,
can_manage_tariff_catalog
from public.tablero_cdc_allowed_users
where can_manage_tariff_catalog = true
order by full_name, email;
Pruebas recomendadas
- Isaac, Gerardo y Alicia ven el botón Tarifario.
- Un usuario sin el permiso no ve el botón y tampoco puede escribir en las tablas por RLS.
- Editar una tarifa de una sección general y verificarla dentro de un proyecto de un cliente normal.
- Crear una sección general nueva, agregar una tarifa y verificar que aparezca en el estimador interno.
- Crear un tarifario por cliente, asociarlo a un cliente de prueba y agregar dos piezas con montos fijos.
- Abrir un proyecto de ese cliente y verificar selección múltiple, subtotal y costo manual.
- Abrir un proyecto de otro cliente y confirmar que el tarifario especial no aparezca.
- Desactivar una tarifa y comprobar que deja de ofrecerse sin borrar costos históricos.
Compatibilidad con el sincronizador del Sheet
- Las tarifas administradas desde la app se marcan con
managed_by = 'app'. - El sincronizador de n8n no puede sobrescribir tarifas que ya hayan sido administradas desde la app.
- La desactivación masiva del Sheet solo afecta las tarifas gestionadas por el Sheet en las secciones originales.
- Las nuevas secciones y los tarifarios especiales permanecen protegidos.