Commit 06246010 authored by Thomas Hamel's avatar Thomas Hamel
Browse files

modification de la génération du menu formations en fct du rôle de l'utilisateur connecté

parent ccc70d89
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ Journal des modifications
- Module Admission : Ajout de la génération d'un fichier ZIP pour l'export des dossiers d'admission (fichiers dans l'archive : admis.csv, admissions.csv)
- Module Admission : Changement du format du numéro de candidat, nécessaire pour l'export vers Pégase : SYG+AnnéeUniversitaire1èreInscription+NuméroDeDossier
- Module Formations : Affichage systématique du nom patronymique pour le formateur
- Modification de la génération du menu formations en fonction du rôle de l'utilisateur connecté
- [FIX] Requête de recherche de thèses par acteur : les acteurs historisés n'étaient pas écartés.
- [FIX] Module Information : utilisation d'une langue par défaut (FR) pour permettre la création d'une page d'information.
- [FIX] Rapport d'activité : PHP Notice à propos d'une variable non définie.
+2 −0
Original line number Diff line number Diff line
@@ -39,6 +39,8 @@ class Role extends AbstractRole implements SourceAwareInterface, HistoriqueAware
    const CODE_GEST_ED = 'GEST_ED';
    const CODE_RESP_UR = 'RESP_UR';
    const CODE_GEST_UR = 'GEST_UR';

    const CODE_FORMATEUR = 'FORMATEUR';
    const CODE_OBSERVATEUR_COMUE = "OBSERV";

    const ROLE_ID_USER = 'user'; // ROLE_ID du rôle correspondant à un utilisateur authentifié avec succès.
+40 −0
Original line number Diff line number Diff line
@@ -29,6 +29,10 @@ class ApplicationNavigationFactory extends NavigationFactory
    const MES_THESES_PAGE_ID = 'MES_THESES';
    const NOS_THESES_PAGE_ID = 'NOS_THESES';

    const FORMATIONS_PAGE_ID = 'FORMATIONS';
    const MES_FORMATIONS_DOCTORANT_PAGE_ID = 'MES_FORMATIONS_DOCTORANT';
    const MES_FORMATIONS_FORMATEUR_PAGE_ID = 'MES_FORMATIONS_FORMATEUR';

    const MON_ADMISSION_PAGE_ID = 'MON_ADMISSION';
    const MES_ADMISSIONS_PAGE_ID = 'MES_ADMISSIONS';
    const NOS_ADMISSIONS_PAGE_ID = 'NOS_ADMISSIONS';
@@ -165,6 +169,42 @@ class ApplicationNavigationFactory extends NavigationFactory
            }
        }

        /**
         * Formations
         */
        // Rôle Doctorant : génération d'une page "Formations"
        if ($page['pages'][$key = self::FORMATIONS_PAGE_ID] ?? null) {
            if ($this->role !== null && ($this->role->getCode() === Role::CODE_ADMIN_TECH || $this->role->getCode() === Role::CODE_RESP_ED || $this->role->getCode() === Role::CODE_BDD)) {
                $page['visible'] = true;
            } else {
                unset($page['pages'][$key]);
            }
        }

        /**
         * Mes formations
         */
        // Rôle Doctorant : génération d'une page "Mes formations"
        if ($page['pages'][$key = self::MES_FORMATIONS_DOCTORANT_PAGE_ID] ?? null) {
            if ($this->role !== null && $this->role->isDoctorant()) {
                $page['visible'] = true;
            } else {
                unset($page['pages'][$key]);
            }
        }

        /**
         * Mes formations
         */
        // Rôle Formateur : génération d'une page "Mes formations"
        if ($page['pages'][$key = self::MES_FORMATIONS_FORMATEUR_PAGE_ID] ?? null) {
            if ($this->role !== null && $this->role->getCode() === Role::CODE_FORMATEUR) {
                $page['visible'] = true;
            } else {
                unset($page['pages'][$key]);
            }
        }

        /** ADMISSION */
        /**
         * Mon admission
+2 −1
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@

namespace Formation;

use Application\Navigation\ApplicationNavigationFactory;
use Formation\Controller\EnqueteQuestionController;
use Formation\Controller\EnqueteQuestionControllerFactory;
use Formation\Controller\EnqueteReponseController;
@@ -116,7 +117,7 @@ return [
        'default' => [
            'home' => [
                'pages' => [
                    'formation' => [
                    ApplicationNavigationFactory::FORMATIONS_PAGE_ID => [
                        'pages' => [
                            'enquete-question' => [
                                'label'    => 'Enquête - Question',
+3 −3
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@

namespace Formation;

use Application\Navigation\ApplicationNavigationFactory;
use Formation\Controller\FormationController;
use Formation\Controller\FormationControllerFactory;
use Formation\Controller\Recherche\FormationRechercheController;
@@ -87,12 +88,11 @@ return [
        'default' => [
            'home' => [
                'pages' => [
                    'formation' => [
                    ApplicationNavigationFactory::FORMATIONS_PAGE_ID => [
                        'pages' => [
                            'formation' => [
                            ApplicationNavigationFactory::FORMATIONS_PAGE_ID => [
                                'label'    => 'Formations',
                                'route'    => 'formation/formation',
                                'resource' => PrivilegeController::getResourceId(FormationRechercheController::class, 'index') ,
                                'order'    => 110,
                                'pages' => [
                                    'afficher' => [
Loading