Commit c6856faf authored by Thomas Hamel's avatar Thomas Hamel Committed by Bertrand Gauthier
Browse files

[FIX] Form Individu : Civilité M. n'était pas pris en compte lors de l'enregistrement du formulaire

parent 74ec9727
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ Journal des modifications
- [FIX] Bouton 'Générer l'avis de soutenance' Thèse : déplacement avant 'Feu vert' et correction des conditions d'affichage.
- [FIX] Bouton 'Générer l'avis de soutenance' HDR : déplacement avant 'Feu vert' et correction des conditions d'affichage.
- [FIX] Page de couverture thèse: la récupération de la proposition de soutenance n'appelait pas la bonne méthode
- [FIX] Form Individu : Civilité "M." n'était pas pris en compte lors de l'enregistrement du formulaire

10.1.0
------
+15 −7
Original line number Diff line number Diff line
@@ -498,15 +498,23 @@ class Individu implements
     */
    public function setCivilite(?string $civilite): static
    {
        if ($civilite !== null && !in_array($civilite, self::CIVILITES)) {
            // autres valeurs acceptées mais transcodées
            $civilite = [
                'M' => self::CIVILITE_M,
                'F' => self::CIVILITE_MME,
            ][$civilite] ?? null;
        // Si la civilité est une clé valide du tableau CIVILITES
        if ($civilite !== null && array_key_exists($civilite, self::CIVILITES)) {
            $this->civilite = $civilite;
            return $this;
        }

        $this->civilite = $civilite;
        // Sinon on tente une correspondance simple
        $transcodes = [
            'M' => self::CIVILITE_M,   // 'M' devient 'M.'
            'F' => self::CIVILITE_MME, // 'F' devient 'Mme'
        ];

        if (array_key_exists($civilite, $transcodes)) {
            $this->civilite = $transcodes[$civilite];
        } else {
            $this->civilite = null;
        }

        return $this;
    }