UtilisateurController.php 1.53 KB
Newer Older
1
2
3
4
<?php

namespace UnicaenAuth\Controller;

5
use Zend\Http\Request;
6
7
8
use Zend\Mvc\Controller\AbstractActionController;

/**
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
19
20
     *
     * @param bool $addFlashMessage
     * @return bool|string
21
     */
22
    public function selectionnerProfilAction($addFlashMessage = true)
23
    {
24
25
26
27
28
29
        $request = $this->getRequest();
        if (! $request instanceof Request) {
            exit(1);
        }
        if (! $request->isXmlHttpRequest()) {
            return $this->redirect()->toRoute('home');
30
        }
31
        
32
        $role = $request->getPost('role');
33
34
        
        if ($role) {
35
36
            $this->getAuthUserContextService()->setSelectedIdentityRole($role);
        }
37

38
        if ($addFlashMessage) {
39
40
41
42
43
            $message = sprintf(
                "Vous endossez à présent le profil utilisateur <strong>%s</strong>.",
                $this->getAuthUserContextService()->getSelectedIdentityRole()->getRoleId()
            );
            $this->flashMessenger()->setNamespace('UnicaenAuth/success')->addMessage($message);
44
        }
45
46

        return false;
47
    }
48
    
49
    /**
50
     * @return \UnicaenAuth\Service\UserContext
51
52
53
54
55
56
     */
    protected function getAuthUserContextService()
    {
        return $this->getServiceLocator()->get('AuthUserContext');
    }
}