Loading CHANGELOG.md +1 −0 Changes for CHANGELOG.md: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ Journal des modifications - [FIX] Plantage de la recherche textuelle d'individus en cas de résultat vide. - [FIX] Ajout de garde pour l'index des rapporteurs (cas où le membre est null qui bloquait les administrateurs) - Changement du lien dans le mail pour la validation des présidents : redirect + selection du rôle - [FIX] Amélioration de la robustesse de la proposition de soutenance pour les cas de th_se sans ED, sans UR ou sans ETAB 5.2.0 ----- Loading module/Soutenance/src/Soutenance/Controller/PropositionController.php +21 −5 Changes for module/Soutenance/src/Soutenance/Controller/PropositionController.php: 21 added lines, 5 removed lines. Original line number Diff line number Diff line Loading @@ -122,16 +122,32 @@ class PropositionController extends AbstractController /** Collècte des informations sur les individus liés -------------------------------------------------------- */ /** @var IndividuRole[] $ecoleResponsables */ $ecoleResponsables = []; if ($these->getEcoleDoctorale() !== null) { $ecoleResponsables = $this->getRoleService()->getIndividuRoleByStructure($these->getEcoleDoctorale()->getStructure()); $ecoleResponsables = array_filter($ecoleResponsables, function(IndividuRole $ir) use ($these) { return $ir->getIndividu()->getEtablissement() AND $ir->getIndividu()->getEtablissement()->getId() === $these->getEtablissement()->getId(); }); $ecoleResponsables = array_filter($ecoleResponsables, function (IndividuRole $ir) use ($these) { return $ir->getIndividu()->getEtablissement() and $ir->getIndividu()->getEtablissement()->getId() === $these->getEtablissement()->getId(); }); } /** @var IndividuRole[] $uniteResponsables */ $uniteResponsables = []; if ($these->getUniteRecherche() !== null) { $uniteResponsables = $this->getRoleService()->getIndividuRoleByStructure($these->getUniteRecherche()->getStructure()); $uniteResponsables = array_filter($uniteResponsables, function(IndividuRole $ir) use ($these) { return $ir->getIndividu()->getEtablissement() AND $ir->getIndividu()->getEtablissement()->getId() === $these->getEtablissement()->getId(); }); $uniteResponsables = array_filter($uniteResponsables, function (IndividuRole $ir) use ($these) { return $ir->getIndividu()->getEtablissement() and $ir->getIndividu()->getEtablissement()->getId() === $these->getEtablissement()->getId(); }); } /** @var IndividuRole[] $etablissementResponsables */ $etablissementResponsables = []; if ($these->getEtablissement() !== null) { $etablissementResponsables = $this->roleService->getIndividuRoleByStructure($these->getEtablissement()->getStructure()); $etablissementResponsables = array_filter($etablissementResponsables, function (IndividuRole $ir) { return $ir->getRole()->getCode() === Role::CODE_BDD;}); $etablissementResponsables = array_filter($etablissementResponsables, function(IndividuRole $ir) use ($these) { return $ir->getIndividu()->getEtablissement() AND $ir->getIndividu()->getEtablissement()->getId() === $these->getEtablissement()->getId(); }); $etablissementResponsables = array_filter($etablissementResponsables, function (IndividuRole $ir) { return $ir->getRole()->getCode() === Role::CODE_BDD; }); $etablissementResponsables = array_filter($etablissementResponsables, function (IndividuRole $ir) use ($these) { return $ir->getIndividu()->getEtablissement() and $ir->getIndividu()->getEtablissement()->getId() === $these->getEtablissement()->getId(); }); } $informationsOk = true; $directeurs = $this->getActeurService()->getRepository()->findEncadrementThese($these); foreach ($directeurs as $directeur) { Loading Loading
CHANGELOG.md +1 −0 Changes for CHANGELOG.md: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ Journal des modifications - [FIX] Plantage de la recherche textuelle d'individus en cas de résultat vide. - [FIX] Ajout de garde pour l'index des rapporteurs (cas où le membre est null qui bloquait les administrateurs) - Changement du lien dans le mail pour la validation des présidents : redirect + selection du rôle - [FIX] Amélioration de la robustesse de la proposition de soutenance pour les cas de th_se sans ED, sans UR ou sans ETAB 5.2.0 ----- Loading
module/Soutenance/src/Soutenance/Controller/PropositionController.php +21 −5 Changes for module/Soutenance/src/Soutenance/Controller/PropositionController.php: 21 added lines, 5 removed lines. Original line number Diff line number Diff line Loading @@ -122,16 +122,32 @@ class PropositionController extends AbstractController /** Collècte des informations sur les individus liés -------------------------------------------------------- */ /** @var IndividuRole[] $ecoleResponsables */ $ecoleResponsables = []; if ($these->getEcoleDoctorale() !== null) { $ecoleResponsables = $this->getRoleService()->getIndividuRoleByStructure($these->getEcoleDoctorale()->getStructure()); $ecoleResponsables = array_filter($ecoleResponsables, function(IndividuRole $ir) use ($these) { return $ir->getIndividu()->getEtablissement() AND $ir->getIndividu()->getEtablissement()->getId() === $these->getEtablissement()->getId(); }); $ecoleResponsables = array_filter($ecoleResponsables, function (IndividuRole $ir) use ($these) { return $ir->getIndividu()->getEtablissement() and $ir->getIndividu()->getEtablissement()->getId() === $these->getEtablissement()->getId(); }); } /** @var IndividuRole[] $uniteResponsables */ $uniteResponsables = []; if ($these->getUniteRecherche() !== null) { $uniteResponsables = $this->getRoleService()->getIndividuRoleByStructure($these->getUniteRecherche()->getStructure()); $uniteResponsables = array_filter($uniteResponsables, function(IndividuRole $ir) use ($these) { return $ir->getIndividu()->getEtablissement() AND $ir->getIndividu()->getEtablissement()->getId() === $these->getEtablissement()->getId(); }); $uniteResponsables = array_filter($uniteResponsables, function (IndividuRole $ir) use ($these) { return $ir->getIndividu()->getEtablissement() and $ir->getIndividu()->getEtablissement()->getId() === $these->getEtablissement()->getId(); }); } /** @var IndividuRole[] $etablissementResponsables */ $etablissementResponsables = []; if ($these->getEtablissement() !== null) { $etablissementResponsables = $this->roleService->getIndividuRoleByStructure($these->getEtablissement()->getStructure()); $etablissementResponsables = array_filter($etablissementResponsables, function (IndividuRole $ir) { return $ir->getRole()->getCode() === Role::CODE_BDD;}); $etablissementResponsables = array_filter($etablissementResponsables, function(IndividuRole $ir) use ($these) { return $ir->getIndividu()->getEtablissement() AND $ir->getIndividu()->getEtablissement()->getId() === $these->getEtablissement()->getId(); }); $etablissementResponsables = array_filter($etablissementResponsables, function (IndividuRole $ir) { return $ir->getRole()->getCode() === Role::CODE_BDD; }); $etablissementResponsables = array_filter($etablissementResponsables, function (IndividuRole $ir) use ($these) { return $ir->getIndividu()->getEtablissement() and $ir->getIndividu()->getEtablissement()->getId() === $these->getEtablissement()->getId(); }); } $informationsOk = true; $directeurs = $this->getActeurService()->getRepository()->findEncadrementThese($these); foreach ($directeurs as $directeur) { Loading