Commit 46f8a916 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Merge branch 'release_13.2.0' into test

parents b066c768 73fce642
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
Journal des modifications
=========================

13.2.0
------
- Admission : l'export CSV n'est possible que si la recherche ne contient que des dossiers validés (sinon affichage d'un avertissement).
- Admission : une année universitaire d'inscription cible doit désormais être attribuée au dossier d'admission.
- Admission : les gestionnaires d'ED ont la main en permanence sur les documents déposés.
- Autorisation de diplomation : déplacement du bouton à la fin de la procédure de soutenance (après délibération du jury pour résultat admis). 
- Thèses : refonte de la gestion événementielle en cas de modification du résultat (manuelle ou par la synchro) ou de la correction attendue (par la synchro uniquement).
- Thèses : modification de la valeur du témoin de corrections attendues d'une thèse non importée.
- Thèses : notification en cas de modification manuelle de la valeur du témoin de corrections attendues d'une thèse (comme à l'issue d'un import).
- Thèse : le résultat de thèse ne peut plus être modifié.
- Thèse : affichage dans les généralités de soutenance autorisée, date de soutenance, cotutelle, résultat, dates d'abandon/transfert ; bouton pour modifier la date d'abandon/transfert.
- Import (réception) d'inscription administrative : spécification partielle dans un fichier de config (complétée dynamiquement) pour la visibilité et accéder aux logs.
- 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.
- [FIX] Notification de thèse déposée : warning 'Undefined variable' à cause d'une variable non fournie au template.
- [FIX] Notification 'Corrections attendues' et 'Résultats de thèses modifiés' : correction de l'erreur 'Typed property Notification\Notification::$subject must not be accessed before initialization'.
- [FIX] Notification 'Corrections attendues' et 'Résultats de thèses modifiés' : problème dans l'algo de préparation des données (partie émergée : 'Warning: Undefined array key').
- [FIX] Formations : plantage possible en cas de session sans séance (car en préparation par ex) donc sans date de début/fin. 

13.1.0
------
- Admission : nouveau format de fichier unique CSV des futurs doctorants/apprenants (importable par Pégase).
+1 −1
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@
        "unicaen/privilege": "^6.4",
        "unicaen/console": "^6.0",
        "unicaen/db-anonym": "^4.0",
        "unicaen/db-import": "^8.0",
        "unicaen/db-import": "dev-release_8.1.0",
        "unicaen/etat": "^6.0",
        "unicaen/evenement": "^6.4",
        "unicaen/faq": "^7.0",
+41 −13
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@
        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
        "This file is @generated automatically"
    ],
    "content-hash": "ebfc426480b11adc6823face9a166e73",
    "content-hash": "1969e309c125200cb64cc33a806a2470",
    "packages": [
        {
            "name": "apereo/phpcas",
@@ -12765,11 +12765,11 @@
        },
        {
            "name": "unicaen/db-import",
            "version": "8.0.1",
            "version": "dev-release_8.1.0",
            "source": {
                "type": "git",
                "url": "https://git.unicaen.fr/lib/unicaen/db-import.git",
                "reference": "7ab05e82301c5356e36c3d537edf2f26c278e5f5"
                "reference": "2f3dff74dcc04db8ce413e4e87317015f10467e6"
            },
            "require": {
                "beberlei/assert": "^3.3",
@@ -12798,7 +12798,7 @@
                ]
            },
            "description": "Module d'import entre bases de données",
            "time": "2026-07-06T17:18:33+00:00"
            "time": "2026-08-25T14:25:22+00:00"
        },
        {
            "name": "unicaen/etat",
@@ -13099,17 +13099,44 @@
            "description": "Génération PDF",
            "time": "2025-09-24T08:43:32+00:00"
        },
        {
            "name": "unicaen/pegase-api",
            "version": "dev-master",
            "source": {
                "type": "git",
                "url": "https://git.unicaen.fr/lib/unicaen/pegase-api.git",
                "reference": "e8f2ad4e3081c1e9d9db4b2c9cb84eb122d23f68"
            },
            "require": {
                "php": "^8.0",
                "unicaen/api": "dev-master"
            },
            "default-branch": true,
            "type": "library",
            "autoload": {
                "psr-4": {
                    "UnicaenPegaseApi\\": [
                        "src/"
                    ]
                },
                "classmap": [
                    "./Module.php"
                ]
            },
            "description": "Socle commun aux bibliothèques d'appel d'API Pégase",
            "time": "2026-09-01T11:32:39+00:00"
        },
        {
            "name": "unicaen/pegase-coc-ext-api",
            "version": "dev-master",
            "source": {
                "type": "git",
                "url": "https://git.unicaen.fr/lib/unicaen/pegase-coc-ext-api.git",
                "reference": "dadb40009c187be74961ea57f7769b21098c3ef1"
                "reference": "67959523e7e7ba238b1a0889291dda4c88061fc4"
            },
            "require": {
                "php": "^8.0",
                "unicaen/api": "dev-master"
                "unicaen/pegase-api": "dev-master"
            },
            "default-branch": true,
            "type": "library",
@@ -13124,8 +13151,8 @@
                    "./Module.php"
                ]
            },
            "description": "Appel d'API Pégase",
            "time": "2026-06-04T07:15:53+00:00"
            "description": "Appel de l'API Pégase COC Contrôle du cursus",
            "time": "2026-09-01T11:56:18+00:00"
        },
        {
            "name": "unicaen/privilege",
@@ -13185,11 +13212,11 @@
        },
        {
            "name": "unicaen/search",
            "version": "1.1.1",
            "version": "1.2.0",
            "source": {
                "type": "git",
                "url": "https://git.unicaen.fr/lib/unicaen/search.git",
                "reference": "abfc8a3feadd0fa128645d616225be9381626cd7"
                "reference": "a59f0d206ca51f0897c66c7bda6fe4cb0f22655c"
            },
            "require": {
                "doctrine/doctrine-orm-module": "^5.3 || ^6.0",
@@ -13216,7 +13243,7 @@
                ]
            },
            "description": "Module Unicaen proposant la création de pages de recherche en BDD et de filtres normalisés",
            "time": "2026-03-01T08:56:04+00:00"
            "time": "2026-07-20T12:35:01+00:00"
        },
        {
            "name": "unicaen/shell",
@@ -13288,7 +13315,7 @@
            "source": {
                "type": "git",
                "url": "https://git.unicaen.fr/lib/unicaen/sygal-api.git",
                "reference": "d5b8c0d6c97aa1ab5ef6add2fb631c2ab341eaa5"
                "reference": "92bedae6f8949bdf8b782ff61599c95c391abe95"
            },
            "require": {
                "guzzlehttp/guzzle": "^7.0",
@@ -13314,7 +13341,7 @@
                ]
            },
            "description": "API SyGAL",
            "time": "2026-06-10T07:44:16+00:00"
            "time": "2026-08-27T12:52:37+00:00"
        },
        {
            "name": "unicaen/utilisateur",
@@ -16310,6 +16337,7 @@
        "eljam/guzzle-jwt-middleware": 20,
        "unicaen/api": 20,
        "unicaen/authentification": 20,
        "unicaen/db-import": 20,
        "unicaen/pegase-coc-ext-api": 20,
        "unicaen/sygal-api": 20
    },
+22 −3
Original line number Diff line number Diff line
@@ -11,8 +11,8 @@ use Fichier\Service\Storage\Adapter\S3StorageAdapter;
use GuzzleHttp\Client as RestClient;
use Laminas\Mail\Transport\Smtp;
use UnicaenApi\ClientMiddleware\Jwt\JwtMiddleware;
use UnicaenPegaseCocExtApi\Api\JwtMiddlewareAuthStrategy;
use UnicaenPegaseCocExtApi\Api\JwtMiddlewareFactory;
use UnicaenPegaseApi\Api\JwtMiddlewareAuthStrategy;
use UnicaenPegaseApi\Api\JwtMiddlewareFactory;

return [
    // Imports et synchros (unicaen/db-import)
@@ -104,12 +104,31 @@ return [
        ],
    ],

    //
    // Config pour dialogue avec le logiciel de scolarité Pégase.
    //
    'unicaen_pegase' => [
        // correspondance 'Etablissement d'inscription SyGAL (etablissement.source_code)' => 'Code structure etablissement Pégase'
        'codes_structures_etablissements' => [
            'UCN' => 'ETAB00',
            'INSA' => 'ETAB00',
        ],
        // codes des périodes Pégase selon l'établissement d'inscription SyGAL
        'codes_periodes' => [
            'UCN' => 'PER-%d', // %d sera remplacé par l'année, ex : 'PER-2026'
            'INSA' => 'PERIODE-%d',
        ],
        // codes des origines d'admission Pégase selon l'établissement d'inscription SyGAL
        'codes_origines_admissions' => [
            'UCN' => 'ECOLEDOCTORALE',
            'INSA' => 'ECOLEDOCTORALE',
        ],
        // codes des régimes d'inscriptions Pégase selon l'établissement d'inscription SyGAL
        'codes_regimes_inscriptions' => [
            'UCN' => 'XXXX', // ex : 'REG001'
            'INSA' => 'XXXX',
        ],
        // codes des types de résultats (cf. API Pégase "REF-Référentiel", /parametrage/TypeResultat) selon l'établissement d'inscription
        // codes des types de résultats Pégase (cf. API Pégase "REF-Référentiel", /parametrage/TypeResultat) selon l'établissement d'inscription SyGAL
        'codes_types_resultats' => [
            'UCN' => [
                // diplomation
+2 −0
Original line number Diff line number Diff line
comment on column these.correc_autorisee_forcee is
    'Valeur forcée pour le témoin de correction attendue. N''a de sens que pour une thèse importée (i.e. dont la Source est importable).';
 No newline at end of file
Loading