From 37c16686b75ebc922e1f7a04a3363a0626c995a5 Mon Sep 17 00:00:00 2001 From: dmolinari Date: Wed, 13 May 2026 10:18:40 -0300 Subject: [PATCH] chore(contables): CC002 deja de figurar en gral_Permisos MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La reapertura de cierres ya se validaba con User.IsInRole('SuperAdmin') sin chequear CC002. Mantenerlo en gral_Permisos solo agregaba ruido — un permiso filtrado intencionalmente de la UI de asignación. Se quita del catálogo y se simplifica el set PERMISOS_SOLO_SUPERADMIN del frontend a {CS002} (legacy). CS002 se mantiene en el filtro porque ya existía en producción antes del feature. --- .../Contables/CierresCuentaCorrienteController.cs | 3 ++- Frontend/src/pages/Contables/CierresCuentaCorrientePage.tsx | 2 +- Frontend/src/pages/Usuarios/AsignarPermisosAPerfilPage.tsx | 6 ++++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Backend/GestionIntegral.Api/Controllers/Contables/CierresCuentaCorrienteController.cs b/Backend/GestionIntegral.Api/Controllers/Contables/CierresCuentaCorrienteController.cs index 8c28def..b95848a 100644 --- a/Backend/GestionIntegral.Api/Controllers/Contables/CierresCuentaCorrienteController.cs +++ b/Backend/GestionIntegral.Api/Controllers/Contables/CierresCuentaCorrienteController.cs @@ -19,7 +19,8 @@ namespace GestionIntegral.Api.Controllers.Contables private readonly ICierreCuentaCorrienteService _cierreService; private readonly ILogger _logger; - // Permisos asignables a perfiles. La reapertura (CC002) NO se valida acá: es exclusiva de SuperAdmin. + // Permisos asignables a perfiles. La reapertura es exclusiva de SuperAdmin + // y se valida con User.IsInRole('SuperAdmin') — no tiene código en gral_Permisos. private const string PermisoCrear = "CC001"; private const string PermisoVer = "CC003"; diff --git a/Frontend/src/pages/Contables/CierresCuentaCorrientePage.tsx b/Frontend/src/pages/Contables/CierresCuentaCorrientePage.tsx index dab2439..1af7805 100644 --- a/Frontend/src/pages/Contables/CierresCuentaCorrientePage.tsx +++ b/Frontend/src/pages/Contables/CierresCuentaCorrientePage.tsx @@ -67,7 +67,7 @@ const CierresCuentaCorrientePage: React.FC = () => { const { tienePermiso, isSuperAdmin } = usePermissions(); const puedeVer = isSuperAdmin || tienePermiso('CC003'); const puedeCrear = isSuperAdmin || tienePermiso('CC001'); - // Reapertura: exclusivo SuperAdmin (CC002 no se valida — no es asignable a perfiles). + // Reapertura: exclusivo SuperAdmin — sin código de permiso asignable. const puedeReabrir = isSuperAdmin; const [filtroIdDistribuidor, setFiltroIdDistribuidor] = useState(''); diff --git a/Frontend/src/pages/Usuarios/AsignarPermisosAPerfilPage.tsx b/Frontend/src/pages/Usuarios/AsignarPermisosAPerfilPage.tsx index 3125d91..1692530 100644 --- a/Frontend/src/pages/Usuarios/AsignarPermisosAPerfilPage.tsx +++ b/Frontend/src/pages/Usuarios/AsignarPermisosAPerfilPage.tsx @@ -15,8 +15,10 @@ import PermisosChecklist from '../../components/Modals/Usuarios/PermisosChecklis const SECCION_PERMISSIONS_PREFIX = "SS"; // Permisos exclusivos de SuperAdmin: no se asignan a perfiles ni se muestran en la UI de asignación. -// CS002 = Ajuste manual de saldo. CC002 = Reapertura de cierres de cuenta corriente. -const PERMISOS_SOLO_SUPERADMIN: ReadonlySet = new Set(["CS002", "CC002"]); +// CS002 = Ajuste manual de saldo (legacy, ya existía en gral_Permisos antes del filtro). +// La reapertura de cierres también es exclusiva SuperAdmin pero no se insertó en gral_Permisos +// porque sería ruido — el backend valida directamente con User.IsInRole('SuperAdmin'). +const PERMISOS_SOLO_SUPERADMIN: ReadonlySet = new Set(["CS002"]); const getModuloFromSeccionCodAcc = (codAcc: string): string | null => { if (codAcc === "SS001") return "Distribución";