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

Merge branch 'master' into 6.x

parents ef5fd37f a9862c6e
Branches
Tags 6.0.4
No related merge requests found
Pipeline #18861 passed
Journal des modifications
=========================
6.0.4 (21/03/2023)
-----
- Ajout du paramètre [display-user-info](config/unicaen-utilisateur.global.php.dist) qui permet d'afficher ou nonles affectations LDAP de l'utilisateur courant
- [Fix] Test de présence de 'userUsurpation' pour couplage faible avec UnicaenAuthentification
0.0.2 (29/03/2021)
-----
- [Fix] Correction exception incomplete dans UserService
......
......@@ -27,6 +27,12 @@ return [
'recherche-individu' => [
'app' => UserService::class,
],
/**
* Permet d'afficher, en-dessous de la liste des rôles à sélectionner dans la popover
* de l'utilisateur courant, les affectations principales, affectations fines, etc.
*/
'display-user-info' => true,
],
'bjyauthorize' => [
......
......@@ -78,6 +78,12 @@ return [
* Commenter si comportement non souhaité.
*/
'default-user' => 1,
/**
* Permet d'afficher, en-dessous de la liste des rôles à sélectionner dans la popover
* de l'utilisateur courant, les affectations principales, affectations fines, etc.
*/
'display-user-info' => true,
],
'navigation' => [
......
......@@ -250,11 +250,11 @@ trait HistoriqueAwareTrait
public function estNonHistorise(DateTime $dateObs = null)
{
if (empty($dateObs)) {
try {
// try {
$dateObs = new DateTime();
} catch (\Exception $e) {
throw new RuntimeException("Impossible d'instancier un DateTime!", null, $e);
}
// } catch (\Exception $e) {
// throw new RuntimeException("Impossible d'instancier un DateTime!", null, $e);
// }
}
$dObs = $dateObs->format('Y-m-d');
......
......@@ -33,6 +33,7 @@ class Username implements ProviderInterface
*/
protected $roles;
protected $usernamefield;
/**
*
* @param AuthenticationService $authService
......@@ -44,6 +45,10 @@ class Username implements ProviderInterface
$this->config = $config;
}
public function setUsernamefield($usernamefield)
{
$this->usernamefield = $usernamefield;
}
/**
* @return \Laminas\Permissions\Acl\Role\RoleInterface[]
*/
......@@ -65,7 +70,7 @@ class Username implements ProviderInterface
$identity = $identity['db'];
}
if ($identity instanceof UserInterface) {
$role = new NamedRole($identity->getUsername(), 'user', "Authentifié(e)", null, false);
$role = new NamedRole($identity->getUsername($this->usernamefield), 'user', "Authentifié(e)", null, false);
$this->roles[] = $role;
}
}
......
......@@ -33,6 +33,7 @@ class UsernameServiceFactory implements FactoryInterface
$authService = $container->get('zfcuser_auth_service'); /* @var $authService \Laminas\Authentication\AuthenticationService */
// $authService = $container->get('Laminas\Authentication\AuthenticationService'); /* @var $authService \Laminas\Authentication\AuthenticationService */
$usernamefield = $container->get('Config')['unicaen-auth']['local']['ldap']['username'];
return new Username($authService, $providerConfig);
}
}
\ No newline at end of file
<?php
namespace UnicaenUtilisateur\View\Helper;
use Laminas\View\Renderer\PhpRenderer;
/**
* Aide de vue affichant toutes les infos concernant l'utilisateur courant.
* C'est à dire :
......@@ -17,6 +19,8 @@ class UserCurrent extends UserAbstract
*/
protected $affectationFineSiDispo = false;
protected bool $displayUserInfo = true;
/**
* Point d'entrée.
*
......@@ -60,7 +64,23 @@ class UserCurrent extends UserAbstract
$userInfoHelper = $this->getView()->plugin('userInfo'); /* @var $userInfoHelper UserInfo */
$content = $userProfileHelper . $userInfoHelper($this->getAffectationFineSiDispo());
$content = $userProfileHelper;
// Affichage des affectations
if ($this->isDisplayUserInfo()) {
$content .= $userInfoHelper($this->getAffectationFineSiDispo());
}
// formulaire d'usurpation d'identité
/** @var PhpRenderer $renderer */
$renderer = $this->getView();
// teste si userUsurpation de UnicaenAuthentification est dispo sans avoir de dépendance forte avec cette bib
if ($renderer->getHelperPluginManager()->has('userUsurpation')) {
/* @var \UnicaenAuthentification\View\Helper\UserUsurpationHelper $userUsurpationHelper */
$userUsurpationHelper = $renderer->plugin('userUsurpation');
$content .= $userUsurpationHelper;
}
}
else {
$content = _("Aucun");
......@@ -119,4 +139,24 @@ EOS;
$this->affectationFineSiDispo = $affectationFineSiDispo;
return $this;
}
public function isDisplayUserInfo(): bool
{
return $this->displayUserInfo;
}
public function setDisplayUserInfo(bool $displayUserInfo): UserCurrent
{
$this->displayUserInfo = $displayUserInfo;
return $this;
}
}
......@@ -22,6 +22,12 @@ class UserCurrentFactory implements FactoryInterface
{
$authUserContext = $container->get('authUserContext');
return new UserCurrent($authUserContext);
$config = $container->get('config')['unicaen-utilisateur'] ?? [];
$displayUserInfo = $config['display-user-info'] ?? true;
$userCurrent = new UserCurrent($authUserContext);
$userCurrent->setDisplayUserInfo($displayUserInfo);
return $userCurrent;
}
}
\ No newline at end of file
......@@ -103,10 +103,6 @@ class UserInfo extends UserAbstract
$out .= $aucuneAffDispo;
}
// formulaire d'usurpation d'identité
/* @var \UnicaenAuthentification\View\Helper\UserUsurpationHelper $userUsurpationHelper */
$userUsurpationHelper = $this->view->plugin('userUsurpation');
$out .= $userUsurpationHelper;
return $out;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment