Commit b739d7a9 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Changement de l'assertion pour l'accès des rapporteurs à la proposition de...

Changement de l'assertion pour l'accès des rapporteurs à la proposition de soutenance + [FIX] Remise en place du menu de dépôt de rapport de pré-soutenance
parent 52e52f18
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -8,6 +8,8 @@ Journal des modifications
- [FIX] Correction de bug dans les assertions du domaine Thèse.
- [FIX] Correction de chemins de scripts de vues erronés déplacés dans le module These.
- Renommage et réordonancement de menus.
- Changement de l'assertion pour l'accès des rapporteurs à la proposition de soutenance
- [FIX] Remise en place du menu de dépôt de rapport de pré-soutenance

5.2.1
-----
+0 −1
Original line number Diff line number Diff line
@@ -33,7 +33,6 @@ return array(
                    'action' => [
                        'index-rapporteur',
                    ],
                    'roles' => [],
                    'privileges' => IndexPrivileges::INDEX_RAPPORTEUR,
                ],
                [
+8 −0
Original line number Diff line number Diff line
@@ -92,6 +92,11 @@ class PropositionAssertion implements AssertionInterface {
        $directeurs = [];
        foreach ($acteurs as $acteur) $directeurs[] = $acteur->getIndividu();

        $rapporteursJ = $these->getActeursByRoleCode(Role::CODE_RAPPORTEUR_JURY);
        $rapporteursA = $these->getActeursByRoleCode(Role::CODE_RAPPORTEUR_ABSENT);
        $acteurs = array_merge($rapporteursJ->toArray(), $rapporteursA->toArray());
        $rapporteurs = [];
        foreach ($acteurs as $acteur) $rapporteurs[] = $acteur->getIndividu();
//        if ($role === Role::CODE_ADMIN_TECH) return true;

        $theseEtablissementStructure = $these->getEtablissement()->getStructure();
@@ -113,6 +118,9 @@ class PropositionAssertion implements AssertionInterface {
                    case Role::CODE_DIRECTEUR_THESE :
                    case Role::CODE_CODIRECTEUR_THESE :
                        return (array_search($individu, $directeurs) !== false);
                    case Role::CODE_RAPPORTEUR_JURY :
                    case Role::CODE_RAPPORTEUR_ABSENT :
                        return (array_search($individu, $rapporteurs) !== false);
                    default:
                        return false;
                }
+25 −24
Original line number Diff line number Diff line
@@ -2,6 +2,20 @@

namespace These;

use Application\Controller\Rapport\RapportCsiController;
use Application\Controller\Rapport\RapportMiparcoursController;
use Application\Entity\Db\WfEtape;
use Application\Form\Factory\PointsDeVigilanceFormFactory;
use Application\Form\Factory\PointsDeVigilanceHydratorFactory;
use Application\Form\Factory\RdvBuHydratorFactory;
use Application\Form\Factory\RdvBuTheseDoctorantFormFactory;
use Application\Form\Factory\RdvBuTheseFormFactory;
use Application\Navigation\ApplicationNavigationFactory;
use Application\Service\Financement\FinancementService;
use Application\Service\Financement\FinancementServiceFactory;
use Application\Service\Message\DiffusionMessages;
use Application\Service\ServiceAwareInitializer;
use Soutenance\Controller\IndexController;
use These\Assertion\These\TheseAssertion;
use These\Assertion\These\TheseAssertionFactory;
use These\Assertion\These\TheseEntityAssertion;
@@ -11,34 +25,21 @@ use These\Controller\Factory\TheseControllerFactory;
use These\Controller\Factory\TheseObserverControllerFactory;
use These\Controller\Factory\TheseRechercheControllerFactory;
use These\Controller\Plugin\Url\UrlThesePluginFactory;
use Application\Controller\Rapport\RapportCsiController;
use Application\Controller\Rapport\RapportMiparcoursController;
use These\Controller\TheseConsoleController;
use These\Controller\TheseController;
use These\Controller\TheseObserverController;
use These\Controller\TheseRechercheController;
use These\Entity\Db\Diffusion;
use Application\Entity\Db\WfEtape;
use These\Form\Attestation\AttestationHydratorFactory;
use These\Form\Attestation\AttestationTheseFormFactory;
use These\Form\Diffusion\DiffusionHydratorFactory;
use These\Form\Diffusion\DiffusionTheseFormFactory;
use These\Form\Metadonnees\MetadonneeTheseFormFactory;
use Application\Form\Factory\PointsDeVigilanceFormFactory;
use Application\Form\Factory\PointsDeVigilanceHydratorFactory;
use Application\Form\Factory\RdvBuHydratorFactory;
use Application\Form\Factory\RdvBuTheseDoctorantFormFactory;
use Application\Form\Factory\RdvBuTheseFormFactory;
use Application\Navigation\ApplicationNavigationFactory;
use These\Provider\Privilege\ThesePrivileges;
use These\Service\Acteur\ActeurService;
use These\Service\Acteur\ActeurServiceFactory;
use Application\Service\Financement\FinancementService;
use Application\Service\Financement\FinancementServiceFactory;
use Application\Service\Message\DiffusionMessages;
use These\Service\PageDeCouverture\PageDeCouverturePdfExporter;
use These\Service\PageDeCouverture\PageDeCouverturePdfExporterFactory;
use Application\Service\ServiceAwareInitializer;
use These\Service\These\Factory\TheseObserverServiceFactory;
use These\Service\These\Factory\TheseSearchServiceFactory;
use These\Service\These\Factory\TheseServiceFactory;
@@ -1003,17 +1004,17 @@ return [
                                'separator' => true,
                            ],
//                            //---------------------------------------------------
//                            'page-rapporteur' => [
//                                'order' => 60,
//                                'label' => 'Dépôt du rapport',
//                                'route' => 'soutenance/index-rapporteur',
//                                'withtarget' => true,
//                                'paramsInject' => [
//                                    'these',
//                                ],
//                                'icon' => 'fas fa-clipboard',
//                                'resource' => IndexPrivileges::getResourceId(IndexPrivileges::INDEX_RAPPORTEUR),
//                            ],
                            'page-rapporteur' => [
                                'order' => 60,
                                'label' => 'Dépôt du rapport',
                                'route' => 'soutenance/index-rapporteur',
                                'withtarget' => true,
                                'paramsInject' => [
                                    'these',
                                ],
                                'icon' => 'fas fa-clipboard',
                                'resource' => PrivilegeController::getResourceId(IndexController::class, 'index-rapporteur'),
                            ],
                            //---------------------------------------------------
                            'depot' => [
                                'label' => 'Dépôt du mémoire',