Commit 2bb93cf1 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Admission : injection des options de config Pégase dans la classe d'export CSV...

Admission : injection des options de config Pégase dans la classe d'export CSV des dossiers validés.
parent 3e08861a
Loading
Loading
Loading
Loading
+1 −0
Changes for CHANGELOG.md: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@ Journal des modifications
- Inscription administrative : création de la thèse de manière plus complète à partir du dossier d'admission et de l'IA reçue.
- Doctorant : prise en compte du code apprenant Pégase (si disponible) comme valeur du 'numéro étudiant'.
- Extraction d'une classe UnicaenPegaseConfig pour les options de config de communication avec Pégase.
- Admission : injection des options de config Pégase dans la classe d'export CSV des dossiers validés.
- [FIX] Autorisation de réinscription : calcul erroné de l'année universitaire suivante à partir de l'année du rapport CSI.
- [FIX] Admission : invisibilité des détails de la quesiton 'Avez-vous un contrat doctoral ?' au chargement de la page.
- [FIX] Saisie financement de thèse : invisibilité des listes déroulantes 'Année' et 'Origine' au chargement du formulaire.
+16 −5
Changes for module/Admission/src/Admission/Service/Exporter/Admission/AdmissionExporter.php: 16 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -5,20 +5,25 @@ namespace Admission\Service\Exporter\Admission;
use Admission\Entity\Db\Admission;
use Admission\Entity\Db\Etudiant;
use Admission\Service\Transmission\TransmissionServiceAwareTrait;
use Application\Attribute\DependsOn;
use Application\Config\UnicaenPegaseConfig;
use Application\Config\UnicaenPegaseConfigAwareTrait;
use UnicaenApp\View\Model\CsvModel;

#[DependsOn(UnicaenPegaseConfig::class)]
class AdmissionExporter
{
    use UnicaenPegaseConfigAwareTrait;
    use TransmissionServiceAwareTrait;

    private const origine_admission1 = 'ED';
    private const code_regime_inscription1 = 'REG006';

    /**
     * @param Admission[] $admissions
     */
    public function exportAdmisCSV(array $admissions): CsvModel
    {
        $codesOriginesAdmissions = $this->unicaenPegaseConfig->getCodesOriginesAdmissions();
        $codesRegimesInscriptions = $this->unicaenPegaseConfig->getCodesRegimesInscriptions();

        $headers = [
            'sexe',
            'nom_naissance',
@@ -90,6 +95,12 @@ class AdmissionExporter
                $sexe = rtrim($sexe, '.') === "M" ? "M" : "F";
            }

            /** @var \Admission\Entity\Db\Inscription $inscription */
            $inscription = $admission->getInscription()->first() ?: null;
            $etablissementInscription = $inscription?->getEtablissementInscription();
            $codeOrigineAdmission = $codesOriginesAdmissions[$etablissementInscription?->getSourceCode()] ?? null;
            $codeRegimeInscription = $codesRegimesInscriptions[$etablissementInscription?->getSourceCode()] ?? null;

            $transmssion = $admission->getTransmission();

            $entry = [];
@@ -118,11 +129,11 @@ class AdmissionExporter
            $entry['numero_telephone2'] = (string)$etudiant->getNumeroTelephone2();
            $entry['mail'] = $etudiant->getCourriel();
            //
            $entry['origine_admission1'] = self::origine_admission1;
            $entry['origine_admission1'] = $codeOrigineAdmission;
            $entry['code_voeu1'] = $transmssion?->getCodeVoeu();
            $entry['code_periode1'] = $transmssion?->getCodePeriode();
            $entry['annee_concours1'] = null;
            $entry['code_regime_inscription1'] = self::code_regime_inscription1;
            $entry['code_regime_inscription1'] = $codeRegimeInscription;
            $entry['code_profil_specifique1'] = null;
            $entry['code_cursus_amenage_sise1'] = null;
            $entry['origine_admission2'] = null;