feat: 6 nuevas funcionalidades - notas obligatorias turno, reporte enfermero, plantilla WhatsApp, adjuntar orden modal, roles solo lectura, fix valores copago
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
-- ============================================================
|
||||
-- Migración: Roles de solo lectura para Formularios y Lab
|
||||
-- Descripción: Agrega columna 'permission' a role_modules,
|
||||
-- crea roles de lectura y sus asignaciones de módulos.
|
||||
-- ============================================================
|
||||
|
||||
-- ── 1. Agregar columna permission a role_modules (si no existe) ─────────────
|
||||
ALTER TABLE `role_modules`
|
||||
ADD COLUMN IF NOT EXISTS `permission`
|
||||
ENUM('read','write') NOT NULL DEFAULT 'write'
|
||||
COMMENT 'Nivel de acceso al módulo: read = solo lectura, write = lectura y escritura';
|
||||
|
||||
-- ── 2. Nuevos roles de solo lectura ────────────────────────────────────────
|
||||
INSERT IGNORE INTO `roles` (`name`, `slug`, `description`, `color`, `is_system`) VALUES
|
||||
('Formularios (Lectura)', 'formularios_readonly', 'Ver y enviar formularios. Sin crear ni editar plantillas.', '#17a2b8', 0),
|
||||
('Lab Solo Lectura', 'lab_readonly', 'Ver órdenes y domicilios. Sin crear, editar ni eliminar.', '#6c757d', 0);
|
||||
|
||||
-- ── 3. Módulos para rol Formularios (Lectura) ───────────────────────────────
|
||||
INSERT IGNORE INTO `role_modules` (`role_id`, `module_slug`, `permission`)
|
||||
SELECT r.id, 'lab_formularios', 'read'
|
||||
FROM `roles` r WHERE r.slug = 'formularios_readonly';
|
||||
|
||||
-- ── 4. Módulos para rol Lab Solo Lectura ────────────────────────────────────
|
||||
INSERT IGNORE INTO `role_modules` (`role_id`, `module_slug`, `permission`)
|
||||
SELECT r.id, 'lab_ordenes', 'read'
|
||||
FROM `roles` r WHERE r.slug = 'lab_readonly';
|
||||
|
||||
INSERT IGNORE INTO `role_modules` (`role_id`, `module_slug`, `permission`)
|
||||
SELECT r.id, 'lab_domicilios', 'read'
|
||||
FROM `roles` r WHERE r.slug = 'lab_readonly';
|
||||
|
||||
INSERT IGNORE INTO `role_modules` (`role_id`, `module_slug`, `permission`)
|
||||
SELECT r.id, 'lab_pacientes', 'read'
|
||||
FROM `roles` r WHERE r.slug = 'lab_readonly';
|
||||
|
||||
-- ── 5. También asignar acceso al dashboard a ambos roles nuevos ─────────────
|
||||
INSERT IGNORE INTO `role_modules` (`role_id`, `module_slug`, `permission`)
|
||||
SELECT r.id, 'lab_dashboard', 'read'
|
||||
FROM `roles` r WHERE r.slug IN ('formularios_readonly', 'lab_readonly');
|
||||
Reference in New Issue
Block a user