Skip to content
Snippets Groups Projects
Commit 35fcbe1d authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Ajout d'une interface pour visualiser le lien User/Agent (/agent/verifier-lien)

parent d5da6ffa
No related branches found
No related tags found
No related merge requests found
...@@ -34,8 +34,8 @@ return [ ...@@ -34,8 +34,8 @@ return [
'app_infos' => [ 'app_infos' => [
'nom' => "EMC2", 'nom' => "EMC2",
'desc' => "Emploi Mobilité Carrière Compétences", 'desc' => "Emploi Mobilité Carrière Compétences",
'version' => "3.1.1", 'version' => "3.1.2",
'date' => "08/12/2022", 'date' => "16/12/2022",
// 'liens' => [ // 'liens' => [
// 'COMUE' => [ // 'COMUE' => [
......
**CHANGES version 3.1.1** **CHANGES version 3.1.2**
----------- -----------
**Changements** **Changements**
* Ajout d'un parametre indiquant le chamin d'installation pour la partie Vérification * Ajout d'un parametre indiquant le chamin d'installation pour la partie Vérification
* Ajout d'une interface pour visualiser le lien User/Agent (/agent/verifier-lien)
* [FIX] correction du choix de l'échelon (si plusieurs échelons actifs alors selection du plus récent "en terme de date de passage") * [FIX] correction du choix de l'échelon (si plusieurs échelons actifs alors selection du plus récent "en terme de date de passage")
* [FIX] propagation d'un renommage de variable sur l'interface des supérieurs hiérarchique * [FIX] propagation d'un renommage de variable sur l'interface des supérieurs hiérarchique
......
...@@ -141,6 +141,17 @@ return [ ...@@ -141,6 +141,17 @@ return [
AgentPrivileges::AGENT_GESTION_CCC, AgentPrivileges::AGENT_GESTION_CCC,
], ],
], ],
/** VERIF */
[
'controller' => AgentController::class,
'action' => [
'verifier-lien',
],
'privileges' => [
AgentPrivileges::AGENT_AFFICHER,
],
],
], ],
], ],
], ],
...@@ -158,6 +169,16 @@ return [ ...@@ -158,6 +169,16 @@ return [
], ],
'may_terminate' => true, 'may_terminate' => true,
'child_routes' => [ 'child_routes' => [
'verifier-lien' => [
'type' => Segment::class,
'options' => [
'route' => '/verifier-lien[/:utilisateur]',
'defaults' => [
'controller' => AgentController::class,
'action' => 'verifier-lien',
],
],
],
/** Fonctions de recherche ************************************************************************/ /** Fonctions de recherche ************************************************************************/
'rechercher' => [ 'rechercher' => [
'type' => Literal::class, 'type' => Literal::class,
......
...@@ -379,6 +379,23 @@ class AgentController extends AbstractActionController ...@@ -379,6 +379,23 @@ class AgentController extends AbstractActionController
return $vm; return $vm;
} }
/** Vérification lien Utilisateur <=> Agent **/
public function verifierLienAction() : ViewModel
{
$user = $this->getUserService()->getRequestedUser($this);
if ($user === null) $user = $this->getUserService()->getConnectedUser();
$agentByUser = $this->getAgentService()->getAgentByUser($user);
$agentByLogin = $this->getAgentService()->getAgentByLogin($user->getUsername());
return new ViewModel([
'utilisateur' => $user,
'agentByUser' => $agentByUser,
'agentByLogin' => $agentByLogin,
]);
}
/** Recherche d'agent ********************************************************************************************/ /** Recherche d'agent ********************************************************************************************/
public function rechercherLargeAction() : JsonModel public function rechercherLargeAction() : JsonModel
......
...@@ -681,4 +681,15 @@ class AgentService { ...@@ -681,4 +681,15 @@ class AgentService {
return $fiches; return $fiches;
} }
public function getAgentByLogin(string $login) : ?Agent
{
$qb = $this->createQueryBuilder()
->andWhere('agent.login = :login')->setParameter('login', $login);
try {
$result = $qb->getQuery()->getOneOrNullResult();
} catch (NonUniqueResultException $e) {
throw new RuntimeException("Plusieurs Agent partagent le même login [".$login."]",0, $e);
}
return $result;
}
} }
\ No newline at end of file
<?php
use Application\Entity\Db\Agent;
use UnicaenUtilisateur\Entity\Db\User;
/** @see \Application\Controller\AgentController::verifierLienAction()
* @var User|null $utilisateur
* @var Agent|null $agentByLogin
* @var Agent|null $agentByUser
*/
?>
<h1 class="page-header">
Vérification du lien
</h1>
<div class="card card-default">
<div class="card-header">
Information sur l'utilisateur·trice
</div>
<div class="card-body">
<?php if ($utilisateur === null) : ?>
Aucun·e utilisateur·trice
<?php else : ?>
<dl class="row">
<dt class="col-md-4">Id </dt>
<dd class="col-md-8"><?php echo $utilisateur->getId(); ?></dd>
<dt class="col-md-4">Username </dt>
<dd class="col-md-8"><?php echo $utilisateur->getUsername(); ?></dd>
<dt class="col-md-4">DisplayName </dt>
<dd class="col-md-8"><?php echo $utilisateur->getDisplayName(); ?></dd>
<dt class="col-md-4">Email </dt>
<dd class="col-md-8"><?php echo $utilisateur->getEmail(); ?></dd>
</dl>
<?php endif; ?>
</div>
</div>
<div class="card card-default">
<div class="card-header">
Agent (récupérer by User [exploité pour la récupération des dossiers])
</div>
<div class="card-body">
<?php if ($agentByUser === null) : ?>
Aucun agent
<?php else : ?>
<dl class="row">
<dt class="col-md-4">Id </dt>
<dd class="col-md-8"><?php echo $agentByUser->getId(); ?></dd>
<dt class="col-md-4">Dénomination </dt>
<dd class="col-md-8"><?php echo $agentByUser->getDenomination(); ?></dd>
<dt class="col-md-4">Email </dt>
<dd class="col-md-8"><?php echo $agentByUser->getEmail(); ?></dd>
</dl>
<?php endif; ?>
</div>
</div>
<div class="card card-default">
<div class="card-header">
Agent (récupéré by login [pas exploiter pour la récupération des dossiers])
</div>
<div class="card-body">
<?php if ($agentByLogin === null) : ?>
Aucun agent
<?php else : ?>
<dl class="row">
<dt class="col-md-4">Id </dt>
<dd class="col-md-8"><?php echo $agentByLogin->getId(); ?></dd>
<dt class="col-md-4">Dénomination </dt>
<dd class="col-md-8"><?php echo $agentByLogin->getDenomination(); ?></dd>
<dt class="col-md-4">Email </dt>
<dd class="col-md-8"><?php echo $agentByLogin->getEmail(); ?></dd>
</dl>
<?php endif; ?>
</div>
</div>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment