Merge branch 'master' into dist/envole/6/master

This commit is contained in:
Arnaud Fornerot 2020-10-21 15:32:13 +02:00
commit f07b95f1e4
3 changed files with 26 additions and 27 deletions

View File

@ -128,7 +128,10 @@ class SecurityController extends Controller
$user->setLastname($lastname); $user->setLastname($lastname);
$user->setFirstname($firstname); $user->setFirstname($firstname);
$user->setEmail($email); $user->setEmail($email);
if(!$sameniveau01) $user->setNiveau02(null); if(!$sameniveau01) {
$user->setNiveau01($niveau01);
$user->setNiveau02(null);
}
if(in_array($username,$this->getParameter("ldap_usersadmin"))) if(in_array($username,$this->getParameter("ldap_usersadmin")))
$user->setRole("ROLE_ADMIN"); $user->setRole("ROLE_ADMIN");

View File

@ -60,19 +60,17 @@ class syncNiveau01 implements EventSubscriber
if ($entity instanceof Niveau01 && ($this->changeSiren||$this->changeLabel)) { if ($entity instanceof Niveau01 && ($this->changeSiren||$this->changeLabel)) {
// On change le SIRET de l'ensemble des utlisateurs associés à cet établissement // On change le SIRET de l'ensemble des utlisateurs associés à ce Niveau01
$qb = $this->em->createQueryBuilder(); // Pas de déclencheur bdd car trop long
$datas= $qb ->select('table')->from('CadolesCoreBundle:User','table') // La synchronisation journalière mettra à jour l'annuaire de l'utilisateur
->where('table.niveau01 = :id') $qb = $this->em->createQueryBuilder();
->setParameter("id", $entity->getId()) $q = $qb->update('CadolesCoreBundle:User','user')
->getQuery() ->set('user.labelniveau01', $qb->expr()->literal($entity->getLabel()))
->getResult(); ->set('user.siren', $qb->expr()->literal($entity->getSiren()))
foreach($datas as $data) { ->where('user.niveau01 = :niveau01')
$data->setSiren($entity->getSiren()); ->setParameter("niveau01", $entity->getId())
$data->setLabelniveau01($entity->getLabel()); ->getQuery();
$this->em->persist($data); $q->execute();
$this->em->flush();
}
} }
} }

View File

@ -59,19 +59,17 @@ class syncNiveau02 implements EventSubscriber
} }
if ($entity instanceof Niveau02 && ($this->changeSiret||$this->changeLabel)) { if ($entity instanceof Niveau02 && ($this->changeSiret||$this->changeLabel)) {
// On change le SIRET de l'ensemble des utlisateurs associés à cet établissement // On change le SIREN de l'ensemble des utlisateurs associés à ce Niveau02
$qb = $this->em->createQueryBuilder(); // Pas de déclencheur bdd car trop long
$datas= $qb ->select('table')->from('CadolesCoreBundle:User','table') // La synchronisation journalière mettra à jour l'annuaire de l'utilisateur
->where('table.niveau02 = :id') $qb = $this->em->createQueryBuilder();
->setParameter("id", $entity->getId()) $q = $qb->update('CadolesCoreBundle:User','user')
->getQuery() ->set('user.labelniveau02', $qb->expr()->literal($entity->getSiret()))
->getResult(); ->set('user.siret', $qb->expr()->literal($entity->getSiren()))
foreach($datas as $data) { ->where('user.niveau02 = :niveau02')
$data->setSiret($entity->getSiret()); ->setParameter("niveau02", $entity->getId())
$data->setLabelniveau02($entity->getLabel()); ->getQuery();
$this->em->persist($data); $q->execute();
$this->em->flush();
}
} }
} }