Loading src/UnicaenUtilisateur/Controller/UtilisateurController.php +12 −6 Original line number Diff line number Diff line Loading @@ -58,6 +58,12 @@ class UtilisateurController extends AbstractActionController $this->identityProvider = $provider; } private ?string $usernamefield; public function setUsernamefield(?string $usernamefield): void { $this->usernamefield = $usernamefield; } public function indexAction() { $roles = $this->roleService->findAll(); Loading @@ -76,13 +82,13 @@ class UtilisateurController extends AbstractActionController if (isset($this->searchServices[$source])) { $sourceUser = $this->searchServices[$source]->findById($id); $newUser = $this->userService->importFromRechercheIndividuResultatInterface($sourceUser, $source); $user = $this->userService->findByUsername($newUser->getUsername()); $user = $this->userService->findByUsername($newUser->getUsername($this->usernamefield)); if (!$user) { $user = $this->userService->create($newUser); } else { $this->flashMessenger()->addErrorMessage( sprintf("L'utilisateur <strong>%s (%s)</strong> existe déjà dans l'application.", $user->getDisplayName(), $user->getUsername()) sprintf("L'utilisateur <strong>%s (%s)</strong> existe déjà dans l'application.", $user->getDisplayName(), $user->getUsername($this->usernamefield)) ); } Loading Loading @@ -263,12 +269,12 @@ class UtilisateurController extends AbstractActionController foreach ($this->searchServices as $key => $service) { $currentUsernames = array_map(function($u) { /** @var RechercheIndividuResultatInterface $u */ return $u->getUsername(); return $u->getUsername($this->usernamefield); }, $currentUsers); $users = $service->findByTerm($term); $usersFiltered = array_filter($users, function($e) use ($currentUsernames) { /** @var RechercheIndividuResultatInterface $e */ return !in_array($e->getUsername(), $currentUsernames); return !in_array($e->getUsername($this->usernamefield), $currentUsernames); }); $currentUsers = array_merge($currentUsers, $usersFiltered); $finalUsers[$key] = $usersFiltered; Loading @@ -281,7 +287,7 @@ class UtilisateurController extends AbstractActionController 'id' => $key . '||' . $individu->getId(), 'label' => $individu->getDisplayName(), 'extra' => sprintf(' <span class="text-highlight">/</span> %s <span class="text-highlight">/</span> %s %s', $individu->getUsername(), $individu->getUsername($this->usernamefield), $individu->getEmail() ?: "aucun email", ($key === 'app') ? '<i title="Utilisateur existant" class="fas fa-check-circle text-success"></i>' : '') ]; Loading Loading @@ -311,7 +317,7 @@ class UtilisateurController extends AbstractActionController $records = []; foreach ($users as $user) { $item = []; $item[] = $user->getUsername(); $item[] = $user->getUsername($this->usernamefield); $item[] = $user->getDisplayName(); $item[] = $user->getState(); Loading src/UnicaenUtilisateur/Controller/UtilisateurControllerFactory.php +3 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ class UtilisateurControllerFactory */ $config = $container->get('Config'); $moduleConfig = $config['unicaen-utilisateur']; $usernamefield = $config['unicaen-auth']['local']['ldap']['username']; $roleService = $container->get(RoleService::class); $userService = $container->get(UserService::class); $initCompte = $container->get('FormElementManager')->get(InitCompteForm::class); Loading Loading @@ -63,6 +64,8 @@ class UtilisateurControllerFactory $controller->setUserForm($userForm); $controller->setUserRechercheForm($userRechercheForm); $controller->setUsernameField($usernamefield); return $controller; } } No newline at end of file Loading
src/UnicaenUtilisateur/Controller/UtilisateurController.php +12 −6 Original line number Diff line number Diff line Loading @@ -58,6 +58,12 @@ class UtilisateurController extends AbstractActionController $this->identityProvider = $provider; } private ?string $usernamefield; public function setUsernamefield(?string $usernamefield): void { $this->usernamefield = $usernamefield; } public function indexAction() { $roles = $this->roleService->findAll(); Loading @@ -76,13 +82,13 @@ class UtilisateurController extends AbstractActionController if (isset($this->searchServices[$source])) { $sourceUser = $this->searchServices[$source]->findById($id); $newUser = $this->userService->importFromRechercheIndividuResultatInterface($sourceUser, $source); $user = $this->userService->findByUsername($newUser->getUsername()); $user = $this->userService->findByUsername($newUser->getUsername($this->usernamefield)); if (!$user) { $user = $this->userService->create($newUser); } else { $this->flashMessenger()->addErrorMessage( sprintf("L'utilisateur <strong>%s (%s)</strong> existe déjà dans l'application.", $user->getDisplayName(), $user->getUsername()) sprintf("L'utilisateur <strong>%s (%s)</strong> existe déjà dans l'application.", $user->getDisplayName(), $user->getUsername($this->usernamefield)) ); } Loading Loading @@ -263,12 +269,12 @@ class UtilisateurController extends AbstractActionController foreach ($this->searchServices as $key => $service) { $currentUsernames = array_map(function($u) { /** @var RechercheIndividuResultatInterface $u */ return $u->getUsername(); return $u->getUsername($this->usernamefield); }, $currentUsers); $users = $service->findByTerm($term); $usersFiltered = array_filter($users, function($e) use ($currentUsernames) { /** @var RechercheIndividuResultatInterface $e */ return !in_array($e->getUsername(), $currentUsernames); return !in_array($e->getUsername($this->usernamefield), $currentUsernames); }); $currentUsers = array_merge($currentUsers, $usersFiltered); $finalUsers[$key] = $usersFiltered; Loading @@ -281,7 +287,7 @@ class UtilisateurController extends AbstractActionController 'id' => $key . '||' . $individu->getId(), 'label' => $individu->getDisplayName(), 'extra' => sprintf(' <span class="text-highlight">/</span> %s <span class="text-highlight">/</span> %s %s', $individu->getUsername(), $individu->getUsername($this->usernamefield), $individu->getEmail() ?: "aucun email", ($key === 'app') ? '<i title="Utilisateur existant" class="fas fa-check-circle text-success"></i>' : '') ]; Loading Loading @@ -311,7 +317,7 @@ class UtilisateurController extends AbstractActionController $records = []; foreach ($users as $user) { $item = []; $item[] = $user->getUsername(); $item[] = $user->getUsername($this->usernamefield); $item[] = $user->getDisplayName(); $item[] = $user->getState(); Loading
src/UnicaenUtilisateur/Controller/UtilisateurControllerFactory.php +3 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ class UtilisateurControllerFactory */ $config = $container->get('Config'); $moduleConfig = $config['unicaen-utilisateur']; $usernamefield = $config['unicaen-auth']['local']['ldap']['username']; $roleService = $container->get(RoleService::class); $userService = $container->get(UserService::class); $initCompte = $container->get('FormElementManager')->get(InitCompteForm::class); Loading Loading @@ -63,6 +64,8 @@ class UtilisateurControllerFactory $controller->setUserForm($userForm); $controller->setUserRechercheForm($userRechercheForm); $controller->setUsernameField($usernamefield); return $controller; } } No newline at end of file