Files
ms1inscription-v5/sql/MSIN-4401-hub-dashboard-perm.sql

51 lines
2.0 KiB
SQL

-- MSIN-4401 — Permission page hub : Tableau de bord
-- Prérequis : MSIN-4401-eve-acces-v2-pages-niveau1.sql (groupes page_hub)
-- Idempotent. Safe pilote. Ne touche pas au legacy.
SET NAMES utf8mb4;
INSERT INTO `inscriptions_eve_permissions`
(`perm_key`, `perm_group`, `perm_scope`, `perm_label_fr`, `perm_label_en`,
`perm_description_fr`, `perm_description_en`, `perm_phase`, `perm_actif`, `perm_tri`)
VALUES
('hub.dashboard', 'page_hub', 'page',
'Tableau de bord', 'Dashboard',
'Bouton Tableau de bord du hub (inscrits, places, revenus, epreuves)',
'Hub dashboard button (registrations, spots, revenue, races)',
2, 1, 5)
ON DUPLICATE KEY UPDATE
`perm_group` = VALUES(`perm_group`),
`perm_scope` = VALUES(`perm_scope`),
`perm_label_fr` = VALUES(`perm_label_fr`),
`perm_label_en` = VALUES(`perm_label_en`),
`perm_description_fr` = VALUES(`perm_description_fr`),
`perm_description_en` = VALUES(`perm_description_en`),
`perm_phase` = VALUES(`perm_phase`),
`perm_actif` = VALUES(`perm_actif`),
`perm_tri` = VALUES(`perm_tri`);
/* Kits ops : dashboard oui */
INSERT INTO inscriptions_eve_role_permissions (role_id, perm_key)
SELECT r.role_id, 'hub.dashboard'
FROM inscriptions_eve_roles r
WHERE r.role_code = 'gestion_ops'
ON DUPLICATE KEY UPDATE perm_key = VALUES(perm_key);
/* Kits statut / readonly / bib : pas de dashboard (retire si present) */
DELETE erp FROM inscriptions_eve_role_permissions erp
INNER JOIN inscriptions_eve_roles r ON r.role_id = erp.role_id
WHERE erp.perm_key = 'hub.dashboard'
AND r.role_code IN ('gestion_statut', 'gestion_readonly', 'bib_ops', 'qr_debug');
/* Owner : resync permissions actives (inclut hub.dashboard) */
DELETE erp FROM inscriptions_eve_role_permissions erp
INNER JOIN inscriptions_eve_roles r ON r.role_id = erp.role_id
WHERE r.role_code = 'owner';
INSERT INTO inscriptions_eve_role_permissions (role_id, perm_key)
SELECT r.role_id, p.perm_key
FROM inscriptions_eve_roles r
CROSS JOIN inscriptions_eve_permissions p
WHERE r.role_code = 'owner'
AND p.perm_actif = 1;