2.5 KiB
PTA V7.13 — Nom et prénom modifiables sur la fiche agent
Le problème traité
La modale « Modifier les informations de l’agent » couvrait tout sauf l’identité : coordonnées, diplôme, poste, contrat, lieu principal, commentaire PTA. Le nom et le prénom, eux, n’étaient saisis qu’à la création.
Or ils changent : mariage, divorce, nom d’usage, ou plus prosaïquement une faute de frappe lors de la saisie initiale. La seule correction possible passait par une requête SQL — donc par quelqu’un qui a l’accès à la base, ce que la V7.11 s’était justement employée à restreindre.
Ce qui change
Deux champs, Prénom et Nom, ouvrent la modale d’édition. Ils sont obligatoires et bornés à 100 caractères, comme à la création.
Restent volontairement hors d’atteinte :
- le matricule — c’est la clé de rapprochement avec les outils RH, et les plannings comme les PDF déjà produits s’y réfèrent ;
- la quotité de travail — elle détermine le quota annuel déjà consommé ; la changer en cours d’année fausserait rétroactivement tous les suivis.
Un renommage se lit directement dans le journal, sans avoir à comparer deux lignes :
AGENT_MODIFIE Modification de la fiche de l’agent Marc-Antoine LOUIS, renommé depuis « Marc Louis ».
{"id_structure":1,"type_contrat":"PERMANENT","identite_precedente":"Marc Louis"}
L’identité précédente n’apparaît que s’il y a effectivement eu changement : une modification de coordonnées garde la trace courte.
Fichiers
| Fichier | Rôle |
|---|---|
app/Views/partials/administration.php |
Les deux champs dans la modale, data-nom / data-prenom sur la ligne du tableau |
assets/js/administration.js |
Pré-remplissage depuis les data-*, envoi, rafraîchissement de la ligne |
app/Controllers/AgentController.php |
Validation, fiche relue avant modification pour repérer le renommage |
app/Models/AgentModel.php |
nom et prenom dans l’UPDATE de updateProfile() |
Aucune migration : les colonnes existent depuis le socle.
Point d’attention
Les data-* de la ligne du tableau sont la SOURCE de la modale : elle s’ouvre à partir d’eux, sans
appel réseau. Ajouter un champ modifiable impose donc de le poser à trois endroits — le partiel
(attribut data-*), setAgentRowData() et openAgentProfileModal() — sans quoi il s’ouvre vide
puis écrase la valeur existante à l’enregistrement.