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

Module Dépôt de thèse : remontée propre d'une erreur en cas de notification...

Module Dépôt de thèse : remontée propre d'une erreur en cas de notification impossible du PJ en cas d'absence de PJ.
parent ba6bc767
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ Journal des modifications
- Masquage du bouton de ré-import à la demande d'une thèse à partir d'Apogée car ce n'est plus possible pour l'instant.
- Rapports d'activité : possibilité de supprimer un rapport ainsi que toutes les validations/avis associées.
- Second dépôt de thèse (version corrigée) : reprise automatique des choix réalisés dans le premier dépôt concernant 'Autorisation de diffusion' mais possibilité pour le doctorant de revenir sur le formulaire pour pouvoir téléverser une version de diffusion (et modifier le reste aussi).
- Module Dépôt de thèse : remontée propre d'une erreur en cas de notification impossible du PJ en cas d'absence de PJ.
- [FIX] Modification d'une structure impossible
- [FIX] Recherche d'individus : suppression de la limite de 100 résultats maximum.
- [FIX] Dépôt de thèse : plantage de l'annulation de la validation des corrections de la thèse.
+2 −1
Original line number Diff line number Diff line
@@ -653,7 +653,7 @@ return [
                                'these' => '\d+',
                            ],
                            'defaults' => [
                                /** @see TheseController::accorderSursisCorrectionAction() */
                                /** @see DepotController::validationTheseCorrigeeAction() */
                                'controller' => DepotController::class,
                                'action' => 'validation-these-corrigee',
                            ],
@@ -706,6 +706,7 @@ return [
                                'these' => '\d+',
                            ],
                            'defaults' => [
                                /** @see DepotController::modifierCertifConformiteAction() */
                                'controller' => DepotController::class,
                                'action' => 'modifier-certif-conformite',
                            ],
+10 −4
Original line number Diff line number Diff line
@@ -755,7 +755,7 @@ class DepotController extends AbstractController
        return $vm;
    }

    public function validationTheseCorrigeeAction()
    public function validationTheseCorrigeeAction(): ViewModel
    {
        $these = $this->requestedThese();
        $version = $this->fichierTheseService->fetchVersionFichier(VersionFichier::CODE_ORIG_CORR);
@@ -1171,7 +1171,10 @@ class DepotController extends AbstractController
                    // création automatique d'une validation du dépôt de la version corrigée (par le doctorant)
                    if ($validite->getEstValide() && $version->estVersionCorrigee()) {
                        $this->depotValidationService->validateDepotTheseCorrigee($these);
                        $this->depotService->notifierCorrectionsApportees($these);
                        $resultArray = $this->depotService->notifierCorrectionsApportees($these);
                        if ($resultArray[0] === 'error') {
                            $this->flashMessenger()->addErrorMessage("Notification impossibble. " . $resultArray[1]);
                        }
                    }
                } catch (ValidationImpossibleException $vie) {
                    // Le test d'archivabilité du fichier '%s' a rencontré un problème indépendant de notre volonté
@@ -1541,7 +1544,7 @@ class DepotController extends AbstractController
        return $fieldset;
    }

    public function modifierCertifConformiteAction()
    public function modifierCertifConformiteAction(): ViewModel
    {
        $these = $this->requestedThese();
        $versionArchivage = $this->fichierTheseService->fetchVersionFichier($this->params()->fromQuery('version'));
@@ -1559,7 +1562,10 @@ class DepotController extends AbstractController
                $this->fichierTheseService->updateConformiteFichierTheseRetraitee($these, $conforme);
                if ($conforme && $versionArchivage->estVersionCorrigee()) {
                    $this->depotValidationService->validateDepotTheseCorrigee($these);
                    $this->depotService->notifierCorrectionsApportees($these);
                    $resultArray = $this->depotService->notifierCorrectionsApportees($these);
                    if ($resultArray[0] === 'error') {
                        $this->flashMessenger()->addErrorMessage("Notification impossibble. " . $resultArray[1]);
                    }
                }
            }
        }
+1 −1
Original line number Diff line number Diff line
@@ -503,7 +503,7 @@ EOS;
    {
        $president = $these->getPresidentJury();
        if ($president === null) {
            throw new InvalidArgumentException("Aucun président du jury pour la thèse [".$these->getId()."]");
            return ['error', "Aucune action réalisée car aucun aucun président du jury n'a été trouvé pour la thèse."];
        }

        //Recherche de l'utilisateur  associé à l'individu
+2 −0
Original line number Diff line number Diff line
@@ -15,6 +15,8 @@ use These\Entity\Db\These;
 * @var bool             $isDoctorant
 * @var bool             $hasVDC
 * @var bool             $hasVAC
 *
 * @see \Depot\Controller\DepotController::validationTheseCorrigeeAction()
 */

$canValidate = $this->isAllowed($these, ValidationPrivileges::VALIDATION_DEPOT_THESE_CORRIGEE);