Commit e825f4b5 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier Committed by David Surville
Browse files

Bouton refresh sur l'utilisateur

Conflicts:
	src/UnicaenUtilisateur/Controller/UtilisateurController.php
	view/unicaen-utilisateur/utilisateur/index.phtml

 Il semble que vous validiez un picorage.
 Si ce n'est pas le cas, veuillez lancer
	git update-ref -d CHERRY_PICK_HEAD
 et essayez à nouveau.

 Veuillez saisir le message de validation pour vos modifications. Les lignes
 commençant par '#' seront ignorées, et un message vide abandonne la validation.

 Auteur :     Jean-Philippe Metivier <jean-philippe.metivier@unicaen.fr>
 Date :       Tue Aug 19 09:43:46 2025 +0200

 Sur la branche release/8.0-perimetres
 Votre branche est à jour avec 'composer/release/8.0-perimetres'.

 Vous êtes actuellement en train de picorer le commit 6517364c.

 Modifications qui seront validées :
	modifié :         config/merged/utilisateur.config.php
	modifié :         src/UnicaenUtilisateur/Controller/UtilisateurController.php
	modifié :         view/unicaen-utilisateur/utilisateur/index.phtml
	nouveau fichier : view/unicaen-utilisateur/utilisateur/refresh.phtml

 Modifications qui ne seront pas validées :
	modifié :         src/UnicaenUtilisateur/Controller/UtilisateurController.php
parent e59bf7bf
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -81,6 +81,7 @@ return [
                    'controller' => UtilisateurController::class,
                    'action' => [
                        'changer-statut',
                        'refresh',
                    ],
                    'privileges' => [
                        UtilisateurPrivileges::UTILISATEUR_CHANGERSTATUS,
@@ -356,6 +357,16 @@ return [
                            ],
                        ],
                    ],
                    'refresh' => [
                        'type'          => Segment::class,
                        'options'       => [
                            'route'       => '/refresh/:utilisateur',
                            'defaults'    => [
                                /** @see UtilisateurController::refreshAction() */
                                'action' => 'refresh',
                            ],
                        ],
                    ],
                    'supprimer' => [
                        'type' => Segment::class,
                        'options' => [
+27 −3
Original line number Diff line number Diff line
@@ -3,6 +3,8 @@
namespace UnicaenUtilisateur\Controller;

use DateTime;
use Exception;
use Laminas\Http\Response;
use Laminas\Mvc\Controller\AbstractActionController;
use Laminas\Mvc\Plugin\FlashMessenger\FlashMessenger;
use Laminas\View\Model\JsonModel;
@@ -76,7 +78,7 @@ class UtilisateurController extends AbstractActionController
        return $this;
    }

    public function indexAction()
    public function indexAction(): ViewModel|Response
    {
        $roles = $this->roleService->findAll();
        $userRechercheForm = $this->userRechercheForm;
@@ -208,7 +210,7 @@ class UtilisateurController extends AbstractActionController
                try {
                    $this->userService->updatePassword($user, $data['password']);
                    $view->setVariable('result', 'success');
                } catch (\Exception $e) {
                } catch (Exception $e) {
                    $view->setVariable('result', 'error');
                }

@@ -238,7 +240,7 @@ class UtilisateurController extends AbstractActionController
                try {
                    $this->userService->recoverPassword($user);
                    $view->setVariable('result', 'success');
                } catch (\Exception $e) {
                } catch (Exception $e) {
                    $view->setVariable('result', 'error');
                }

@@ -582,4 +584,26 @@ class UtilisateurController extends AbstractActionController

    public function flashMessageAction()
    {}

    public function refreshAction(): ViewModel
    {
        $id = $this->params()->fromRoute('utilisateur');
        $user = $this->userService->find($id);
        $fromLdap = $this->searchServices['ldap']->findById($user->getUsername($this->usernamefield));

        $request = $this->getRequest();
        if ($request->isPost()) {
            $user->setUsername($fromLdap->getUsername($this->usernamefield));
            $user->setDisplayName($fromLdap->getDisplayName());
            $user->setEmail($fromLdap->getEmail());
            $this->userService->update($user);
            exit();
        }

        return new ViewModel([
            'title' => "Rafraichissement des données de l'utilisateur",
            'user' => $user,
            'fromLdap' => $fromLdap,
        ]);
    }
}
 No newline at end of file
+11 −2
Original line number Diff line number Diff line
@@ -124,6 +124,13 @@ $canModifier = $canAjouter;
            </tbody>
        </table>

        <?php /** @see UtilisateurController::refreshAction() */ ?>
        <a href='<?php echo $this->url('unicaen-utilisateur/refresh', ['utilisateur' => $utilisateur->getId()], [], true); ?>'
           class='btn btn-primary pull-right ajax-modal' data-event="event-unicaen-utilisateur-update">
            <span class="icon icon-refresh"></span>
            Mettre à jour
        </a>

        <?php if ($canModifier): ?>
            <?php /** @see UtilisateurController::modifierAction() */ ?>
            <a href="<?php echo $this->url('unicaen-utilisateur/modifier', ['utilisateur' => $utilisateur->getId()], [], true); ?>"
@@ -458,11 +465,13 @@ $canModifier = $canAjouter;
<script type="text/javascript">
    $(function() {
        $('body')
            .one("event-unicaen-utilisateur-editer", function (event) {
            .one("event-unicaen-utilisateur-editer " +
                 "event-unicaen-utilisateur-ldap-synchroniser", function (event) {
                event.div.modal('hide');
                window.location.reload();
            })
            .one("event-unicaen-utilisateur-changer-statut event-unicaen-utilisateur-supprimer", function (event) {
            .one("event-unicaen-utilisateur-changer-statut " +
                 "event-unicaen-utilisateur-supprimer", function (event) {
                 window.location.reload();
            });

+44 −0
Original line number Diff line number Diff line
<?php

use UnicaenUtilisateur\Entity\Db\User;use UnicaenUtilisateur\Service\RechercheIndividu\RechercheIndividuResultatInterface;

/** @see UtilisateurController::refreshAction()
 * @var User $user
 * @var RechercheIndividuResultatInterface $fromLdap
 *
 * */

?>

<table class="table table-condensed">
    <thead>
    <tr>
        <td style="border: none;"></td>
        <th>Depuis l'application</th>
        <th>Depuis le système d'information</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <th>Identifiant </th>
        <td><?php echo $user->getUsername(); ?></td>
        <td><?php echo $fromLdap->getUsername(); ?></td>
    </tr>
    <tr>
        <th>Nom affiché </th>
        <td><?php echo $user->getDisplayName(); ?></td>
        <td><?php echo $fromLdap->getDisplayname(); ?></td>
    </tr>
    <tr>
        <th>Adresse électronique </th>
        <td><?php echo $user->getEmail(); ?></td>
        <td><?php echo $fromLdap->getEmail(); ?></td>
    </tr>
    </tbody>
</table>

<form action="<?php echo $this->url('unicaen-utilisateur/refresh', ['utilisateur' => $user->getId()]); ?>" method="post">
    <button class="btn btn-success">
        <span class="icon icon-refresh">Mettre à jour avec les données du système d'information</span>
    </button>
</form>
 No newline at end of file