Files
ms1inscription-v5/sql/MSIN-4485-dossard-print.sql

73 lines
3.1 KiB
SQL

-- MSIN-4485 — Impression dossard PDF (fiche gestion) + droit hors kit total
-- Prérequis : inscriptions_eve_permissions (accès v2)
-- Inclut la colonne MSIN-4484 (perm_grants_all) si absente — safe si 4484 déjà joué
-- Notes : exécution UNIQUEMENT sur dev préprod ; autres env = Navicat structure + sync_static_db
-- Idempotent
--
-- Droit non propagé (perm_grants_all = 0) : activer via extra / matrice explicite
-- sur le compte voulu — pas via kit owner / total.
SET NAMES utf8mb4;
/* MSIN-4484 — colonne hors propagation kit total (si pas déjà exécuté) */
SET @col_exists := (
SELECT COUNT(*)
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'inscriptions_eve_permissions'
AND COLUMN_NAME = 'perm_grants_all'
);
SET @sql := IF(
@col_exists = 0,
'ALTER TABLE `inscriptions_eve_permissions`
ADD COLUMN `perm_grants_all` tinyint(1) unsigned NOT NULL DEFAULT 1
COMMENT ''MSIN-4484 — 1 = incluse dans kit total (grants_all) ; 0 = non propagée''
AFTER `perm_actif`',
'SELECT ''perm_grants_all already exists'' AS info'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
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_grants_all`, `perm_tri`)
VALUES
('inscriptions_gestion.dossard_print', 'inscriptions', 'action',
'Gestion inscription : imprimer le dossard (PDF)',
'Registration mgmt: print bib (PDF)',
'Bouton Imprimer le dossard sur la fiche participant (PDF demi-lettre)',
'Print bib button on participant sheet (half-letter PDF)',
2, 1, 0, 119)
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` = 1,
`perm_grants_all` = 0,
`perm_tri` = VALUES(`perm_tri`);
/* Ne pas laisser ce droit dans un kit par accident (hors propagation). */
DELETE FROM `inscriptions_eve_role_permissions`
WHERE `perm_key` = 'inscriptions_gestion.dossard_print';
DELETE FROM info
WHERE info_prg = 'compte.php'
AND info_clef IN (
'inscr_gestion_btn_dossard_print',
'inscr_gestion_btn_dossard_print_title'
);
INSERT INTO info (info_clef, info_langue, info_texte, info_aide, info_prg, info_description, info_trie, info_actif, info_option1, info_option2, info_option3, info_creation) VALUES
('inscr_gestion_btn_dossard_print', 'fr', 'Imprimer le dossard', '', 'compte.php', 'MSIN-4485', 0, 1, '', '', '', NOW()),
('inscr_gestion_btn_dossard_print', 'en', 'Print bib', '', 'compte.php', 'MSIN-4485', 0, 1, '', '', '', NOW()),
('inscr_gestion_btn_dossard_print_title', 'fr', 'Générer le PDF du dossard', '', 'compte.php', 'MSIN-4485', 0, 1, '', '', '', NOW()),
('inscr_gestion_btn_dossard_print_title', 'en', 'Generate bib PDF', '', 'compte.php', 'MSIN-4485', 0, 1, '', '', '', NOW());