fase 2.1: roles editables (modelo skeen.role) y permisos por accion (43 claves, 9 grupos) con enforcement en backend y gating en frontend; editor de roles/permisos/menus en Configuracion

This commit is contained in:
2026-10-11 07:32:29 +00:00
parent 75736967ef
commit 28a690aa0f
24 changed files with 1637 additions and 157 deletions

View File

@@ -34,7 +34,7 @@ const PASOS = [
] as const;
const Cortes: FC = () => {
const { brand } = useAuth();
const { brand, can } = useAuth();
const [closings, setClosings] = useState<CashClosing[]>([]);
const [loading, setLoading] = useState(true);
const [error, setError] = useState<string | null>(null);
@@ -479,7 +479,8 @@ const Cortes: FC = () => {
<ChevronRight size={16} className="ml-1" />
</Button>
) : (
<Button onClick={cerrarCaja} loading={submitting}>
<Button onClick={cerrarCaja} loading={submitting} disabled={!can('caja.cerrar')}
title={can('caja.cerrar') ? undefined : 'Sin permiso para cerrar caja'}>
<Lock size={16} className="mr-1.5" />
Cerrar caja
</Button>