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

[FIX] Module Soutenance : Association d'un acteur à membre impossible dans certains cas

parent 8578ebb1
Loading
Loading
Loading
Loading
+1 −0
Changes for CHANGELOG.md: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ Journal des modifications
- Extraction CSV des inscriptions aux formations : ajout de la colonne 'Liste'.
- Ajout d'un formatter pour l'affichage des structures
- [FIX] Module Soutenance : lorsque plusieurs propositions de soutenances étaient enregistrées en BDD, ce n'était pas forcément la bonne qui était récupérée
- [FIX] Module Soutenance : Association d'un acteur à membre impossible dans certains cas
- [FIX] Rôles HDR affichés à tort sur la fiche d'un établissement
- [FIX] Ajout d'un CED impossible
- [FIX] Correction de la vue v_situ_depot_vc_valid_pres : calcul erroné de l'existence d'une validation.
+15 −1
Changes for module/Acteur/view/acteur/acteur/modifier.phtml: 15 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -88,7 +88,6 @@ if (!$form->getObject()->getId() && !$form->getObject()->getSource()->getImporta

<?php echo $this->form()->closeTag(); ?>


<style>
    .forcage .trigger.forcer {
        margin-top: 1.45em;
@@ -110,4 +109,19 @@ if (!$form->getObject()->getId() && !$form->getObject()->getSource()->getImporta
        // };
        widget.init();
    });

    document.querySelector('.modal form button[type="submit"]').addEventListener('click', function () {
        const form = this.closest('form');
        // Ajoute une classe CSS pour "geler" le formulaire et possiblement éviter l'exception : plusieurs membres pour un même acteur
        form.classList.add('form-locked');
    });
</script>

<style>
    .form-locked {
        pointer-events: none;
        opacity: 0.6;
        user-select: none;
    }
</style>
+3 −4
Changes for module/Soutenance/src/Soutenance/Service/Membre/MembreService.php: 3 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -293,9 +293,9 @@ class MembreService
        $acteur = $proposition instanceof PropositionThese ?
            $this->acteurTheseService->getRepository()->findActeurForSoutenanceMembre($membre) :
            $this->acteurHDRService->getRepository()->findActeurForSoutenanceMembre($membre);
        if ($acteur === null) throw new LogicException("La génération du username est basée sur l'Individu qui est mamquant.");
        if ($acteur === null) throw new LogicException("La génération du username est basée sur l'Individu qui est manquant.");
        $nomusuel = strtolower($acteur->getIndividu()->getNomUsuel());
        return ($nomusuel . "_" . $membre->getId());
        return ($nomusuel . "_" . $membre->getId()."_".$acteur->getIndividu()->getId());
    }

    /** RECUPERATION DE L'UTILSATEUR D'UN MEMBRE **********************************************************************/
@@ -315,8 +315,7 @@ class MembreService
        $individu = $acteur->getIndividu();
        if ($individu === null) return null;

        /** @var AbstractUser[] $utilisateurs */
        $utilisateurs = $individu->getUtilisateurs();
        $utilisateurs = $this->utilisateurService->getRepository()->findByIndividu($individu);
        return (empty($utilisateurs))?null:$utilisateurs[0];
    }