V7.10 — Tableau de bord, guide, semaine type et enveloppe de formation
Reprise dans le répertoire de production du travail mené dans le worktree ux-service-enfance : - tableau de bord Service Enfance (dashboard.php) et navigation regroupée ; - guide d'utilisation (faq.php) accessible depuis toute la navigation ; - éditeur de semaine type mis en avant sur l'écran de saisie ; - droit à l'enveloppe de formation par agent, en remplacement de la case « formation déjà prévue dans la répartition annuelle » ; - correctif de « [object Object] » sur les cartes de quota du PTA ; - motif de travail par défaut à la saisie, heures travaillées complètes dans les PDF. Le docker-compose.yml de production est conservé : celui du worktree décrit une pile de test (conteneurs et volume suffixés « test », ports 9080/9081), qui aurait fait redémarrer l'application sur un volume MariaDB vide. Les migrations database/migration_v7_9*.sql sont obligatoires ; le service db-migrate les applique au déploiement. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -31,6 +31,7 @@
|
||||
entries: [],
|
||||
otherStructureEntries: [],
|
||||
currentStructure: null,
|
||||
currentAgent: null,
|
||||
planningId: null,
|
||||
planningStatus: null,
|
||||
weekDays: [],
|
||||
@@ -44,10 +45,21 @@
|
||||
|
||||
const dayNames = ['Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi'];
|
||||
|
||||
/**
|
||||
* Échappe une valeur pour l'insertion dans du HTML, texte ET attribut.
|
||||
*
|
||||
* La sérialisation via textContent/innerHTML n'échappe ni " ni ' : elle est
|
||||
* sûre entre deux balises, mais permet de sortir d'un attribut value="…" ou
|
||||
* title="…". PTA insère des libellés de vacances, des noms de lieux et des
|
||||
* commentaires dans des attributs : les guillemets doivent être échappés.
|
||||
*/
|
||||
function escapeHtml(value) {
|
||||
const div = document.createElement('div');
|
||||
div.textContent = String(value ?? '');
|
||||
return div.innerHTML;
|
||||
return String(value ?? '')
|
||||
.replaceAll('&', '&')
|
||||
.replaceAll('<', '<')
|
||||
.replaceAll('>', '>')
|
||||
.replaceAll('"', '"')
|
||||
.replaceAll("'", ''');
|
||||
}
|
||||
|
||||
function showMessage(text, type = 'info') {
|
||||
|
||||
Reference in New Issue
Block a user