UtilisateurController.php 1.41 KB
Newer Older
1
2
3
4
5
6
7
<?php

namespace UnicaenAuth\Controller;

use Zend\Mvc\Controller\AbstractActionController;

/**
8
 * 
9
10
11
12
13
14
15
16
17
 *
 * @author Bertrand GAUTHIER <bertrand.gauthier at unicaen.fr>
 */
class UtilisateurController extends AbstractActionController
{
    /**
     * Traite les requêtes AJAX POST de sélection d'un profil utilisateur.
     * La sélection est mémorisé en session par le service AuthUserContext.
     */
18
    public function selectionnerProfilAction($addFlashMessage = true)
19
20
21
22
    {
        if (!$this->getRequest()->isXmlHttpRequest()) {
            return $this->url()->fromRoute('home');
        }
23
24
25
26
        
        $role = $this->getRequest()->getPost('role');
        
        if ($role) {
27
28
            $this->getAuthUserContextService()->setSelectedIdentityRole($role);
        }
29
30
31
32
        
        if ($addFlashMessage) {
            $this->flashMessenger()->addSuccessMessage(
                    sprintf("Vous endossez à présent le profil utilisateur <strong>%s</strong>.",
33
                            $this->getAuthUserContextService()->getSelectedIdentityRole()->getRoleId()));
34
35
36
37
38
39
        }
        
        $viewModel = new \Zend\View\Model\ViewModel();
        $viewModel->setTerminal(true);
        
        return $viewModel;
40
41
42
43
44
45
46
47
48
49
    }
    
    /**
     * @return \UnicaenAuth\Service\UserContext
     */
    protected function getAuthUserContextService()
    {
        return $this->getServiceLocator()->get('AuthUserContext');
    }
}