fix(activeuser): user isactive & adress niveau & route all
This commit is contained in:
@ -424,8 +424,13 @@ class SynchroCommand extends Command
|
||||
if (!in_array($user->getUsername(), $tbusers)) {
|
||||
if ($user->getId() > 0) {
|
||||
$this->writeln(' > '.$user->getUSername());
|
||||
$this->em->remove($user);
|
||||
$this->em->flush();
|
||||
try {
|
||||
$this->em->remove($user);
|
||||
$this->em->flush();
|
||||
} catch (\Exception $e) {
|
||||
$user->setIsactive(false);
|
||||
$this->em->flush();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -518,7 +523,7 @@ class SynchroCommand extends Command
|
||||
|
||||
$this->writeln('');
|
||||
$this->writeln('== USER =============================================');
|
||||
$users = $this->em->getRepository("App\Entity\User")->findAll();
|
||||
$users = $this->em->getRepository("App\Entity\User")->findBy(['isactive' => true]);
|
||||
$attributes = $this->ldap->listAttributesUser();
|
||||
foreach ($users as $user) {
|
||||
$filter = str_replace('*', $user->getUsername(), $this->filteruser);
|
||||
@ -534,7 +539,7 @@ class SynchroCommand extends Command
|
||||
|
||||
$ldapentrys = $this->ldap->search($this->filteruser, $attributes, $this->baseuser);
|
||||
foreach ($ldapentrys as $ldapentry) {
|
||||
$user = $this->em->getRepository("App\Entity\User")->findOneBy(['username' => $ldapentry['uid']]);
|
||||
$user = $this->em->getRepository("App\Entity\User")->findOneBy(['username' => $ldapentry['uid'], 'isactive' => true]);
|
||||
if (!$user) {
|
||||
$this->writeln($ldapentry['uid'].' = DELETE');
|
||||
$dn = $this->ldap->getUserDN($ldapentry['uid']);
|
||||
@ -959,8 +964,13 @@ class SynchroCommand extends Command
|
||||
if (!in_array($user->getUsername(), $tbusers)) {
|
||||
if ($user->getId() > 0) {
|
||||
$this->writeln(' > '.$user->getUsername());
|
||||
$this->em->remove($user);
|
||||
$this->em->flush();
|
||||
try {
|
||||
$this->em->remove($user);
|
||||
$this->em->flush();
|
||||
} catch (\Exception $e) {
|
||||
$user->setIsactive(false);
|
||||
$this->em->flush();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ class GroupController extends AbstractController
|
||||
return $this->render($this->twig.'list.html.twig', [
|
||||
'useheader' => true,
|
||||
'usemenu' => false,
|
||||
'usesidebar' => ('user' != $access),
|
||||
'usesidebar' => ('all' != $access),
|
||||
'access' => $access,
|
||||
]);
|
||||
}
|
||||
@ -43,7 +43,7 @@ class GroupController extends AbstractController
|
||||
// Nombre total d'enregistrement
|
||||
$qb = $em->getManager()->createQueryBuilder();
|
||||
$qb->select('COUNT(entity)')->from($this->entity, 'entity')->getQuery()->getSingleScalarResult();
|
||||
if ('user' == $access) {
|
||||
if ('all' == $access) {
|
||||
$qb->from('App:UserGroup', 'usergroup')
|
||||
->andWhere('entity.isworkgroup=:flag')
|
||||
->andWhere('entity.id=usergroup.group')
|
||||
@ -66,7 +66,7 @@ class GroupController extends AbstractController
|
||||
->setParameter('value', '%'.$search['value'].'%')
|
||||
->getQuery()
|
||||
->getSingleScalarResult();
|
||||
if ('user' == $access) {
|
||||
if ('all' == $access) {
|
||||
$qb->from('App:UserGroup', 'usergroup')
|
||||
->andWhere('entity.isworkgroup=:flag')
|
||||
->andWhere('entity.id=usergroup.group')
|
||||
@ -89,7 +89,7 @@ class GroupController extends AbstractController
|
||||
$qb = $em->getManager()->createQueryBuilder();
|
||||
$qb->select('entity')
|
||||
->from($this->entity, 'entity');
|
||||
if ('user' == $access) {
|
||||
if ('all' == $access) {
|
||||
$qb->from('App:UserGroup', 'usergroup')
|
||||
->andWhere('entity.isworkgroup=:flag')
|
||||
->andWhere('entity.id=usergroup.group')
|
||||
@ -146,7 +146,7 @@ class GroupController extends AbstractController
|
||||
}
|
||||
break;
|
||||
|
||||
case 'user':
|
||||
case 'all':
|
||||
if ($this->canupdate($access, $data, $em, false)) {
|
||||
$action .= "<a href='".$this->generateUrl(str_replace('_admin_', '_'.$access.'_', $this->route).'_update', ['id' => $data->getId()])."'><i class='fa fa-file fa-fw fa-2x'></i></a>";
|
||||
}
|
||||
@ -164,8 +164,10 @@ class GroupController extends AbstractController
|
||||
|
||||
$userinfo = '';
|
||||
if ($data->getOwner()) {
|
||||
$userinfo .= "<img src='".$this->generateUrl('app_minio_image', ['file' => 'avatar/'.$data->getOwner()->getAvatar()])."' class='avatar'>";
|
||||
$userinfo .= '<br>'.$data->getOwner()->getUsername();
|
||||
$userinfo .= '<div class="d-flex align-items-center">';
|
||||
$userinfo .= "<img src='".$this->generateUrl('app_minio_image', ['file' => 'avatar/'.$data->getOwner()->getAvatar()])."' class='avatar me-2'>";
|
||||
$userinfo .= '<div>'.$data->getOwner()->getFullname().'</div>';
|
||||
$userinfo .= '</div>';
|
||||
}
|
||||
|
||||
$visitecpt = 0;
|
||||
@ -194,7 +196,7 @@ class GroupController extends AbstractController
|
||||
// Initialisation de l'enregistrement
|
||||
$data = new Entity();
|
||||
$data->setApikey(Uuid::uuid4());
|
||||
if ('user' == $access) {
|
||||
if ('all' == $access) {
|
||||
$data->setOwner($this->getUser());
|
||||
$data->setIsworkgroup(true);
|
||||
}
|
||||
@ -235,12 +237,12 @@ class GroupController extends AbstractController
|
||||
return $this->render($this->twig.'edit.html.twig', [
|
||||
'useheader' => true,
|
||||
'usemenu' => false,
|
||||
'usesidebar' => ('user' != $access),
|
||||
'usesidebar' => ('all' != $access),
|
||||
'mode' => 'submit',
|
||||
'access' => $access,
|
||||
'form' => $form->createView(),
|
||||
$this->data => $data,
|
||||
'maxsize' => ('user' == $access ? 1200 : null),
|
||||
'maxsize' => ('all' == $access ? 1200 : null),
|
||||
]);
|
||||
}
|
||||
|
||||
@ -284,12 +286,12 @@ class GroupController extends AbstractController
|
||||
return $this->render($this->twig.'edit.html.twig', [
|
||||
'useheader' => true,
|
||||
'usemenu' => false,
|
||||
'usesidebar' => ('user' != $access),
|
||||
'usesidebar' => ('all' != $access),
|
||||
$this->data => $data,
|
||||
'mode' => 'update',
|
||||
'access' => $access,
|
||||
'form' => $form->createView(),
|
||||
'maxsize' => ('user' == $access ? 1200 : null),
|
||||
'maxsize' => ('all' == $access ? 1200 : null),
|
||||
]);
|
||||
}
|
||||
|
||||
@ -332,7 +334,7 @@ class GroupController extends AbstractController
|
||||
return $this->render($this->twig.'users.html.twig', [
|
||||
'useheader' => true,
|
||||
'usemenu' => false,
|
||||
'usesidebar' => ('user' != $access),
|
||||
'usesidebar' => ('all' != $access),
|
||||
'access' => $access,
|
||||
$this->data => $data,
|
||||
]);
|
||||
@ -375,7 +377,9 @@ class GroupController extends AbstractController
|
||||
$qb->select('COUNT(user)')
|
||||
->from('App:User', 'user')
|
||||
->where($qb->expr()->not($qb->expr()->exists($sub->getDQL())))
|
||||
->setParameter('groupid', $id);
|
||||
->andWhere('user.isactive=:isactive')
|
||||
->setParameter('groupid', $id)
|
||||
->setParameter('isactive', true);
|
||||
break;
|
||||
|
||||
case 'modo':
|
||||
@ -386,11 +390,13 @@ class GroupController extends AbstractController
|
||||
->where($qb->expr()->not($qb->expr()->exists($sub->getDQL())))
|
||||
->andWhere('usermodo.niveau01 = user.niveau01')
|
||||
->andWhere('usermodo.user = :userid')
|
||||
->andWhere('user.isactive=:isactive')
|
||||
->setParameter('userid', $usermodo)
|
||||
->setParameter('groupid', $id);
|
||||
->setParameter('groupid', $id)
|
||||
->setParameter('isactive', true);
|
||||
break;
|
||||
|
||||
case 'user':
|
||||
case 'all':
|
||||
$niveau01 = $this->getUser()->getNiveau01();
|
||||
$niveau02 = $this->getUser()->getNiveau02();
|
||||
$niveau03 = $this->getUser()->getNiveau03();
|
||||
@ -399,7 +405,9 @@ class GroupController extends AbstractController
|
||||
$qb->select('COUNT(user)')
|
||||
->from('App:User', 'user')
|
||||
->where($qb->expr()->not($qb->expr()->exists($sub->getDQL())))
|
||||
->setParameter('groupid', $id);
|
||||
->andWhere('user.isactive=:isactive')
|
||||
->setParameter('groupid', $id)
|
||||
->setParameter('isactive', true);
|
||||
|
||||
switch ($request->getSession()->get('scopeannu')) {
|
||||
case 1:
|
||||
@ -434,8 +442,10 @@ class GroupController extends AbstractController
|
||||
->from('App:User', 'user')
|
||||
->where('user.username LIKE :value OR user.email LIKE :value')
|
||||
->andWhere($qb->expr()->not($qb->expr()->exists($sub->getDQL())))
|
||||
->andWhere('user.isactive=:isactive')
|
||||
->setParameter('value', '%'.$search['value'].'%')
|
||||
->setParameter('groupid', $id)
|
||||
->setParameter('isactive', true)
|
||||
->getQuery()
|
||||
->getSingleScalarResult();
|
||||
break;
|
||||
@ -449,21 +459,25 @@ class GroupController extends AbstractController
|
||||
->andWhere($qb->expr()->not($qb->expr()->exists($sub->getDQL())))
|
||||
->andWhere('usermodo.niveau01 = user.niveau01')
|
||||
->andWhere('usermodo.user = :userid')
|
||||
->andWhere('user.isactive=:isactive')
|
||||
->setParameter('userid', $usermodo)
|
||||
->setParameter('value', '%'.$search['value'].'%')
|
||||
->setParameter('groupid', $id)
|
||||
->setParameter('isactive', true)
|
||||
->getQuery()
|
||||
->getSingleScalarResult();
|
||||
break;
|
||||
|
||||
case 'user':
|
||||
case 'all':
|
||||
$qb = $em->getManager()->createQueryBuilder()
|
||||
->select('COUNT(user)')
|
||||
->from('App:User', 'user')
|
||||
->where('user.username LIKE :value OR user.email LIKE :value')
|
||||
->andWhere($qb->expr()->not($qb->expr()->exists($sub->getDQL())))
|
||||
->andWhere('user.isactive=:isactive')
|
||||
->setParameter('value', '%'.$search['value'].'%')
|
||||
->setParameter('groupid', $id);
|
||||
->setParameter('groupid', $id)
|
||||
->setParameter('isactive', true);
|
||||
|
||||
switch ($request->getSession()->get('scopeannu')) {
|
||||
case 1:
|
||||
@ -498,23 +512,23 @@ class GroupController extends AbstractController
|
||||
|
||||
// Parcours des Enregistrement
|
||||
$qb = $em->getManager()->createQueryBuilder();
|
||||
$qb->select('user')->from('App:User', 'user');
|
||||
$qb->select('user')->from('App:User', 'user')->Where('user.isactive=:isactive')->setParameter('isactive', true);
|
||||
|
||||
switch ($access) {
|
||||
case 'admin':
|
||||
$qb->where($qb->expr()->not($qb->expr()->exists($sub->getDQL())));
|
||||
$qb->andWhere($qb->expr()->not($qb->expr()->exists($sub->getDQL())));
|
||||
break;
|
||||
|
||||
case 'modo':
|
||||
$qb->from('App:UserModo', 'usermodo')
|
||||
->where($qb->expr()->not($qb->expr()->exists($sub->getDQL())))
|
||||
->andWhere($qb->expr()->not($qb->expr()->exists($sub->getDQL())))
|
||||
->andWhere('usermodo.niveau01 = user.niveau01')
|
||||
->andWhere('usermodo.user = :userid')
|
||||
->setParameter('userid', $usermodo);
|
||||
break;
|
||||
|
||||
case 'user':
|
||||
$qb->where($qb->expr()->not($qb->expr()->exists($sub->getDQL())));
|
||||
case 'all':
|
||||
$qb->andWhere($qb->expr()->not($qb->expr()->exists($sub->getDQL())));
|
||||
switch ($request->getSession()->get('scopeannu')) {
|
||||
case 1:
|
||||
$qb->andWhere('user.niveau01 = :niveau01')->setParameter('niveau01', $niveau01);
|
||||
@ -598,7 +612,7 @@ class GroupController extends AbstractController
|
||||
|
||||
// Nombre total d'enregistrement
|
||||
$qb = $em->getManager()->createQueryBuilder();
|
||||
if ('admin' == $access || 'user' == $access) {
|
||||
if ('admin' == $access || 'all' == $access) {
|
||||
$qb->select('COUNT(user)')
|
||||
->from('App:User', 'user')
|
||||
->where($qb->expr()->exists($sub->getDQL()))
|
||||
@ -620,7 +634,7 @@ class GroupController extends AbstractController
|
||||
if ('' == $search['value']) {
|
||||
$totalf = $total;
|
||||
} else {
|
||||
if ('admin' == $access || 'user' == $access) {
|
||||
if ('admin' == $access || 'all' == $access) {
|
||||
$totalf = $em->getManager()->createQueryBuilder()
|
||||
->select('COUNT(user)')
|
||||
->from('App:User', 'user')
|
||||
@ -659,7 +673,7 @@ class GroupController extends AbstractController
|
||||
$qb = $em->getManager()->createQueryBuilder();
|
||||
$qb->select('user')->from('App:User', 'user');
|
||||
|
||||
if ('admin' == $access || 'user' == $access) {
|
||||
if ('admin' == $access || 'all' == $access) {
|
||||
$qb->where($qb->expr()->exists($sub->getDQL()));
|
||||
} else {
|
||||
$qb->from('App:UserModo', 'usermodo')
|
||||
@ -715,7 +729,7 @@ class GroupController extends AbstractController
|
||||
$rolegroup = (0 == $usergroup->getRolegroup() ? 'Utilisateur' : (50 == $usergroup->getRolegroup() ? 'Collaborateur' : 'Gestionnaire'));
|
||||
}
|
||||
|
||||
$tmp = ['DT_RowId' => 'user'.$data->getId(), $action, $avatar, $data->getUsername(), $data->getEmail(), $rolegroup];
|
||||
$tmp = ['DT_RowId' => 'user'.$data->getId(), $action, $avatar, $data->getUsername().(!$data->isIsactive() ? '<br><small><i>Inactif</i></small>' : ''), $data->getEmail(), $rolegroup];
|
||||
array_push($output['data'], $tmp);
|
||||
}
|
||||
|
||||
@ -842,7 +856,7 @@ class GroupController extends AbstractController
|
||||
break;
|
||||
case 'modo': return false;
|
||||
break;
|
||||
case 'user': return $request->getSession()->get('submitgroup');
|
||||
case 'all': return $request->getSession()->get('submitgroup');
|
||||
break;
|
||||
}
|
||||
throw $this->createAccessDeniedException('Permission denied');
|
||||
@ -854,7 +868,7 @@ class GroupController extends AbstractController
|
||||
switch ($access) {
|
||||
case 'admin': $toreturn = ($entity->getId() > 0);
|
||||
break;
|
||||
case 'user':
|
||||
case 'all':
|
||||
if (!$entity->isIsworkgroup() || $entity->getOwner() != $this->getUser()) {
|
||||
$toreturn = false;
|
||||
} else {
|
||||
@ -877,7 +891,7 @@ class GroupController extends AbstractController
|
||||
break;
|
||||
case 'modo': $toreturn = ($entity->getId() > 0);
|
||||
break;
|
||||
case 'user':
|
||||
case 'all':
|
||||
$usergroup = $em->getRepository("App\Entity\UserGroup")->findOneBy(['user' => $this->getUser(), 'group' => $entity]);
|
||||
if (!$usergroup || !$entity->isIsworkgroup() || $entity->getId() < 0) {
|
||||
$toreturn = false;
|
||||
@ -901,7 +915,7 @@ class GroupController extends AbstractController
|
||||
break;
|
||||
case 'modo': $toreturn = ($entity->getId() > 0);
|
||||
break;
|
||||
case 'user':
|
||||
case 'all':
|
||||
$usergroup = $em->getRepository("App\Entity\UserGroup")->findOneBy(['user' => $this->getUser(), 'group' => $entity]);
|
||||
if (!$usergroup || !$entity->isIsworkgroup() || $entity->getId() < 0) {
|
||||
$toreturn = false;
|
||||
|
@ -194,11 +194,11 @@ class RegistrationController extends AbstractController
|
||||
|
||||
$data = new Registration();
|
||||
$data->setIsvisible(true);
|
||||
|
||||
|
||||
// Création du formulaire
|
||||
$form = $this->createForm(Form::class, $data, [
|
||||
'mode' => 'submit',
|
||||
'access' => 'user',
|
||||
'access' => 'all',
|
||||
'userid' => null,
|
||||
'appMasteridentity' => $this->GetParameter('appMasteridentity'),
|
||||
'appNiveau01label' => $this->GetParameter('appNiveau01label'),
|
||||
|
@ -135,7 +135,9 @@ class SecurityController extends AbstractController
|
||||
$user = $this->submituser($username, $firstname, $lastname, $email, $avatar, $niveau01, $em);
|
||||
$user = $em->getRepository('App\Entity\Group')->calculateSSOGroup($user, $attributes);
|
||||
} elseif ($this->getParameter('casAutoupdate')) {
|
||||
if(!$user->Isactive()) return $this->redirect($this->generateUrl('app_noperm'));
|
||||
if (!$user->Isactive()) {
|
||||
return $this->redirect($this->generateUrl('app_noperm'));
|
||||
}
|
||||
$this->submitSSONiveau01($attributes, $em);
|
||||
$this->submitSSOGroup($attributes, $em);
|
||||
$this->updateuser($user, $firstname, $lastname, $email, $avatar, $em);
|
||||
@ -556,7 +558,9 @@ class SecurityController extends AbstractController
|
||||
|
||||
private function autoconnexion($user, $redirect, Request $request)
|
||||
{
|
||||
if(!$user->isIsactive()) return $this->redirect($this->generateUrl('app_noperm'));
|
||||
if (!$user->isIsactive()) {
|
||||
return $this->redirect($this->generateUrl('app_noperm'));
|
||||
}
|
||||
|
||||
// Récupérer le token de l'utilisateur
|
||||
$token = new UsernamePasswordToken($user, 'main', $user->getRoles());
|
||||
|
@ -20,17 +20,20 @@ class UserController extends AbstractController
|
||||
private $twig = 'User/';
|
||||
private $route = 'app_admin_user';
|
||||
|
||||
public function list($access, Request $request): Response
|
||||
public function list($access, Request $request, ManagerRegistry $em): Response
|
||||
{
|
||||
if ('user' == $access && !$request->getSession()->get('showannuaire')) {
|
||||
if ('all' == $access && !$request->getSession()->get('showannuaire')) {
|
||||
throw $this->createAccessDeniedException('Permission denied');
|
||||
}
|
||||
|
||||
dump($em->getRepository($this->entity)->getPreference($this->getUser(), 'userisactive', true));
|
||||
|
||||
return $this->render($this->twig.'list.html.twig', [
|
||||
'useheader' => true,
|
||||
'usemenu' => false,
|
||||
'usesidebar' => ('user' != $access),
|
||||
'usesidebar' => ('all' != $access),
|
||||
'access' => $access,
|
||||
'isactive' => ('true' == $em->getRepository($this->entity)->getPreference($this->getUser(), 'userisactive', true)),
|
||||
]);
|
||||
}
|
||||
|
||||
@ -47,31 +50,48 @@ class UserController extends AbstractController
|
||||
$niveau02 = null;
|
||||
$niveau03 = null;
|
||||
$niveau04 = null;
|
||||
$isactive = true;
|
||||
|
||||
// Nombre total d'enregistrement
|
||||
switch ($access) {
|
||||
case 'admin':
|
||||
$total = $em->getManager()->createQueryBuilder()->select('COUNT(entity)')->from($this->entity, 'entity')->getQuery()->getSingleScalarResult();
|
||||
$isactive = $em->getRepository($this->entity)->getPreference($this->getUser(), 'userisactive', true);
|
||||
$total = $em->getManager()->createQueryBuilder()
|
||||
->select('COUNT(entity)')
|
||||
->from($this->entity, 'entity')
|
||||
->where('entity.isactive = :isactive')
|
||||
->setParameter('isactive', $isactive)
|
||||
->getQuery()->getSingleScalarResult();
|
||||
break;
|
||||
|
||||
case 'modo':
|
||||
$isactive = $em->getRepository($this->entity)->getPreference($this->getUser(), 'userisactive', true);
|
||||
$total = $em->getManager()->createQueryBuilder()
|
||||
->select('COUNT(entity)')
|
||||
->from($this->entity, 'entity')
|
||||
->from("App\Entity\UserModo", 'usermodo')
|
||||
->where('usermodo.niveau01 = entity.niveau01')
|
||||
->andWhere('usermodo.user = :user')
|
||||
->where('entity.isactive = :isactive')
|
||||
->setParameter('isactive', $isactive)
|
||||
->setParameter('user', $this->getUser())
|
||||
->getQuery()->getSingleScalarResult();
|
||||
break;
|
||||
|
||||
default:
|
||||
$isactive = true;
|
||||
$niveau01 = $this->getUser()->getNiveau01();
|
||||
$niveau02 = $this->getUser()->getNiveau02();
|
||||
$niveau03 = $this->getUser()->getNiveau03();
|
||||
$niveau04 = $this->getUser()->getNiveau04();
|
||||
|
||||
$qb = $em->getManager()->createQueryBuilder()->select('COUNT(entity)')->from($this->entity, 'entity')->where('entity.isvisible=true');
|
||||
$qb = $em->getManager()->createQueryBuilder()
|
||||
->select('COUNT(entity)')
|
||||
->from($this->entity, 'entity')
|
||||
->where('entity.isvisible=true')
|
||||
->where('entity.isactive = :isactive')
|
||||
->setParameter('isactive', $isactive);
|
||||
|
||||
switch ($request->getSession()->get('scopeannu')) {
|
||||
case 1:
|
||||
$qb->andWhere('entity.niveau01 = :niveau01')->setParameter('niveau01', $niveau01);
|
||||
@ -105,7 +125,9 @@ class UserController extends AbstractController
|
||||
->from($this->entity, 'entity')
|
||||
->from('App:Niveau01', 'niveau01')
|
||||
->where('entity.niveau01=niveau01.id')
|
||||
->andwhere('entity.isactive = :isactive')
|
||||
->andWhere('entity.username LIKE :value OR entity.firstname LIKE :value OR entity.lastname LIKE :value OR entity.email LIKE :value OR entity.roles LIKE :value OR niveau01.label LIKE :value')
|
||||
->setParameter('isactive', $isactive)
|
||||
->setParameter('value', '%'.$search['value'].'%')
|
||||
->getQuery()
|
||||
->getSingleScalarResult();
|
||||
@ -118,10 +140,12 @@ class UserController extends AbstractController
|
||||
->from('App:Niveau01', 'niveau01')
|
||||
->from('App:UserModo', 'usermodo')
|
||||
->where('entity.niveau01=niveau01.id')
|
||||
->andwhere('entity.isactive = :isactive')
|
||||
->andWhere('entity.username LIKE :value OR entity.firstname LIKE :value OR entity.lastname LIKE :value OR entity.email LIKE :value OR entity.roles LIKE :value OR niveau01.label LIKE :value')
|
||||
->andWhere('usermodo.niveau01 = entity.niveau01')
|
||||
->andWhere('usermodo.user = :userid')
|
||||
->setParameter('value', '%'.$search['value'].'%')
|
||||
->setParameter('isactive', $isactive)
|
||||
->setParameter('userid', $this->getUser()->getId())
|
||||
->getQuery()
|
||||
->getSingleScalarResult();
|
||||
@ -133,9 +157,11 @@ class UserController extends AbstractController
|
||||
->from($this->entity, 'entity')
|
||||
->from('App:Niveau01', 'niveau01')
|
||||
->where('entity.niveau01=niveau01.id')
|
||||
->andwhere('entity.isactive = :isactive')
|
||||
->andWhere('entity.isvisible=true')
|
||||
->andWhere('entity.username LIKE :value OR entity.firstname LIKE :value OR entity.lastname LIKE :value OR entity.email LIKE :value OR entity.roles LIKE :value OR niveau01.label LIKE :value')
|
||||
->setParameter('value', '%'.$search['value'].'%');
|
||||
->setParameter('value', '%'.$search['value'].'%')
|
||||
->setParameter('isactive', $isactive);
|
||||
|
||||
switch ($request->getSession()->get('scopeannu')) {
|
||||
case 1:
|
||||
@ -174,6 +200,8 @@ class UserController extends AbstractController
|
||||
case 'admin':
|
||||
$qb->select('entity')->from($this->entity, 'entity')->from('App:Niveau01', 'niveau01');
|
||||
$qb->where('entity.niveau01=niveau01.id');
|
||||
$qb->andwhere('entity.isactive = :isactive');
|
||||
$qb->setParameter('isactive', $isactive);
|
||||
break;
|
||||
|
||||
case 'modo':
|
||||
@ -181,6 +209,8 @@ class UserController extends AbstractController
|
||||
$qb->where('entity.niveau01=niveau01.id');
|
||||
$qb->andWhere('usermodo.niveau01 = entity.niveau01');
|
||||
$qb->andWhere('usermodo.user = :userid');
|
||||
$qb->andwhere('entity.isactive = :isactive');
|
||||
$qb->setParameter('isactive', $isactive);
|
||||
$qb->setParameter('userid', $this->getUser()->getId());
|
||||
break;
|
||||
|
||||
@ -188,6 +218,8 @@ class UserController extends AbstractController
|
||||
$qb->select('entity')->from($this->entity, 'entity')->from('App:Niveau01', 'niveau01');
|
||||
$qb->where('entity.niveau01=niveau01.id');
|
||||
$qb->andWhere('entity.isvisible=true');
|
||||
$qb->andwhere('entity.isactive = :isactive');
|
||||
$qb->setParameter('isactive', $isactive);
|
||||
|
||||
switch ($request->getSession()->get('scopeannu')) {
|
||||
case 1:
|
||||
@ -316,12 +348,14 @@ class UserController extends AbstractController
|
||||
$qb = $em->getManager()->createQueryBuilder();
|
||||
$qb->select('entity')->from($this->entity, 'entity')
|
||||
->where('entity.username LIKE :value')
|
||||
->orWhere('entity.lastname LIKE :value')
|
||||
->orWhere('entity.firstname LIKE :value')
|
||||
->setParameter('value', '%'.$q.'%')
|
||||
->orderBy('entity.username');
|
||||
|
||||
$datas = $qb->setFirstResult(0)->setMaxResults($page_limit)->getQuery()->getResult();
|
||||
foreach ($datas as $data) {
|
||||
array_push($output, ['id' => $data->getId(), 'text' => $data->getUsername()]);
|
||||
array_push($output, ['id' => $data->getId(), 'text' => $data->getFullname()]);
|
||||
}
|
||||
|
||||
$ret_string['results'] = $output;
|
||||
@ -344,6 +378,7 @@ class UserController extends AbstractController
|
||||
$data = new Entity();
|
||||
$data->setAvatar('noavatar.png');
|
||||
$data->setIsvisible(true);
|
||||
$data->setIsactive(true);
|
||||
$data->setApikey(Uuid::uuid4());
|
||||
|
||||
// Création du formulaire
|
||||
@ -566,7 +601,7 @@ class UserController extends AbstractController
|
||||
}
|
||||
|
||||
// Retour à la liste
|
||||
if ('user' == $access) {
|
||||
if ('all' == $access) {
|
||||
return $this->redirectToRoute('app_home');
|
||||
} else {
|
||||
return $this->redirectToRoute(str_replace('_admin_', '_'.$access.'_', $this->route));
|
||||
@ -584,7 +619,7 @@ class UserController extends AbstractController
|
||||
$this->data => $data,
|
||||
'listgroups' => $this->getListGroups($access, $em),
|
||||
'listmodos' => $this->getListModos($em),
|
||||
'maxsize' => ('user' == $access ? 1200 : null),
|
||||
'maxsize' => ('all' == $access ? 1200 : null),
|
||||
]);
|
||||
}
|
||||
|
||||
@ -660,7 +695,7 @@ class UserController extends AbstractController
|
||||
|
||||
return true;
|
||||
break;
|
||||
case 'user':
|
||||
case 'all':
|
||||
if ($this->getUser()->getId() != $entity->getId()) {
|
||||
throw $this->createAccessDeniedException('Permission denied');
|
||||
}
|
||||
@ -688,7 +723,7 @@ class UserController extends AbstractController
|
||||
|
||||
return true;
|
||||
break;
|
||||
case 'user':
|
||||
case 'all':
|
||||
if ($this->getUser()->getId() != $entity->getId()) {
|
||||
throw $this->createAccessDeniedException('Permission denied');
|
||||
}
|
||||
|
@ -32,6 +32,26 @@ class Niveau01
|
||||
*/
|
||||
private $label;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="text", nullable=true)
|
||||
*/
|
||||
private $code;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="text", nullable=true)
|
||||
*/
|
||||
private $postaladress;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=60, nullable=true)
|
||||
*/
|
||||
private $telephonenumber;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=60, nullable=true)
|
||||
*/
|
||||
private $email;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string")
|
||||
*/
|
||||
@ -285,4 +305,52 @@ class Niveau01
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getCode(): ?string
|
||||
{
|
||||
return $this->code;
|
||||
}
|
||||
|
||||
public function setCode(?string $code): self
|
||||
{
|
||||
$this->code = $code;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getPostaladress(): ?string
|
||||
{
|
||||
return $this->postaladress;
|
||||
}
|
||||
|
||||
public function setPostaladress(?string $postaladress): self
|
||||
{
|
||||
$this->postaladress = $postaladress;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getTelephonenumber(): ?string
|
||||
{
|
||||
return $this->telephonenumber;
|
||||
}
|
||||
|
||||
public function setTelephonenumber(?string $telephonenumber): self
|
||||
{
|
||||
$this->telephonenumber = $telephonenumber;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getEmail(): ?string
|
||||
{
|
||||
return $this->email;
|
||||
}
|
||||
|
||||
public function setEmail(?string $email): self
|
||||
{
|
||||
$this->email = $email;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,26 @@ class Niveau02
|
||||
*/
|
||||
private $label;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="text", nullable=true)
|
||||
*/
|
||||
private $code;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="text", nullable=true)
|
||||
*/
|
||||
private $postaladress;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=60, nullable=true)
|
||||
*/
|
||||
private $telephonenumber;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=60, nullable=true)
|
||||
*/
|
||||
private $email;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string")
|
||||
*/
|
||||
@ -204,4 +224,52 @@ class Niveau02
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getCode(): ?string
|
||||
{
|
||||
return $this->code;
|
||||
}
|
||||
|
||||
public function setCode(?string $code): self
|
||||
{
|
||||
$this->code = $code;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getPostaladress(): ?string
|
||||
{
|
||||
return $this->postaladress;
|
||||
}
|
||||
|
||||
public function setPostaladress(?string $postaladress): self
|
||||
{
|
||||
$this->postaladress = $postaladress;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getTelephonenumber(): ?string
|
||||
{
|
||||
return $this->telephonenumber;
|
||||
}
|
||||
|
||||
public function setTelephonenumber(?string $telephonenumber): self
|
||||
{
|
||||
$this->telephonenumber = $telephonenumber;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getEmail(): ?string
|
||||
{
|
||||
return $this->email;
|
||||
}
|
||||
|
||||
public function setEmail(?string $email): self
|
||||
{
|
||||
$this->email = $email;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,26 @@ class Niveau03
|
||||
*/
|
||||
private $label;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="text", nullable=true)
|
||||
*/
|
||||
private $code;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="text", nullable=true)
|
||||
*/
|
||||
private $postaladress;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=60, nullable=true)
|
||||
*/
|
||||
private $telephonenumber;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=60, nullable=true)
|
||||
*/
|
||||
private $email;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string")
|
||||
*/
|
||||
@ -220,4 +240,52 @@ class Niveau03
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getCode(): ?string
|
||||
{
|
||||
return $this->code;
|
||||
}
|
||||
|
||||
public function setCode(?string $code): self
|
||||
{
|
||||
$this->code = $code;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getPostaladress(): ?string
|
||||
{
|
||||
return $this->postaladress;
|
||||
}
|
||||
|
||||
public function setPostaladress(?string $postaladress): self
|
||||
{
|
||||
$this->postaladress = $postaladress;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getTelephonenumber(): ?string
|
||||
{
|
||||
return $this->telephonenumber;
|
||||
}
|
||||
|
||||
public function setTelephonenumber(?string $telephonenumber): self
|
||||
{
|
||||
$this->telephonenumber = $telephonenumber;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getEmail(): ?string
|
||||
{
|
||||
return $this->email;
|
||||
}
|
||||
|
||||
public function setEmail(?string $email): self
|
||||
{
|
||||
$this->email = $email;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,26 @@ class Niveau04
|
||||
*/
|
||||
private $label;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="text", nullable=true)
|
||||
*/
|
||||
private $code;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="text", nullable=true)
|
||||
*/
|
||||
private $postaladress;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=60, nullable=true)
|
||||
*/
|
||||
private $telephonenumber;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=60, nullable=true)
|
||||
*/
|
||||
private $email;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string")
|
||||
*/
|
||||
@ -196,4 +216,52 @@ class Niveau04
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getCode(): ?string
|
||||
{
|
||||
return $this->code;
|
||||
}
|
||||
|
||||
public function setCode(?string $code): self
|
||||
{
|
||||
$this->code = $code;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getPostaladress(): ?string
|
||||
{
|
||||
return $this->postaladress;
|
||||
}
|
||||
|
||||
public function setPostaladress(?string $postaladress): self
|
||||
{
|
||||
$this->postaladress = $postaladress;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getTelephonenumber(): ?string
|
||||
{
|
||||
return $this->telephonenumber;
|
||||
}
|
||||
|
||||
public function setTelephonenumber(?string $telephonenumber): self
|
||||
{
|
||||
$this->telephonenumber = $telephonenumber;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getEmail(): ?string
|
||||
{
|
||||
return $this->email;
|
||||
}
|
||||
|
||||
public function setEmail(?string $email): self
|
||||
{
|
||||
$this->email = $email;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
@ -283,7 +283,12 @@ class User implements UserInterface, LegacyPasswordAuthenticatedUserInterface
|
||||
|
||||
public function getDisplayname()
|
||||
{
|
||||
return $this->firstname.' '.$this->lastname;
|
||||
return $this->firstname.' '.$this->lastname.(!$this->isactive ? ' (inactif)' : '');
|
||||
}
|
||||
|
||||
public function getFullname()
|
||||
{
|
||||
return $this->username.' = '.$this->firstname.' '.$this->lastname.(!$this->isactive ? ' (inactif)' : '');
|
||||
}
|
||||
|
||||
// == FIN DU CODE A NE PAS REGENERER
|
||||
|
@ -109,7 +109,11 @@ class UserSubscriber implements EventSubscriberInterface
|
||||
$attributes = $this->ldap->listAttributesUser();
|
||||
$ldapentrys = $this->ldap->search($filter, $attributes, $this->ldap->getParameter('baseuser'));
|
||||
if (empty($ldapentrys)) {
|
||||
$this->ldap->addUser($this->entity);
|
||||
if ($this->entity->isIsactive()) {
|
||||
$this->ldap->addUser($this->entity);
|
||||
}
|
||||
} elseif (!$this->entity->isIsactive()) {
|
||||
$this->nine2ldapremove();
|
||||
} elseif ($this->ldap->ismodifyUser($this->entity, $ldapentrys[0])) {
|
||||
$this->ldap->modifyUser($this->entity, $ldapentrys[0]['cn']);
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ class GroupType extends AbstractType
|
||||
'remote_route' => 'app_'.$options['access'].'_user_selectlist',
|
||||
'class' => 'App\Entity\User',
|
||||
'primary_key' => 'id',
|
||||
'text_property' => 'username',
|
||||
'text_property' => 'fullname',
|
||||
'minimum_input_length' => 2,
|
||||
'page_limit' => 10,
|
||||
'allow_clear' => true,
|
||||
|
@ -4,6 +4,7 @@ namespace App\Form;
|
||||
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\EmailType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||
@ -27,6 +28,35 @@ class Niveau01Type extends AbstractType
|
||||
]
|
||||
);
|
||||
|
||||
$builder->add('code',
|
||||
TextType::class, [
|
||||
'label' => 'Code',
|
||||
'required' => false,
|
||||
]
|
||||
);
|
||||
|
||||
$builder->add('email',
|
||||
EmailType::class, [
|
||||
'label' => 'Mail',
|
||||
'required' => false,
|
||||
]
|
||||
);
|
||||
|
||||
$builder->add('postaladress',
|
||||
TextareaType::class, [
|
||||
'label' => 'Adresse',
|
||||
'required' => false,
|
||||
'attr' => ['style' => 'height:90px'],
|
||||
]
|
||||
);
|
||||
|
||||
$builder->add('telephonenumber',
|
||||
TextType::class, [
|
||||
'label' => 'Téléphone',
|
||||
'required' => false,
|
||||
]
|
||||
);
|
||||
|
||||
// Si masteridentity = LDAP alors on demande le filtre des utilisateurs qui appartiennent à ce groupe
|
||||
if ('LDAP' == $options['appMasteridentity'] || 'LDAP2NINE' == $options['appSynchro']) {
|
||||
$builder->add('fgassocldap',
|
||||
|
@ -6,7 +6,9 @@ use Doctrine\ORM\EntityRepository;
|
||||
use Doctrine\ORM\Query\Expr\Join;
|
||||
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\EmailType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
@ -54,6 +56,35 @@ class Niveau02Type extends AbstractType
|
||||
'label' => 'Label',
|
||||
]
|
||||
);
|
||||
|
||||
$builder->add('code',
|
||||
TextType::class, [
|
||||
'label' => 'Code',
|
||||
'required' => false,
|
||||
]
|
||||
);
|
||||
|
||||
$builder->add('email',
|
||||
EmailType::class, [
|
||||
'label' => 'Mail',
|
||||
'required' => false,
|
||||
]
|
||||
);
|
||||
|
||||
$builder->add('postaladress',
|
||||
TextareaType::class, [
|
||||
'label' => 'Adresse',
|
||||
'required' => false,
|
||||
'attr' => ['style' => 'height:90px'],
|
||||
]
|
||||
);
|
||||
|
||||
$builder->add('telephonenumber',
|
||||
TextType::class, [
|
||||
'label' => 'Téléphone',
|
||||
'required' => false,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
|
@ -6,7 +6,9 @@ use Doctrine\ORM\EntityRepository;
|
||||
use Doctrine\ORM\Query\Expr\Join;
|
||||
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\EmailType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
@ -76,6 +78,35 @@ class Niveau03Type extends AbstractType
|
||||
'label' => 'Label',
|
||||
]
|
||||
);
|
||||
|
||||
$builder->add('code',
|
||||
TextType::class, [
|
||||
'label' => 'Code',
|
||||
'required' => false,
|
||||
]
|
||||
);
|
||||
|
||||
$builder->add('email',
|
||||
EmailType::class, [
|
||||
'label' => 'Mail',
|
||||
'required' => false,
|
||||
]
|
||||
);
|
||||
|
||||
$builder->add('postaladress',
|
||||
TextareaType::class, [
|
||||
'label' => 'Adresse',
|
||||
'required' => false,
|
||||
'attr' => ['style' => 'height:90px'],
|
||||
]
|
||||
);
|
||||
|
||||
$builder->add('telephonenumber',
|
||||
TextType::class, [
|
||||
'label' => 'Téléphone',
|
||||
'required' => false,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
|
@ -6,7 +6,9 @@ use Doctrine\ORM\EntityRepository;
|
||||
use Doctrine\ORM\Query\Expr\Join;
|
||||
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\EmailType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
@ -97,6 +99,35 @@ class Niveau04Type extends AbstractType
|
||||
'label' => 'Label',
|
||||
]
|
||||
);
|
||||
|
||||
$builder->add('code',
|
||||
TextType::class, [
|
||||
'label' => 'Code',
|
||||
'required' => false,
|
||||
]
|
||||
);
|
||||
|
||||
$builder->add('email',
|
||||
EmailType::class, [
|
||||
'label' => 'Mail',
|
||||
'required' => false,
|
||||
]
|
||||
);
|
||||
|
||||
$builder->add('postaladress',
|
||||
TextareaType::class, [
|
||||
'label' => 'Adresse',
|
||||
'required' => false,
|
||||
'attr' => ['style' => 'height:90px'],
|
||||
]
|
||||
);
|
||||
|
||||
$builder->add('telephonenumber',
|
||||
TextType::class, [
|
||||
'label' => 'Téléphone',
|
||||
'required' => false,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
|
@ -39,6 +39,16 @@ class UserType extends AbstractType
|
||||
]
|
||||
);
|
||||
|
||||
if ('all' != $options['access']) {
|
||||
$choices = ['oui' => '1', 'non' => '0'];
|
||||
$builder->add('isactive',
|
||||
ChoiceType::class, [
|
||||
'label' => 'Actif',
|
||||
'choices' => $choices,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
if ('SQL' == $options['appMasteridentity'] || 'submit' == $options['mode']) {
|
||||
$builder->add('password',
|
||||
RepeatedType::class, [
|
||||
|
@ -30,4 +30,17 @@ class UserRepository extends ServiceEntityRepository
|
||||
$this->getEntityManager()->flush();
|
||||
}
|
||||
}
|
||||
|
||||
public function getPreference(User $entity, $key, $default)
|
||||
{
|
||||
$preference = $entity->getPreference();
|
||||
dump($preference);
|
||||
if (is_array($preference)) {
|
||||
if (array_key_exists($key, $preference)) {
|
||||
return $preference[$key][0];
|
||||
}
|
||||
}
|
||||
|
||||
return $default;
|
||||
}
|
||||
}
|
||||
|
@ -431,6 +431,10 @@ class LdapService
|
||||
$connection = $this->connect();
|
||||
$result = null;
|
||||
|
||||
if (!$user->isIsactive()) {
|
||||
$todel = true;
|
||||
}
|
||||
|
||||
// NIVEAU01
|
||||
// On recherche le Niveau01 actuellement asscocié à l'utilisateur
|
||||
$criteria = '(&(cn=*)(memberUid='.$user->getUsername().'))';
|
||||
@ -765,7 +769,9 @@ class LdapService
|
||||
|
||||
$attrs['memberuid'] = [];
|
||||
foreach ($niveau01->getUsers() as $user) {
|
||||
array_push($attrs['memberuid'], $user->getUsername());
|
||||
if ($user->isIsactive()) {
|
||||
array_push($attrs['memberuid'], $user->getUsername());
|
||||
}
|
||||
}
|
||||
|
||||
sort($attrs['memberuid']);
|
||||
@ -893,7 +899,9 @@ class LdapService
|
||||
|
||||
$attrs['memberuid'] = [];
|
||||
foreach ($niveau02->getUsers() as $user) {
|
||||
array_push($attrs['memberuid'], $user->getUsername());
|
||||
if ($user->isIsactive()) {
|
||||
array_push($attrs['memberuid'], $user->getUsername());
|
||||
}
|
||||
}
|
||||
|
||||
sort($attrs['memberuid']);
|
||||
@ -1021,7 +1029,9 @@ class LdapService
|
||||
|
||||
$attrs['memberuid'] = [];
|
||||
foreach ($niveau03->getUsers() as $user) {
|
||||
array_push($attrs['memberuid'], $user->getUsername());
|
||||
if ($user->isIsactive()) {
|
||||
array_push($attrs['memberuid'], $user->getUsername());
|
||||
}
|
||||
}
|
||||
|
||||
sort($attrs['memberuid']);
|
||||
@ -1149,7 +1159,9 @@ class LdapService
|
||||
|
||||
$attrs['memberuid'] = [];
|
||||
foreach ($niveau04->getUsers() as $user) {
|
||||
array_push($attrs['memberuid'], $user->getUsername());
|
||||
if ($user->isIsactive()) {
|
||||
array_push($attrs['memberuid'], $user->getUsername());
|
||||
}
|
||||
}
|
||||
|
||||
sort($attrs['memberuid']);
|
||||
@ -1277,7 +1289,9 @@ class LdapService
|
||||
|
||||
$attrs['memberuid'] = [];
|
||||
foreach ($group->getUsers() as $usergroup) {
|
||||
array_push($attrs['memberuid'], $usergroup->getUser()->getUsername());
|
||||
if ($usergroup->getUser()->isIsactive()) {
|
||||
array_push($attrs['memberuid'], $usergroup->getUser()->getUsername());
|
||||
}
|
||||
}
|
||||
|
||||
sort($attrs['memberuid']);
|
||||
@ -1306,11 +1320,13 @@ class LdapService
|
||||
$result = $this->search($criteria, ['memberuid'], $subbranch);
|
||||
|
||||
if (!$this->in_array_r($usergroup->getUser()->getUsername(), $result[0])) {
|
||||
$dn = $this->getGroupDN($usergroup->getGroup()->getLabel());
|
||||
$entry['memberuid'] = $usergroup->getUser()->getUsername();
|
||||
$result = ldap_mod_add($connection, $dn, $entry);
|
||||
if (!$result) {
|
||||
$this->ldapError();
|
||||
if ($usergroup->getUser()->isIsactive()) {
|
||||
$dn = $this->getGroupDN($usergroup->getGroup()->getLabel());
|
||||
$entry['memberuid'] = $usergroup->getUser()->getUsername();
|
||||
$result = ldap_mod_add($connection, $dn, $entry);
|
||||
if (!$result) {
|
||||
$this->ldapError();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -17,7 +17,7 @@ class UserChecker implements UserCheckerInterface
|
||||
}
|
||||
|
||||
if (!$user->isIsactive()) {
|
||||
throw new CustomUserMessageAccountStatusException('Your user account no longer exists.');
|
||||
throw new CustomUserMessageAccountStatusException('Votre compte a été désactivé');
|
||||
}
|
||||
}
|
||||
|
||||
@ -31,4 +31,4 @@ class UserChecker implements UserCheckerInterface
|
||||
throw new AccountExpiredException('...');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user