Skip to content
Snippets Groups Projects
Commit 1da2648c authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Correctif pour tous les cas d'intervenants ayant un code INSEE contenant 75 et...

Correctif pour tous les cas d'intervenants ayant un code INSEE contenant 75 et nés en Seine et Oise <=1968.
parent 21e27334
No related branches found
No related tags found
No related merge requests found
......@@ -22,6 +22,7 @@ ne sont plus affichées lorsqu'on clique sur l'utilisateur en haut à droite.
* Dans la fiche de service, les codes des éléments et des étapes s'affichent de nouveau (ils n'étaient plus visibles)
* Lorsqu'on crée un nouveau rôle et qu'on lui ajoute des privilèges, l'application ne plante plus (problème de cache de données réglé).
* Dans l'export Winpaye, le numéro INSEE est maintenant correctement formatté (il supprime les espaces en trop, et ajoute des zéros devant les clés si nécessaire)
* Dans le dossier, les Numéros INSEE avec pour département 75 sont comptés valides par rapport au département de naissance si l'intervenant est né en actuelle région parisienne avant 1968.
## Nouveautés
* Nouveau script de test d'accès à la BDD depuis le script de mise à jour (./bin/ose test-bdd)
......
......@@ -139,4 +139,16 @@ class Departement implements HistoriqueAwareInterface, ImportAwareInterface
return $this->id;
}
/**
* @return bool
*/
public function inIleDeFrance(): bool
{
$intCode = (int)$this->getCode();
return in_array($intCode, [78,91,92,93,94,95]);
}
}
......@@ -2,6 +2,8 @@
namespace Application\Validator;
use Application\Constants;
use Application\Entity\Db\Departement;
use Application\Service\Traits\CiviliteServiceAwareTrait;
use Application\Service\Traits\DepartementServiceAwareTrait;
use Application\Service\Traits\PaysServiceAwareTrait;
......@@ -218,8 +220,6 @@ class NumeroINSEEValidator extends NumeroINSEE
if (empty($context['departementNaissance'])) {
return true;
}
$departementNaissance = $this->getServiceDepartement()->get($context['departementNaissance'], true);
/* @var $departementNaissance DepartementEntity */
// Si on trouve un code de département en métropole ou outre-mer valide,
// on vérifie qu'il est cohérent avec le code du département de naissance saisi
......@@ -228,11 +228,25 @@ class NumeroINSEEValidator extends NumeroINSEE
||
($d = $this->getDepartementOutreMerValide($value))
) {
/* @var $departementNaissance Departement */
$departementNaissance = $this->getServiceDepartement()->get($context['departementNaissance'], true);
if ($d !== $departementNaissance->getCode()) {
$return = false;
$dateNaissance = \DateTime::createFromFormat(Constants::DATE_FORMAT, $context['dateNaissance']);
if ($dateNaissance) {
$anneeNaissance = (int)$dateNaissance->format('Y');
if ($anneeNaissance <= 1968) {
if ($departementNaissance->inIleDeFrance() && $d === '075') {
$return = true;
}
}
}
if (!$return) {
$this->error(self::MSG_DEPT);
return false;
}
}
} // Sinon, le code département n'est pas valide
else {
$this->error(self::MSG_DEPT);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment