Commit d489e521 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Autorisation de diplomation : déplacement du bouton à la fin de la procédure...

Autorisation de diplomation : déplacement du bouton à la fin de la procédure de soutenance (après délibération du jury).
parent 401de38d
Loading
Loading
Loading
Loading
+23 −14
Original line number Diff line number Diff line
@@ -61,7 +61,7 @@ return [
        'api_clients' => [
            'clients' => [
                // Nom unique du client => config
                'pegase_coc_ext_api_client' => [
                'pegase_coc_ext_api_client_UCN' => [
                    // Classe du client HTTP
                    'class' => RestClient::class,
                    // Options
@@ -74,10 +74,8 @@ return [
                        'timeout' => 10,
                        'debug' => true,
                        'debug_file' => '/tmp/debug_curl.log',

                        // Taille maxi du corps des messages d'erreurs reçus
                        'http_errors_truncate_at' => 1500,

                        // Middlewares Guzzle éventuels (https://docs.guzzlephp.org/en/stable/handlers-and-middleware.html)
                        'middlewares' => [
                            'jwt_middleware',
@@ -106,6 +104,28 @@ return [
        ],
    ],

    'unicaen_pegase' => [
        // correspondance 'Etablissement d'inscription SyGAL (etablissement.source_code)' => 'Code structure etablissement Pégase'
        'codes_structures_etablissements' => [
            'UCN' => 'ETAB00',
        ],
        // codes des types de résultats (cf. API Pégase "REF-Référentiel", /parametrage/TypeResultat) selon l'établissement d'inscription
        'codes_types_resultats' => [
            'UCN' => [
                // diplomation
                'ADMIS' => 'XXXXX', // admis
                'AJOURNE' => 'XXXXX', // abandon
                // réinscription
                'VALIDE' => 'XXXXX', // autorisé à continuer
                'NON_VALIDE' => 'XXXXX', // pas autorisé à continuer
            ],
        ],
        // noms des clients REST (configurés dans 'unicaen-api') à utiliser selon l'établissement d'inscription
        'api_clients' => [
            'UCN' => 'pegase_coc_ext_api_client_UCN', // API client configuré plus haut
        ],
    ],

    'caches' => [
        /**
         * Cache utilisé pour persister les tokens JWT et éviter ainsi qu'un nouveau token soit demandé avant chaque appel d'API.
@@ -118,17 +138,6 @@ return [
        ],
    ],

    'unicaen-pegase-coc-ext-api' => [
        // codes des types de résultats (cf. API Pégase "REF-Référentiel", /parametrage/TypeResultat)
        'codes_types_resultats' => [
            'ADMIS' => 'TRE001',
            'AJOURNE' => 'TRE002',
            'VALIDE' => 'TRE009',
            'NON_VALIDE' => 'TRE010',
            'CESURE' => 'TRE013',
        ],
    ],

    'fichier' => [
        'storage' => [
            'adapters' => [
+0 −4
Original line number Diff line number Diff line
@@ -9,7 +9,6 @@ use Application\Form\RapportCsiForm;
use Application\Service\AnneeUniv\AnneeUnivService;
use Application\Service\Rapport\RapportService;
use Application\Service\Source\SourceService;
use AutorisationDiplomationThese\Service\Entity\AutorisationDiplomationTheseService;
use AutorisationInscriptionThese\Service\Entity\AutorisationInscriptionTheseService;
use ComiteSuiviIndividuel\Service\Membre\MembreService;
use Fichier\Service\Fichier\FichierService;
@@ -77,9 +76,6 @@ class RapportCsiControllerFactory
        $controller->setSourceService($sourceService);
        $controller->setAutorisationInscriptionTheseService($autorisationInscriptionService);

        $autorisationDiplomationTheseService = $container->get(AutorisationDiplomationTheseService::class);
        $controller->setAutorisationDiplomationTheseService($autorisationDiplomationTheseService);

//        $theseService->attach($controller->getEventManager());

        return $controller;
+0 −20
Original line number Diff line number Diff line
@@ -5,12 +5,10 @@ namespace Application\Controller\Rapport;
use Application\Provider\Privilege\RapportPrivileges;
use Application\Service\AnneeUniv\AnneeUnivServiceAwareTrait;
use Application\Service\Source\SourceServiceAwareTrait;
use AutorisationDiplomationThese\Service\Entity\AutorisationDiplomationTheseServiceAwareTrait;
use AutorisationInscriptionThese\Service\Entity\AutorisationInscriptionTheseServiceAwareTrait;
use ComiteSuiviIndividuel\Service\Membre\MembreServiceAwareTrait;
use Laminas\Http\Response;
use Laminas\View\Model\ViewModel;
use SplObjectStorage;
use These\Service\These\TheseServiceAwareTrait;

class RapportCsiController extends RapportController
@@ -20,7 +18,6 @@ class RapportCsiController extends RapportController
    use SourceServiceAwareTrait;
    use TheseServiceAwareTrait;
    use AutorisationInscriptionTheseServiceAwareTrait;
    use AutorisationDiplomationTheseServiceAwareTrait;

    protected $routeName = 'rapport-csi';

@@ -77,21 +74,4 @@ class RapportCsiController extends RapportController
            'privilege_DEVALIDER_SIEN' => $this->privilege_DEVALIDER_SIEN,
        ]);
    }

    private function fetchAutorisationsDiplomationParAnneeUniv(): SplObjectStorage
    {
        // collecte des autorisations de diplomation existantes par année univ
        $autorisationDiplomation = $this->autorisationDiplomationTheseService->getRepository()->findOneByThese($this->these);
        $autorisationsDiplomationParAnneeUniv = new SplObjectStorage();
        if ($autorisationDiplomation !== null) {
            foreach ($this->rapportsTeleverses as $rapport) {
                // NB : une contrainte en bdd garantit qu'il n'existe qu'une seule autorisation par thèse.
                if ($rapport->getAnneeUniv()->matches($autorisationDiplomation->getAnneeUniv())) {
                    $autorisationsDiplomationParAnneeUniv->attach($rapport->getAnneeUniv(), $autorisationDiplomation);
                }
            }
        }

        return $autorisationsDiplomationParAnneeUniv;
    }
}
+0 −17
Original line number Diff line number Diff line
@@ -8,7 +8,6 @@ use Application\Entity\Db\Role;
use Application\Filter\IdifyFilter;
use Application\Service\Rapport\RapportSearchService;
use Application\View\Renderer\PhpRenderer;
use AutorisationDiplomationThese\Entity\Db\AutorisationDiplomationThese;
use AutorisationInscriptionThese\Entity\Db\AutorisationInscriptionThese;
use Structure\Search\EcoleDoctorale\EcoleDoctoraleSearchFilter;
use Structure\Search\Etablissement\EtablissementSearchFilter;
@@ -323,21 +322,6 @@ $acteursFormatterCodirecteurs->asSeparated()
                        'autorisation' => $autorisationInscription,
                ]); ?>

                <!----------------- Autorisation de diplomation ----------------->
                <?php
                /** @var AutorisationDiplomationThese|null $autorisationDiplomationThese */
//                if ($autorisationsDiplomationParAnneeUniv?->offsetExists($rapport->getAnneeUniv())) {
//                    $autorisationDiplomationThese = $autorisationsDiplomationParAnneeUniv->offsetGet($rapport->getAnneeUniv());
//                } else {
//                    $autorisationDiplomationThese = new AutorisationDiplomationThese();
//                    $autorisationDiplomationThese->setThese($rapport->getThese());
//                    $autorisationDiplomationThese->setAnneeUniv($rapport->getAnneeUniv()->getPremiereAnnee());
//                }
                ?>
                <?php /*echo $this->partial('autorisation-diplomation-these/autorisation-diplomation-these/partial/card', [
                    'autorisation' => $autorisationDiplomationThese,
                ]); */?>

                <?php if ($canDel && !$autorisationInscription->getId()): ?>
                    <a href="<?php echo $this->url($routeName . '/supprimer', ['rapport' => $rapport->getId()], ['query' => ['redirect' => $returnUrl ?? '']]) ?>"
                       title="Supprimer ce rapport ? <br>(Une confirmation avant la suppression vous sera demandée)"
@@ -371,7 +355,6 @@ $acteursFormatterCodirecteurs->asSeparated()

<script>
    $(function() {
        /** @see module/AutorisationDiplomationThese/view/autorisation-diplomation-these/autorisation-diplomation-these/partial/card.phtml */
        /** @see module/AutorisationInscriptionThese/view/autorisation-inscription/autorisation-inscription-these/partial/card.phtml */
        $("body").on("ajout-autorisation", function (event) {
            event.div.modal('hide');
+1 −2
Original line number Diff line number Diff line
@@ -77,10 +77,9 @@ return [
                    'creer' => [
                        'type' => 'Segment',
                        'options' => [
                            'route' => '/creer/:these/:annee',
                            'route' => '/creer/:these',
                            'constraints' => [
                                'these' => '\d+',
                                'annee' => '\d{4}',
                            ],
                            'defaults' => [
                                /** @see AutorisationDiplomationTheseController::creerAction() */
Loading