Files
pta/database/migration_v7_9b_droit_enveloppe_formation.sql
PTA 30cb50031d Droit à l'enveloppe de formation par agent, et motif « Formation » filtré à la saisie
Nouvelle colonne `agent.droit_enveloppe_formation`, cochée par défaut, saisie à
la création de l'agent et modifiable depuis sa fiche. Un agent sans ce droit :

- ne voit plus le motif « Formation » dans le sélecteur de motif de l'éditeur de
  planning ni dans le modal de la vue individuelle ;
- se voit refuser toute affectation de ce motif par le serveur, avec un message
  qui nomme le motif et l'agent (save_planning.php et update_agent_entry.php) ;
- a une enveloppe de formation de 0 min au PTA annuel, et une ALERTE
  FORMATION_SANS_DROIT si des heures de formation subsistent dans son planning.

À ne pas confondre avec `formation_repartition_annuelle`, qui existait déjà :
celle-ci dit que la formation est déjà comptée dans la répartition annuelle —
l'agent y a droit, l'enveloppe complémentaire n'est simplement pas ajoutée. Les
deux règles sont désormais rassemblées dans AgentModel::trainingEnvelopeMinutes(),
qui remplace les deux calculs « 840 ou 0 » jusque-là dupliqués.

Le motif interdit reste affiché lorsqu'il est déjà celui de la plage en cours
d'édition : le retirer de la liste changerait silencieusement le motif d'une
saisie existante. C'est le contrôle de saisie, puis le serveur, qui demandent
alors de corriger la plage.

La migration est nommée v7_9b et non v7_10 : les fichiers sont joués dans
l'ordre alphabétique, où « v7_10 » passerait avant « v7_8 ».

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 15:30:43 +02:00

26 lines
1.4 KiB
SQL

-- ============================================================================
-- PTA — Droit à l'enveloppe annuelle de formation (14 h)
-- ============================================================================
-- Tous les agents ne bénéficient pas de l'enveloppe complémentaire de 14 h de
-- formation. Cette colonne porte ce droit, coché par défaut à la création d'un
-- agent. Un agent sans ce droit ne peut plus se voir affecter le motif
-- « Formation » lors de la saisie des horaires, et son enveloppe de formation
-- au PTA annuel vaut 0.
--
-- À ne pas confondre avec `formation_repartition_annuelle`, déjà présente :
-- celle-ci signale que la formation est DÉJÀ comptée dans la répartition
-- annuelle de l'agent — l'agent y a droit, l'enveloppe complémentaire n'est
-- simplement pas ajoutée par-dessus.
--
-- Nommage : les migrations sont jouées dans l'ordre alphabétique. Le suffixe
-- « 9b » place ce fichier après migration_v7_9_tableau_de_bord.sql, ce qu'un
-- « v7_10 » ou « v7_11 » n'aurait pas fait ('1' trie avant '8' et '9').
--
-- Idempotente : rejouable sans effet de bord.
-- ============================================================================
ALTER TABLE agent
ADD COLUMN IF NOT EXISTS droit_enveloppe_formation BOOLEAN NOT NULL DEFAULT TRUE
COMMENT 'Droit à l''enveloppe annuelle complémentaire de 14 h de formation'
AFTER formation_repartition_annuelle;