Commit 71823ea1 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Scission des privilèges de validation ert d'autovalidation pour distinguer le prévu du réalisé.

Correction de bugs liés au refactoring du PrivilegeService
parent 2ebec6f7
Loading
Loading
Loading
Loading
+2 −2
Changes for composer.lock: 2 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -7049,7 +7049,7 @@
            "source": {
                "type": "git",
                "url": "https://git.unicaen.fr/lib/unicaen/import.git",
                "reference": "01b49a83a5ccc4a401aa94b0a82be3a3ef58b39e"
                "reference": "547f6954db7d4759c8e84ca5f1af91a7d8ef10de"
            },
            "require": {
                "unicaen/auth": "^4.0 || dev-ll-php8"
@@ -7067,7 +7067,7 @@
                ]
            },
            "description": "Module d'import de données vers une base Oracle",
            "time": "2022-01-06T14:12:23+00:00"
            "time": "2022-03-23T14:45:05+00:00"
        },
        {
            "name": "unicaen/open-document",
+9 −5
Changes for data/privileges.php: 9 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -131,12 +131,14 @@ return [
            'edition-masse'                          => 'Édition en masse',
            'prevu-visualisation'                    => 'Visualisation du prévisionnel',
            'prevu-edition'                          => 'Édition du prévisionnel',
            'prevu-validation'                       => 'Validation du prévisionnel',
            'prevu-autovalidation'                   => 'Validation automatique du prévisionnel',
            'realise-visualisation'                  => 'Visualisation du réalisé',
            'realise-edition'                        => 'Édition du réalisé',
            'exterieur'                              => 'Saisie de service dans une autre université',
            'validation'                             => 'Validation',
            'autovalidation'                         => 'Validation automatique',
            'realise-validation'                     => 'Validation du réalisé',
            'realise-autovalidation'                 => 'Validation automatique du réalisé',
            'devalidation'                           => 'Dévalidation',
            'exterieur'                              => 'Saisie de service dans une autre université',
            'export-pdf'                             => 'Export PDF',
            'export-csv'                             => 'Export CSV',
            'import-intervenant-previsionnel-agenda' => 'Import service prévisionnel depuis agenda',
@@ -159,10 +161,12 @@ return [
        'privileges' => [
            'prevu-visualisation'       => 'Visualisation du prévisionnel',
            'prevu-edition'             => 'Édition du prévisionnel',
            'prevu-validation'          => 'Validation du prévisionnel',
            'prevu-autovalidation'      => 'Validation automatique du prévisionnel',
            'realise-visualisation'     => 'Visualisation du réalisé',
            'realise-edition'           => 'Édition du réalisé',
            'validation'                => 'Validation',
            'autovalidation'            => 'Validation automatique',
            'realise-validation'        => 'Validation du réalisé',
            'realise-autovalidation'    => 'Validation automatique du réalisé',
            'admin-edition'             => 'Administration - Édition',
            'devalidation'              => 'Dévalidation',
            'admin-visualisation'       => 'Administration - Visualisation',
+12 −6
Changes for module/Application/config/service.config.php: 12 added lines, 6 removed lines.
Original line number Diff line number Diff line
@@ -303,7 +303,8 @@ return [
                    'controller' => 'Application\Controller\Service',
                    'action'     => ['valider'],
                    'privileges' => [
                        Privileges::ENSEIGNEMENT_VALIDATION,
                        Privileges::ENSEIGNEMENT_PREVU_VALIDATION,
                        Privileges::ENSEIGNEMENT_REALISE_VALIDATION,
                    ],
                ],
                [
@@ -360,7 +361,8 @@ return [
                    'controller' => 'Application\Controller\ServiceReferentiel',
                    'action'     => ['valider'],
                    'privileges' => [
                        Privileges::REFERENTIEL_VALIDATION,
                        Privileges::REFERENTIEL_PREVU_VALIDATION,
                        Privileges::REFERENTIEL_REALISE_VALIDATION,
                    ],
                ],
                [
@@ -427,8 +429,10 @@ return [
                    ],
                    [
                        'privileges' => [
                            Privileges::ENSEIGNEMENT_VALIDATION,
                            Privileges::ENSEIGNEMENT_AUTOVALIDATION,
                            Privileges::ENSEIGNEMENT_PREVU_VALIDATION,
                            Privileges::ENSEIGNEMENT_REALISE_VALIDATION,
                            Privileges::ENSEIGNEMENT_PREVU_AUTOVALIDATION,
                            Privileges::ENSEIGNEMENT_REALISE_AUTOVALIDATION,
                        ],
                        'resources'  => ['Service', 'VolumeHoraire', 'Validation'],
                        'assertion'  => Assertion\ServiceAssertion::class,
@@ -467,8 +471,10 @@ return [
                    ],
                    [
                        'privileges' => [
                            Privileges::REFERENTIEL_VALIDATION,
                            Privileges::REFERENTIEL_AUTOVALIDATION,
                            Privileges::REFERENTIEL_PREVU_VALIDATION,
                            Privileges::REFERENTIEL_REALISE_VALIDATION,
                            Privileges::REFERENTIEL_PREVU_AUTOVALIDATION,
                            Privileges::REFERENTIEL_REALISE_AUTOVALIDATION,
                        ],
                        'resources'  => ['ServiceReferentiel', 'VolumeHoraireReferentiel', 'Validation'],
                        'assertion'  => Assertion\ServiceAssertion::class,
+19 −6
Changes for module/Application/src/Assertion/ServiceAssertion.php: 19 added lines, 6 removed lines.
Original line number Diff line number Diff line
@@ -73,6 +73,13 @@ class ServiceAssertion extends AbstractAssertion
            switch ($page['route']) {
                case 'intervenant/validation/service/prevu':
                    return $this->assertEntity($intervenant, Privileges::ENSEIGNEMENT_PREVU_VISUALISATION);
                case 'intervenant/validation/referentiel/prevu':
                    return $this->assertEntity($intervenant, Privileges::REFERENTIEL_PREVU_VISUALISATION);
                break;
                case 'intervenant/validation/service/realise':
                    return $this->assertEntity($intervenant, Privileges::ENSEIGNEMENT_REALISE_VISUALISATION);
                case 'intervenant/validation/referentiel/realise':
                    return $this->assertEntity($intervenant, Privileges::REFERENTIEL_REALISE_VISUALISATION);
                break;
                case 'intervenant/services-prevus':
                    return $this->assertPageServices($role, $intervenant, TypeVolumeHoraire::CODE_PREVU);
@@ -115,13 +122,15 @@ class ServiceAssertion extends AbstractAssertion
                        return $this->assertServiceEdition($role, $entity);
                    case Privileges::ENSEIGNEMENT_EXTERIEUR:
                        return $this->assertServiceExterieur($role, $entity);
                    case Privileges::ENSEIGNEMENT_VALIDATION:
                    case Privileges::ENSEIGNEMENT_PREVU_VALIDATION:
                    case Privileges::ENSEIGNEMENT_REALISE_VALIDATION:
                        return $this->assertServiceValidation($role, $entity);
                }
            break;
            case $entity instanceof VolumeHoraire:
                switch ($privilege) {
                    case Privileges::ENSEIGNEMENT_VALIDATION:
                    case Privileges::ENSEIGNEMENT_PREVU_VALIDATION:
                    case Privileges::ENSEIGNEMENT_REALISE_VALIDATION:
                        return $this->assertVolumeHoraireValidation($role, $entity);
                }
            break;
@@ -133,13 +142,15 @@ class ServiceAssertion extends AbstractAssertion
                    case Privileges::REFERENTIEL_PREVU_EDITION:
                    case Privileges::REFERENTIEL_REALISE_EDITION:
                        return $this->assertServiceReferentielEdition($role, $entity);
                    case Privileges::REFERENTIEL_VALIDATION:
                    case Privileges::REFERENTIEL_PREVU_VALIDATION:
                    case Privileges::REFERENTIEL_REALISE_VALIDATION:
                        return $this->assertServiceReferentielValidation($role, $entity);
                }
            break;
            case $entity instanceof VolumeHoraireReferentiel:
                switch ($privilege) {
                    case Privileges::REFERENTIEL_VALIDATION:
                    case Privileges::REFERENTIEL_PREVU_VALIDATION:
                    case Privileges::REFERENTIEL_REALISE_VALIDATION:
                        return $this->assertVolumeHoraireReferentielValidation($role, $entity);
                }
            break;
@@ -179,8 +190,10 @@ class ServiceAssertion extends AbstractAssertion
            break;
            case $entity instanceof Validation:
                switch ($privilege) {
                    case Privileges::ENSEIGNEMENT_VALIDATION:
                    case Privileges::REFERENTIEL_VALIDATION:
                    case Privileges::ENSEIGNEMENT_PREVU_VALIDATION:
                    case Privileges::ENSEIGNEMENT_REALISE_VALIDATION:
                    case Privileges::REFERENTIEL_PREVU_VALIDATION:
                    case Privileges::REFERENTIEL_REALISE_VALIDATION:
                        return $this->assertValidationValidation($role, $entity);
                    case Privileges::ENSEIGNEMENT_DEVALIDATION:
                    case Privileges::REFERENTIEL_DEVALIDATION:
+1 −1
Changes for module/Application/src/Controller/ServiceController.php: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -627,7 +627,7 @@ class ServiceController extends AbstractController

        $validation = $this->getProcessusValidationEnseignement()->creer($intervenant, $structure);

        if ($this->isAllowed($validation, Privileges::ENSEIGNEMENT_VALIDATION)) {
        if ($this->isAllowed($validation, $typeVolumeHoraire->getPrivilegeEnseignementValidation())) {
            if ($this->getRequest()->isPost()) {
                try {
                    $this->getProcessusValidationEnseignement()->enregistrer($typeVolumeHoraire, $validation);
Loading