bloque 3: lealtad configurable (motor de puntos con multiplicadores por servicio/categoria/sucursal/dia/nivel, niveles VIP con descuento y factor, expiracion, ajuste manual con motivo y reportes) + propinas en punto de venta con reparto entre el personal, desglose en ticket y corte, y opcion en la liquidacion de comisiones; modo clasico y propinas apagadas preservan el comportamiento actual

This commit is contained in:
2026-10-12 01:37:07 +00:00
parent 1bd4cad6a0
commit 705b5a2842
28 changed files with 2748 additions and 59 deletions

View File

@@ -123,6 +123,17 @@ PERMISSION_GROUPS = [
('comisiones.editar', 'Administrar reglas y metas de comisiones'),
('comisiones.liquidar', 'Generar, ajustar y pagar liquidaciones'),
]),
('lealtad', 'Lealtad y puntos', [
('lealtad.ver', 'Ver saldo, nivel y reportes de lealtad'),
('lealtad.ajustar', 'Ajustar puntos a mano y recalcular el nivel'),
('lealtad.nivel', 'Asignar el nivel VIP a mano'),
('lealtad.configurar', 'Configurar el programa de lealtad y sus niveles'),
]),
('propinas', 'Propinas', [
('propinas.ver', 'Ver el reporte de propinas'),
('propinas.aplicar', 'Aplicar propinas en el punto de venta'),
('propinas.configurar', 'Configurar propinas y su reparto'),
]),
('cobros', 'Cobros y enlaces de pago', [
('cobros.ver', 'Ver enlaces de cobro pendientes y pagados'),
('cobros.administrar', 'Administrar enlaces de cobro'),
@@ -167,6 +178,8 @@ READ_PERM_KEYS = (
'proveedores.ver',
'comisiones.ver',
'cobros.ver',
'lealtad.ver',
'propinas.ver',
)
# ---------------------------------------------------------------------------
@@ -289,6 +302,19 @@ DEFAULT_PERM_ROLES = {
# Cobros y enlaces de pago. Ver es de todos; administrar (crear/cancelar) es
# de admin/gerencia; forzar el cobro (registrar un pago sin pasarela) lo
# hace recepción/gerencia/admin; cancelar retenciones, admin/gerencia.
# Lealtad y puntos. Ver es de todos; ajustar puntos (equivalen a dinero) y
# asignar el nivel a mano es de admin/gerencia; configurar el programa
# (reglas, niveles) también.
'lealtad.ver': ALL,
'lealtad.ajustar': AG,
'lealtad.nivel': AG,
'lealtad.configurar': AG,
# Propinas. Ver el reporte es de todos; aplicar la propina al cobrar lo
# hace quien cobra (recepción); configurar el módulo y el reparto es de
# admin/gerencia.
'propinas.ver': ALL,
'propinas.aplicar': MONEY,
'propinas.configurar': AG,
'cobros.ver': ALL,
'cobros.administrar': AG,
'cobros.forzar': ('admin', 'recepcion', 'gerencia'),