From 9b0ba65ecade3f1bc52bbb312f2f3e301dc38774 Mon Sep 17 00:00:00 2001 From: VPS 4 Builder Date: Tue, 23 Jun 2026 17:49:36 +0200 Subject: [PATCH] =?UTF-8?q?fix(salas):=20restringe=20MINHAS/ALUGAR=20SALAS?= =?UTF-8?q?=20a=20pap=C3=A9is=20de=20loca=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Os menus de locador (MINHAS SALAS) e locatário (ALUGAR SALAS) eram exibidos a "todos menos superadmin", vazando para funcionário e paciente — papéis que não são titulares de sala e não tomam decisões de locação. Passa a exibir apenas a papéis que podem ser titulares (donosala/donoclinica/donoconsultorio/admin/ dentista/biomedico/protetico). Co-Authored-By: Claude Opus 4.8 --- frontend/components/Sidebar.tsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/frontend/components/Sidebar.tsx b/frontend/components/Sidebar.tsx index 0d20272..f83dd84 100644 --- a/frontend/components/Sidebar.tsx +++ b/frontend/components/Sidebar.tsx @@ -37,9 +37,12 @@ export const Sidebar: React.FC = ({ activeTab, setActiveTab }) => pluginMenuItems.push({ id: 'rx-config', label: 'DISPOSITIVOS RX', icon: Monitor, color: '#7c3aed' }); } } - // Locação de Salas: capability SEMPRE ativa (sem desativar) p/ todos menos superadmin. - // Dois menus: administrar as próprias salas (locador) e alugar salas de terceiros (locatário). - if (currentRole !== 'superadmin') { + // Locação de Salas: menus de LOCADOR (administra as próprias salas) e LOCATÁRIO (aluga de + // terceiros). São decisões de NEGÓCIO do titular — não cabem a funcionário (subordinado) nem + // a paciente. Funcionário, quando muito, opera a AGENDA da sala (workspace tipo='sala'), não + // a locação. Por isso restringimos a papéis que podem ser titulares de sala. + const PAPEIS_LOCACAO = ['donosala', 'donoclinica', 'donoconsultorio', 'admin', 'dentista', 'biomedico', 'protetico']; + if (PAPEIS_LOCACAO.includes(currentRole)) { pluginMenuItems.push({ id: 'minhas-salas', label: 'MINHAS SALAS', icon: DoorOpen, color: '#0d9488' }); pluginMenuItems.push({ id: 'alugar-salas', label: 'ALUGAR SALAS', icon: Building2, color: '#0d9488' }); }