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

[FIX] Module Soutenance : la liste des membres du jury pouvant être président...

[FIX] Module Soutenance : la liste des membres du jury pouvant être président de jury affichait les co-directeurs de thèse
parent fa244284
Loading
Loading
Loading
Loading
+1 −0
Changes for CHANGELOG.md: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ Journal des modifications
- [FIX] Module Soutenance : Association d'un acteur à membre impossible dans certains cas
- [FIX] Module Soutenance : Acteurs historisés pouvaient apparaître dans la liste de ceux désignés pour être président de jury
- [FIX] Module Soutenance : Plusieurs avis pouvaient être ajouté pour un même un rapporteur, ce qui provoquait une exception
- [FIX] Module Soutenance : la liste des membres du jury pouvant être président de jury affichait les co-directeurs de thèse
- [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.
+13 −4
Changes for module/Acteur/src/Acteur/Entity/Db/Repository/ActeurTheseRepository.php: 13 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -122,13 +122,22 @@ class ActeurTheseRepository extends AbstractActeurRepository
            ->andWhereNotHistorise('membre')
            ->addOrderBy('membre.nom', 'ASC');

        $directeurIndividu = $proposition->getObject()
        $directeur = $proposition->getObject()
            ->getActeursByRoleCode(Role::CODE_DIRECTEUR_THESE)
            ->first()
            ->getIndividu();
            ->first();

        $coDirecteurs = $proposition->getObject()
            ->getActeursByRoleCode(Role::CODE_CODIRECTEUR_THESE);

        $individusExclus = array_map(
            fn($a) => $a->getIndividu(),
            array_merge([$directeur],
                $coDirecteurs->toArray()
            )
        );

        return array_filter($qb->getQuery()->getResult(), fn($acteur) =>
            $acteur->getIndividu() !== $directeurIndividu
        !in_array($acteur->getIndividu(), $individusExclus, true)
        );
    }