bloque 2: cuenta del cliente (modulo skeen_portal_cliente: acceso con codigo por WhatsApp o enlace por correo, sesion propia separada del personal, mis citas con cancelar y reagendar, pagos, monedero, paquetes, membresias con pago del periodo, formularios, documentos y perfil; invitacion y control de sesiones desde el expediente); apagado por defecto

This commit is contained in:
2026-10-12 00:33:32 +00:00
parent 6a6c2a928b
commit 1bd4cad6a0
26 changed files with 3981 additions and 5 deletions

View File

@@ -46,6 +46,8 @@ TIPOS = [
('formulario', 'Formulario'),
('renovacion_membresia', 'Renovación de membresía'),
('cobro_membresia', 'Cobro de membresía'),
('acceso_codigo', 'Código de acceso al portal'),
('acceso_enlace', 'Enlace de acceso al portal'),
('manual', 'Manual'),
]
CANALES = [('whatsapp', 'WhatsApp'), ('email', 'Correo')]
@@ -73,6 +75,9 @@ PLANTILLA_POR_TIPO = {
'renovacion_membresia': 'plantilla_renovacion_membresia',
# Aviso con enlace de pago del periodo (cobro automático de membresías).
'cobro_membresia': 'plantilla_cobro_membresia',
# Acceso a la cuenta del cliente (portal): código de 6 dígitos o enlace.
'acceso_codigo': 'plantilla_codigo_acceso',
'acceso_enlace': 'plantilla_enlace_acceso',
'manual': 'plantilla_recordatorio',
}

View File

@@ -50,6 +50,8 @@ PERMISSION_GROUPS = [
('pacientes.eliminar', 'Eliminar pacientes'),
('pacientes.exportar', 'Exportar pacientes'),
('pacientes.saldos', 'Ver saldos y adeudos'),
('portal.invitar', 'Invitar al portal del cliente y cerrar sus sesiones'),
('portal.sesiones', 'Ver quién tiene acceso al portal del cliente'),
]),
('visitas', 'Visitas y expedientes', [
('visitas.ver', 'Ver visitas'),
@@ -213,6 +215,10 @@ DEFAULT_PERM_ROLES = {
'pacientes.eliminar': W,
'pacientes.exportar': ALL,
'pacientes.saldos': ALL,
# Portal del cliente: invitar y cerrar sesiones, y ver el listado de
# accesos, es de recepción/gerencia/admin (dato de contacto del paciente).
'portal.invitar': ('admin', 'recepcion', 'gerencia'),
'portal.sesiones': ('admin', 'recepcion', 'gerencia'),
# Visitas
'visitas.ver': ALL,
'visitas.crear': W,