Fix: corregir lógica de permisos para iniciar internación

- Verifica que usuario tenga areaId asignada antes de restricciones
- Usuarios sin área asignada solo pueden usar 'Fuera de área'
This commit is contained in:
2026-04-24 00:16:58 -03:00
parent ec71eadd42
commit d0b25480c9
+5 -3
View File
@@ -214,9 +214,11 @@ export function useHospitalStore() {
const areaId = internacion.areaId || null; const areaId = internacion.areaId || null;
const area = state.areas.find(a => a.id === areaId); const area = state.areas.find(a => a.id === areaId);
const esFueraDeArea = area && (area.nombre || '').trim().toLowerCase() === 'fuera de area'; const esFueraDeArea = area && (area.nombre || '').trim().toLowerCase() === 'fuera de area';
if (user && user.rol !== 'admin' && !esFueraDeArea && areaId && user.areaId !== areaId) { if (user && user.rol !== 'admin' && !esFueraDeArea) {
console.warn('No tiene permisos para iniciar internación en esta área'); if (!user.areaId || user.areaId !== areaId) {
return null; console.warn('No tiene permisos para iniciar internación en esta área');
return null;
}
} }
const nuevaInternacion: Internacion = { const nuevaInternacion: Internacion = {
...internacion, ...internacion,