Loading CHANGELOG.md +1 −0 Changes for CHANGELOG.md: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ Journal des modifications - [FIX] Inscription administrative : mapping erroné de la nationalité de l'apprenant, impactant la création de l'individu à l'import de l'IA. - [FIX] Création de thèse à partir du dossier d'admission : le codirecteur de thèse avait le rôle de directeur. - [FIX] Admission et thèse saisie dans l'application : l'origine de financement doit provenir de la source SyGAL. - [FIX] Soutenance : non prise en compte du décès d'un acteur, empêchant la validation de la part des structures (UR, ED). 13.2.0 ------ Loading module/Soutenance/src/Soutenance/Assertion/These/PropositionTheseAssertion.php +16 −5 Changes for module/Soutenance/src/Soutenance/Assertion/These/PropositionTheseAssertion.php: 16 added lines, 5 removed lines. Original line number Diff line number Diff line Loading @@ -184,16 +184,28 @@ class PropositionTheseAssertion implements AssertionInterface { case PropositionPrivileges::PROPOSITION_VALIDER_UR: switch ($role) { case Role::CODE_RESP_UR : $validationsArray = []; $validationsArray[$these->getApprenant()->getIndividu()->getId()] = []; /** @var ActeurThese $directeur */ foreach ($these->getActeursByRoleCode(Role::CODE_DIRECTEUR_THESE) as $directeur) $validationsArray[$directeur->getIndividu()->getId()] = []; foreach ($these->getActeursByRoleCode(Role::CODE_CODIRECTEUR_THESE) as $directeur) $validationsArray[$directeur->getIndividu()->getId()] = []; $validations_ACTEUR = $this->getValidationTheseService()->getRepository()->findValidationByCodeAndThese(TypeValidation::CODE_PROPOSITION_SOUTENANCE, $these); foreach ($these->getActeursByRoleCode(Role::CODE_DIRECTEUR_THESE) as $directeur) { if (!$directeur->getIndividu()->getEstDecede()) { $validationsArray[$directeur->getIndividu()->getId()] = []; } } foreach ($these->getActeursByRoleCode(Role::CODE_CODIRECTEUR_THESE) as $directeur) { if (!$directeur->getIndividu()->getEstDecede()) { $validationsArray[$directeur->getIndividu()->getId()] = []; } } $validations_ACTEUR = $this->getValidationTheseService()->getRepository()->findValidationByCodeAndThese( TypeValidation::CODE_PROPOSITION_SOUTENANCE, $these ); foreach ($validations_ACTEUR as $validation) { if (array_key_exists($validation->getIndividu()->getId(), $validationsArray)) { $validationsArray[$validation->getIndividu()->getId()][] = $validation; } } $ok = true; foreach ($validationsArray as $id => $validations) { if (empty($validations)) { Loading @@ -217,7 +229,6 @@ class PropositionTheseAssertion implements AssertionInterface { return false; } case PropositionPrivileges::PROPOSITION_VALIDER_BDD: switch ($role) { case Role::CODE_BDD : $validations_UNITE = $this->getValidationTheseService()->getRepository()->findValidationByCodeAndThese(TypeValidation::CODE_VALIDATION_PROPOSITION_UR, $these); 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 @@ -10,6 +10,7 @@ Journal des modifications - [FIX] Inscription administrative : mapping erroné de la nationalité de l'apprenant, impactant la création de l'individu à l'import de l'IA. - [FIX] Création de thèse à partir du dossier d'admission : le codirecteur de thèse avait le rôle de directeur. - [FIX] Admission et thèse saisie dans l'application : l'origine de financement doit provenir de la source SyGAL. - [FIX] Soutenance : non prise en compte du décès d'un acteur, empêchant la validation de la part des structures (UR, ED). 13.2.0 ------ Loading
module/Soutenance/src/Soutenance/Assertion/These/PropositionTheseAssertion.php +16 −5 Changes for module/Soutenance/src/Soutenance/Assertion/These/PropositionTheseAssertion.php: 16 added lines, 5 removed lines. Original line number Diff line number Diff line Loading @@ -184,16 +184,28 @@ class PropositionTheseAssertion implements AssertionInterface { case PropositionPrivileges::PROPOSITION_VALIDER_UR: switch ($role) { case Role::CODE_RESP_UR : $validationsArray = []; $validationsArray[$these->getApprenant()->getIndividu()->getId()] = []; /** @var ActeurThese $directeur */ foreach ($these->getActeursByRoleCode(Role::CODE_DIRECTEUR_THESE) as $directeur) $validationsArray[$directeur->getIndividu()->getId()] = []; foreach ($these->getActeursByRoleCode(Role::CODE_CODIRECTEUR_THESE) as $directeur) $validationsArray[$directeur->getIndividu()->getId()] = []; $validations_ACTEUR = $this->getValidationTheseService()->getRepository()->findValidationByCodeAndThese(TypeValidation::CODE_PROPOSITION_SOUTENANCE, $these); foreach ($these->getActeursByRoleCode(Role::CODE_DIRECTEUR_THESE) as $directeur) { if (!$directeur->getIndividu()->getEstDecede()) { $validationsArray[$directeur->getIndividu()->getId()] = []; } } foreach ($these->getActeursByRoleCode(Role::CODE_CODIRECTEUR_THESE) as $directeur) { if (!$directeur->getIndividu()->getEstDecede()) { $validationsArray[$directeur->getIndividu()->getId()] = []; } } $validations_ACTEUR = $this->getValidationTheseService()->getRepository()->findValidationByCodeAndThese( TypeValidation::CODE_PROPOSITION_SOUTENANCE, $these ); foreach ($validations_ACTEUR as $validation) { if (array_key_exists($validation->getIndividu()->getId(), $validationsArray)) { $validationsArray[$validation->getIndividu()->getId()][] = $validation; } } $ok = true; foreach ($validationsArray as $id => $validations) { if (empty($validations)) { Loading @@ -217,7 +229,6 @@ class PropositionTheseAssertion implements AssertionInterface { return false; } case PropositionPrivileges::PROPOSITION_VALIDER_BDD: switch ($role) { case Role::CODE_BDD : $validations_UNITE = $this->getValidationTheseService()->getRepository()->findValidationByCodeAndThese(TypeValidation::CODE_VALIDATION_PROPOSITION_UR, $these); Loading