Commit aee5f1f1 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Merge branch 'cherry-pick-438f189a' into 'insee'

Correction sur la vérification du code INSEE pour les départements de naissance en outre mer

See merge request !93
parents f75b531b 47abe8c5
Loading
Loading
Loading
Loading
+15 −5
Original line number Diff line number Diff line
@@ -202,7 +202,10 @@ class NumeroINSEEValidator extends NumeroINSEE
    private function isValidDepartementFrance()
    {
        /* Département du numéro INSEE */
        $iDepartement = strtoupper(str_pad((string)$this->getDepartement(), 3, '0', STR_PAD_LEFT));
        $iDepartement = (string)$this->getDepartement();
        if ($iDepartement != '97' && $iDepartement != '98') {
            $iDepartement = strtoupper(str_pad($iDepartement, 3, '0', STR_PAD_LEFT));
        }

        /* Code du département issu du dossier */
        $dDepartement = strtoupper(str_pad((string)$this->departement->getCode(), 3, '0', STR_PAD_LEFT));
@@ -220,6 +223,12 @@ class NumeroINSEEValidator extends NumeroINSEE
            return false; // département étranger
        }

        //On traite les départements d'outre mer (peuvent etre sur deux ou trois chiffres, donc on teste que les deux premiers...)
        if ($iDepartement == '97' || $iDepartement == '98') {
            $dDepartement = substr($dDepartement, 0, 2);
            if ($dDepartement == $iDepartement) return true;
        }

        if ($dDepartement == $iDepartement) return true; // Impec

        if ($iDepartement == '020') {
@@ -310,11 +319,12 @@ class NumeroINSEEValidator extends NumeroINSEE
        if ($iDepartement == '99') {
            return 99; // étranger
        }
        if ($iDepartement == '97' || $iDepartement == '98') {

        /* if ($iDepartement == '97' || $iDepartement == '98') {
             $iDepartement = substr(strtoupper($this->value), 5, 3);

             return (int)$iDepartement;
        }
         }*/

        return (int)$iDepartement;
    }