Commit 78cdecd2 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Envoi vers Step-Star : le type de partenaire de recherche est désormais configurable.

parent 669fd9e0
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ Journal des modifications
-----
- Ajout de logos sur le document des co-encadrements
- Possibilité de supprimer un compte utilisateur.
- Envoi vers Step-Star : le type de partenaire de recherche est désormais configurable.
- [FIX] Rapports d'activité : le rôle Maison du doctorat ne pouvait pas dévalider un rapport d'activité (en cas de validation du Doctorant). 
- [FIX] Envoi vers Step-Star : faux positif pour le témoin 'contrat doctoral'.

+3 −0
Original line number Diff line number Diff line
@@ -73,6 +73,9 @@ return [
            'codes_orig_financ_cifre' => [
                '31', // Conventions CIFRE
            ],
            'params_partenaire_recherche' => [
                'libelle' => "Établissement co-accrédité",
            ],
        ],
        'tef' => [
            'xsl_template_path' => __DIR__ . '/xml2tef.xsl.twig',
+5 −1
Original line number Diff line number Diff line
@@ -424,7 +424,11 @@ que ces méta sont saisies dans les formulaires STAR. C'est au choix.
                                    </xsl:for-each>

                                    <!-- Partenaire de recherche : établissement -->
                                    <tef:partenaireRecherche type="autreType" autreType="Établissement de préparation">
                                    <tef:partenaireRecherche type="autreType">
                                        <xsl:attribute name="autreType">
                                            <xsl:value-of select="PARTENAIRE_RECHERCHE_TYPE_LIBELLE"/>
                                        </xsl:attribute>

                                        <tef:nom>
                                            <xsl:value-of select="LIBELLE_PARTENAIRE_RECHERCHE_ETAB"/>
                                        </tef:nom>
+17 −1
Original line number Diff line number Diff line
@@ -95,6 +95,7 @@ class XmlService
    const CONVENTION_CIFRE_1 = 'CONVENTION_CIFRE_1';

    // partenaire recherche : établissement
    const PARTENAIRE_RECHERCHE_TYPE_LIBELLE = 'PARTENAIRE_RECHERCHE_TYPE_LIBELLE';
    const PPN_PARTENAIRE_RECHERCHE_ETAB = 'PPN_PARTENAIRE_RECHERCHE_ETAB';
    const CODE_PARTENAIRE_RECHERCHE_ETAB = 'CODE_PARTENAIRE_RECHERCHE_ETAB';
    const LIBELLE_PARTENAIRE_RECHERCHE_ETAB = 'LIBELLE_PARTENAIRE_RECHERCHE_ETAB';
@@ -130,6 +131,11 @@ class XmlService
     */
    private array $codesOrigFinancCifre = [];

    /**
     * @var array Type et libellé pour le partenaire de recherche.
     */
    private array $paramsPartenaireRecherche = [];

    /**
     * @var XmlServiceException[] Liste des exceptions rencontrées lors de la génération XML.
     */
@@ -182,6 +188,15 @@ class XmlService
        $this->codesOrigFinancCifre = $codesOrigFinancCifre;
    }

    /**
     * @param array $paramsPartenaireRecherche
     */
    public function setParamsPartenaireRecherche(array $paramsPartenaireRecherche): void
    {
        Assert::keyExists($paramsPartenaireRecherche, 'libelle');
        $this->paramsPartenaireRecherche = $paramsPartenaireRecherche;
    }

    /**
     * @param array[] $theses
     */
@@ -492,7 +507,8 @@ class XmlService
        $data[self::CODE_EQUIPE_RECHERCHE_1] = $dataStructureUniteRecherche['code'];
        $data[self::LIBELLE_EQUIPE_RECHERCHE_1] = $dataStructureUniteRecherche['libelle'];

        // ajout de l'établissement comme partenaire de recherche typé "Autre"
        // ajout de l'établissement comme partenaire de recherche
        $data[self::PARTENAIRE_RECHERCHE_TYPE_LIBELLE] = $this->paramsPartenaireRecherche['libelle'];
        $data[self::CONVENTION_CIFRE_ETAB] = $conventionCifre;
        $data[self::PPN_PARTENAIRE_RECHERCHE_ETAB] = $dataStructureEtablissement['idRef'] ?? null;
        $data[self::CODE_PARTENAIRE_RECHERCHE_ETAB] = $dataStructureEtablissement['code'];
+2 −0
Original line number Diff line number Diff line
@@ -20,12 +20,14 @@ class XmlServiceFactory implements FactoryInterface
        $codesSiseDisciplinesToCodesDomaines = $config['step_star']['oai']['sise_oai_set'];
        $codesTypeFinancContratDoctoral = $config['step_star']['xml']['codes_type_financ_contrat_doctoral'];
        $codesOrigFinancCifre = $config['step_star']['xml']['codes_orig_financ_cifre'];
        $paramsPartenaireRecherche = $config['step_star']['xml']['params_partenaire_recherche'];

        $service = new XmlService();
        $service->setWriter(new XMLWriter());
        $service->setCodesSiseDisciplinesToCodesDomaines($codesSiseDisciplinesToCodesDomaines);
        $service->setCodesTypeFinancContratDoctoral($codesTypeFinancContratDoctoral);
        $service->setCodesOrigFinancCifre($codesOrigFinancCifre);
        $service->setParamsPartenaireRecherche($paramsPartenaireRecherche);

        return $service;
    }