correctif sur mise à jour de niveau sso
This commit is contained in:
parent
61abb269e4
commit
463cf49fe0
|
@ -128,7 +128,10 @@ class SecurityController extends Controller
|
|||
$user->setLastname($lastname);
|
||||
$user->setFirstname($firstname);
|
||||
$user->setEmail($email);
|
||||
if(!$sameniveau01) $user->setNiveau02(null);
|
||||
if(!$sameniveau01) {
|
||||
$user->setNiveau01($niveau01);
|
||||
$user->setNiveau02(null);
|
||||
}
|
||||
if(in_array($username,$this->getParameter("ldap_usersadmin")))
|
||||
$user->setRole("ROLE_ADMIN");
|
||||
|
||||
|
|
|
@ -60,19 +60,17 @@ class syncNiveau01 implements EventSubscriber
|
|||
|
||||
|
||||
if ($entity instanceof Niveau01 && ($this->changeSiren||$this->changeLabel)) {
|
||||
// On change le SIRET de l'ensemble des utlisateurs associés à cet établissement
|
||||
$qb = $this->em->createQueryBuilder();
|
||||
$datas= $qb ->select('table')->from('CadolesCoreBundle:User','table')
|
||||
->where('table.niveau01 = :id')
|
||||
->setParameter("id", $entity->getId())
|
||||
->getQuery()
|
||||
->getResult();
|
||||
foreach($datas as $data) {
|
||||
$data->setSiren($entity->getSiren());
|
||||
$data->setLabelniveau01($entity->getLabel());
|
||||
$this->em->persist($data);
|
||||
$this->em->flush();
|
||||
}
|
||||
// On change le SIRET de l'ensemble des utlisateurs associés à ce Niveau01
|
||||
// Pas de déclencheur bdd car trop long
|
||||
// La synchronisation journalière mettra à jour l'annuaire de l'utilisateur
|
||||
$qb = $this->em->createQueryBuilder();
|
||||
$q = $qb->update('CadolesCoreBundle:User','user')
|
||||
->set('user.labelniveau01', $qb->expr()->literal($entity->getLabel()))
|
||||
->set('user.siren', $qb->expr()->literal($entity->getSiren()))
|
||||
->where('user.niveau01 = :niveau01')
|
||||
->setParameter("niveau01", $entity->getId())
|
||||
->getQuery();
|
||||
$q->execute();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -59,19 +59,17 @@ class syncNiveau02 implements EventSubscriber
|
|||
}
|
||||
|
||||
if ($entity instanceof Niveau02 && ($this->changeSiret||$this->changeLabel)) {
|
||||
// On change le SIRET de l'ensemble des utlisateurs associés à cet établissement
|
||||
$qb = $this->em->createQueryBuilder();
|
||||
$datas= $qb ->select('table')->from('CadolesCoreBundle:User','table')
|
||||
->where('table.niveau02 = :id')
|
||||
->setParameter("id", $entity->getId())
|
||||
->getQuery()
|
||||
->getResult();
|
||||
foreach($datas as $data) {
|
||||
$data->setSiret($entity->getSiret());
|
||||
$data->setLabelniveau02($entity->getLabel());
|
||||
$this->em->persist($data);
|
||||
$this->em->flush();
|
||||
}
|
||||
// On change le SIREN de l'ensemble des utlisateurs associés à ce Niveau02
|
||||
// Pas de déclencheur bdd car trop long
|
||||
// La synchronisation journalière mettra à jour l'annuaire de l'utilisateur
|
||||
$qb = $this->em->createQueryBuilder();
|
||||
$q = $qb->update('CadolesCoreBundle:User','user')
|
||||
->set('user.labelniveau02', $qb->expr()->literal($entity->getSiret()))
|
||||
->set('user.siret', $qb->expr()->literal($entity->getSiren()))
|
||||
->where('user.niveau02 = :niveau02')
|
||||
->setParameter("niveau02", $entity->getId())
|
||||
->getQuery();
|
||||
$q->execute();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue