bloque 5: tablero de direccion (pagina /direccion con permiso propio: resumen con comparativos, cohortes de retencion, valor por cliente, clientes en riesgo, ocupacion por medico/sucursal/recurso, ingresos por servicio y sucursal, membresias y paquetes, pasivo de lealtad, metas por sucursal con proyeccion y exportacion) con cifras cruzadas contra los reportes existentes y consultas agrupadas (menos de 2 s)

This commit is contained in:
2026-10-12 03:34:00 +00:00
parent a6d6df4ebd
commit 6139df6327
15 changed files with 2256 additions and 3 deletions

View File

@@ -85,6 +85,9 @@ PERMISSION_GROUPS = [
('caja.ver', 'Ver cortes de caja'),
('caja.cerrar', 'Cerrar caja'),
]),
('direccion', 'Tablero de dirección', [
('direccion.ver', 'Ver el tablero de dirección'),
]),
('whatsapp', 'WhatsApp y leads', [
('whatsapp.ver', 'Ver conversaciones y leads'),
('whatsapp.responder', 'Responder conversaciones'),
@@ -272,6 +275,10 @@ DEFAULT_PERM_ROLES = {
'reportes.exportar': ALL,
'caja.ver': ALL,
'caja.cerrar': MONEY,
# Tablero de dirección: solo dueño/administración y marketing. NO entra el
# rol médico (ni los roles de solo lectura); su visibilidad de menú también
# queda excluida para 'medico' y 'lectura' en roles.py.
'direccion.ver': ('admin', 'gerencia', 'marketing'),
# WhatsApp y leads (menú WACRM: admin, recepcion, gerencia, marketing)
'whatsapp.ver': W,
'whatsapp.responder': W,