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

Inscriptions administratives importées : pas de création systématique d'un...

Inscriptions administratives importées : pas de création systématique d'un individu (doctorant) mais utilisation de l'individu du dossier d'admission.
parent 978026f8
Loading
Loading
Loading
Loading
+1 −0
Changes for CHANGELOG.md: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ Journal des modifications
------
- Inscriptions administratives importées : pas de plantage mais avertissement si plusieurs dossiers d'admission sont trouvés.
- Inscriptions administratives importées : pas de création du doctorant si la création de la thèse est impossible.
- Inscriptions administratives importées : pas de création systématique d'un individu (doctorant) mais utilisation de l'individu du dossier d'admission.
- Saise d'une thèse : recherche/utilisation d'un éventuel doctorant existant en cas de création ; impossible de changer le doctorant d'une thèse existante ; meilleure remontée/affichage d'erreur.
- Admission : ajout du bouton de suppression d'un dossier d'admission dans le formulaire de modification.
- Admission : utilisation d'une transaction globale pour la suppression d'un dossier d'admission.
+59 −43

File changed.

Preview size limit exceeded, changes collapsed.

+3 −1
Changes for module/InscriptionAdministrative/src/InscriptionAdministrative/Process/Reception/InscriptionAdministrativeReceptionProcess.php: 3 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -176,7 +176,9 @@ class InscriptionAdministrativeReceptionProcess extends AbstractProcess
    {
        $etablissement = $this->inscriptionAdministrativeApprenant->getSource()->getEtablissement();

        $individu = $this->individuService->newIndividuFromApprenant($this->inscriptionAdministrativeApprenant);
        $individu =
            $this->receptionRule->getFoundIndividuForDoctorant() ?:
            $this->individuService->newIndividuFromApprenant($this->inscriptionAdministrativeApprenant);

        $this->doctorant = $this->doctorantService->newDoctorant($individu, $etablissement);
        $this->doctorantService->updateDoctorantFromApprenant($this->doctorant, $this->inscriptionAdministrativeApprenant);
+7 −0
Changes for module/InscriptionAdministrative/src/InscriptionAdministrative/Rule/Reception/AbstractReceptionRule.php: 7 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ namespace InscriptionAdministrative\Rule\Reception;
use Admission\Entity\Db\Admission;
use Application\MessageAwareTrait;
use Doctorant\Entity\Db\Doctorant;
use Individu\Entity\Db\Individu;
use InscriptionAdministrative\Entity\Db\InscriptionAdministrative;
use InscriptionAdministrative\Entity\Db\InscriptionAdministrativeApprenant;
use InscriptionAdministrative\Entity\Db\InscriptionAdministrativeDoctorant;
@@ -25,6 +26,7 @@ abstract class AbstractReceptionRule implements ReceptionRuleInterface

    protected ?Admission $foundAdmission;
    protected ?Doctorant $foundDoctorant;
    protected ?Individu $foundIndividuForDoctorant;
    protected ?These $foundThese;
    protected ?TheseAnneeUniv $foundTheseAnneeUniv;

@@ -122,6 +124,11 @@ abstract class AbstractReceptionRule implements ReceptionRuleInterface
        return $this->foundDoctorant;
    }

    public function getFoundIndividuForDoctorant(): ?Individu
    {
        return $this->foundIndividuForDoctorant;
    }

    public function getFoundAdmission(): ?Admission
    {
        return $this->foundAdmission;
+2 −0
Changes for module/InscriptionAdministrative/src/InscriptionAdministrative/Rule/Reception/ReceptionRuleInterface.php: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ namespace InscriptionAdministrative\Rule\Reception;

use Admission\Entity\Db\Admission;
use Doctorant\Entity\Db\Doctorant;
use Individu\Entity\Db\Individu;
use InscriptionAdministrative\Entity\Db\InscriptionAdministrative;
use Rule\RuleInterface;
use These\Entity\Db\These;
@@ -28,6 +29,7 @@ interface ReceptionRuleInterface extends RuleInterface
    public function canLinkTheseAnneeUnivToInscriptionAdministrative(): bool;

    public function getFoundDoctorant(): ?Doctorant;
    public function getFoundIndividuForDoctorant(): ?Individu;
    public function getFoundAdmission(): ?Admission;
    public function getFoundThese(): ?These;
    public function getFoundTheseAnneeUniv(): ?TheseAnneeUniv;
Loading