Commit 05262453 authored by joriot221's avatar joriot221
Browse files

Merge branch 'master' into FJ_Contrat_Sans_Avenant

# Conflicts:
#	data/ddl/package/UNICAEN_TBL/body.sql
#	data/ddl/sequence.php
#	data/ddl/view/V_TBL_PLAFOND_INTERVENANT.sql
parents b853edec 9dc73423
Loading
Loading
Loading
Loading
+54 −22
Changes for CHANGELOG.md: 54 added lines, 22 removed lines.
Original line number Diff line number Diff line
@@ -11,11 +11,6 @@ Objectif : Plafonds personnalisables & refonte gestion des statuts

## Nouveautés

* Le grade devient modifiable dans la fiche pour les anciens intervenants #40369
* Depuis la fiche de service de l'intervenant, vous pouvez maintenant désactiver la possibilité de reporter le prévisionnel n-1 vers l'année en cours ou du prévisionnel vers le réalisé
* Technique : 
  * migration vers Laminas et Composer 2
  * migration vers PHP 8
* Nouvelle infrastructure de gestion des plafonds 
  * Les plafonds sont maintenant personnalisables : vous pouvez les modifier en retirer ou en créer
  * [Une nouvelle documentation pour les plafonds](doc/Plafonds/Plafonds.md)
@@ -23,31 +18,67 @@ Objectif : Plafonds personnalisables & refonte gestion des statuts
    * par composante
    * par statut d'intervenant
    * par fonction référentielle
    * par élément pédagogique
    * par volume horaire (par élément pédagogique et par type d'intervention, exemple: nombre de CM en Maths)
  * Les paramétrages liés aux plafonds sont annualisés
  * Des dérogations aux plafonds sont possibles par intervenant
* Paramétrage du mail expéditeur du contrat (Tâche #41014)
  * Les plafonds pourront être utilisés comme de simples indicateurs
  * Des jauges relatives aux plafonds s'affichent dans la page de saisie de service 
  * Des dérogations aux plafonds sont possibles par intervenant via un nouvel onglet dédié
  
* Indicateurs
  * Optimisation du chargement de la page des indicateurs
  * Gestion des dossiers irrecevables (#18307)
  * Extraction CSV des indicateurs (#19405)
  * Certains statuts pourront être affichés de manière prioritaire pour être traités en premier (#20808)
  * Possibilité d'envoyer en cci l'email des indicateurs (#40999)
* Evolution des indicateurs
  * gestion des dossiers irrecevables (#18307)
  * extraction CSV des indicateurs (#19405)
  * certains statuts pourront être affichés de manière prioritaire pour être traités en premier (#20808)
* Refonte de l'interface d'administration des statuts
  * Les paramétrages de statuts sont maintenant annualisés
* Nouveau paramètre dans administration > paramètre généraux permettant de choisir l'étape de la feuille de route à franchir pour pouvoir exporter un
  intervenant vers le SIRH

* Saisie de service & référentiel
  * Par statut, vous pouvez maintenant choisir d'activer le prévisionnel et le réalisé de manière indépendante
  * Vous avez maintenant des privilèges distincts pour la saisie du service : un pour le prévisionnel et un pour le réalisé
  * Idem pour le référentiel
  * Idem pour les validations des services
  * Idem pour les validations du référentiel
  * Vous pouvez maintenant désactiver la possibilité de reporter le prévisionnel n-1 vers l'année en cours ou du prévisionnel vers le réalisé

* Contrats
  * Un nouveau modèle de contrat sera possible avec la ventilation des heures de services par types d'intervention (CM/TD/TP)
  * Paramétrage du mail expéditeur du contrat (Tâche #41014)
  * Vérification de la présence d'au moins un fichier avant de permettre l'enregistrement d'une date de retour signé
 
* Fiche Intervenant
  * Le grade devient modifiable dans la fiche pour les anciens intervenants #40369
  * Ajout d'un privilège 'Edition avancée' au niveau de l'intervenant pour donner le droit de modifier manuellement le code intervenant et la source de l'
    intervenant
* Vérification de la présence d'au moins un fichier avant de permettre l'enregistrement d'une date de retour signé
* Un nouveau modèle de contrat sera possible avec la ventilation des heures de services par types d'intervention (CM/TD/TP)
* Des périodes pourront être ajoutés, supprimés ou modifiés depuis l'administration des périodes.
* Les types de formations et les groupes les contenant pourront être ajoutés, supprimés ou modifiés depuis l'administration des types de formations.
* Nouvel état de sortie sur l'export des agréments, rendant celui-ci maintenant paramétrable par les établissements (#42944)
* Module Export Siham : possiblité de récupérer plusieurs typeUO pour alimenter la liste des structures pour la PEC et la REN (#41454)
* Ajout d'un module de gestion des Notes sur l'intervenant : 

* Export des intervenants vers Siham
  * Possiblité de récupérer plusieurs typeUO pour alimenter la liste des structures pour la PEC et la REN (#41454)
  * Nouveau paramètre dans administration > paramètres généraux permettant de choisir l'étape de la feuille de route à franchir pour pouvoir exporter un
    intervenant vers le SIRH

* Ajout d'un module de gestion des Notes sur l'intervenant
  * Possibilité de rajouter une note écrite (informations, message important etc...) sur une fiche intervenant (Tâche #25565)
  * Possibilité d'envoyer un email à intervenant avec historisation de l'email directement depuis la fiche intervenant (Tâche #26546)
  * Historique des emails envoyés à l'intervenant (contrat, indicateur etc...)

* Interfaces d'administration
  * Les types de formations et les groupes les contenant pourront être ajoutés, supprimés ou modifiés depuis l'administration des types de formations.
  * Des périodes pourront être ajoutés, supprimés ou modifiés depuis l'administration des périodes.
  * Des établissements pourront être ajoutés, supprimés ou modifiés depuis l'administration des établissements.
  * Des pays pourront être ajoutés, supprimés ou modifiés depuis l'administration des pays.
  * Des départements pourront être ajoutés, supprimés ou modifiés depuis l'administration des départements.
  * Des corps pourront être ajoutés, supprimés ou modifiés depuis l'administration des corps présent dans le bloc d'administration des nomenclatures RH.
  * Améliorations ergonomiques de la "matrice" des privilèges
  * La page d'administration des statuts a été réécrite pour plus de clarté et de souplesse
    * Il n'est plus nécessaire de paramétrer les privilèges par statut, tout se passe désormais dans l'IHM d'administration des statuts
    * Les paramétrages de statuts sont maintenant annualisés
  
* En bref
  * Nouvel état de sortie sur l'export des agréments, rendant celui-ci maintenant paramétrable par les établissements (#42944)
  * Les paramétrages de pièces justificatives par statut sont maintenant annualisés: il n'y a plus de notion d'année de début/année de fin
  * Les paramétrages des types d'intervention par statut sont également annualisés
  * [Technique] Migration vers Laminas et Composer 2
  * [Technique] Migration vers PHP 8.0


## Corrections de bugs

@@ -56,6 +87,7 @@ Objectif : Plafonds personnalisables & refonte gestion des statuts
* Correction sur un problème de route dans l'écran Engagements & Liquidation (#38763)
* Export CSV des agréments : inversion de colonnes (#41513)
* Correction sur la suppression de service lorsque la clôture de service a été historisé (#42046)
* Le calcul des choix minimum/maximum est de nouveau fiable (#42080)

## Notes de mise à jour

+5 −1
Changes for admin/actions/test.php: 5 added lines, 1 removed line.
Original line number Diff line number Diff line
<?php

require_once dirname(__DIR__) . '/migration/v18Plafonds.php';

$oa->exec('UnicaenTbl build-procedures');
 No newline at end of file
$mm  = new MigrationManager($oa, new \BddAdmin\Ddl\Ddl(), []);
$v18 = new v18Plafonds($mm);

$v18->before();
 No newline at end of file
+3 −2
Changes for admin/actul/actions/synchronisation.php: 3 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -29,8 +29,9 @@ $c->end('Synchronisation terminée');


$c->begin('Mise à jour des caches de données');
$c->print('Vue matérialisée TBL_NOEUD ... ');
$ca->ose->exec('BEGIN UNICAEN_IMPORT.REFRESH_MV(\'TBL_NOEUD\'); END;');
$c->print('Vues matérialisées pour les charges d\'enseignement ... ');
$ca->ose->exec('BEGIN OSE_CHARGENS.MAJ_CACHE; END;');

$c->println('OK');

$oa->run('chargens-calcul-effectifs', true);
+51 −0
Changes for admin/migration/v18Divers.php: 51 added lines, 0 removed lines.
Original line number Diff line number Diff line
<?php





class v18Divers extends AbstractMigration
{
    protected $contexte = self::CONTEXTE_PRE;



    public function description(): string
    {
        return "Migration OSE 17 vers OSE 18";
    }



    public function utile(): bool
    {
        return $this->manager->hasNew('table', 'PLAFOND_PERIMETRE');
    }



    public function action(string $contexte)
    {
        if ($contexte == self::CONTEXTE_PRE) {
            $this->before();
        } else {
            $this->after();
        }
    }



    public function before()
    {
        $bdd = $this->manager->getBdd();
        $c   = $this->manager->getOseAdmin()->getConsole();

        try {
            $bdd->exec("ALTER TABLE TYPE_INTERVENANT DROP CONSTRAINT TYPE_INTERVENANT_CODE_UN");
            $c->msg('Suppression de la contrainte TYPE_INTERVENANT_CODE_UN en prévision de sa recréation');
        } catch (\Exception $e) {
            // rien à faire : la contrainte a déjà du être supprimée
        }
    }

}
 No newline at end of file
+98 −0
Changes for admin/migration/v18Plafonds.php: 98 added lines, 0 removed lines.
Original line number Diff line number Diff line
<?php





class v18Plafonds extends AbstractMigration
{
    protected $contexte = self::CONTEXTE_ALL;



    public function description(): string
    {
        return "Migration des plafonds de OSE 17 vers OSE 18";
    }



    public function utile(): bool
    {
        return $this->manager->hasNew('table', 'PLAFOND_PERIMETRE');
    }



    public function action(string $contexte)
    {
        if ($contexte == self::CONTEXTE_PRE) {
            $this->before();
        } else {
            $this->after();
        }
    }



    public function before()
    {
        $bdd = $this->manager->getBdd();
        $c   = $this->manager->getOseAdmin()->getConsole();

        if (empty($bdd->table()->get('SAVE_V18_STATUT'))) {
            $this->manager->sauvegarderTable('STATUT_INTERVENANT', 'SAVE_V18_STATUT');
            $c->msg('Anciens statuts "STATUT_INTERVENANT" sauvegardés dans "SAVE_V18_STATUT".');
        }

        if (empty($bdd->table()->get('SAVE_V18_STRUCTURE'))) {
            $this->manager->sauvegarderTable('STRUCTURE', 'SAVE_V18_STRUCTURE');
            $c->msg('Anciennes structures "STRUCTURE" sauvegardés dans "SAVE_V18_STRUCTURE".');
        }

        if (empty($bdd->table()->get('SAVE_V18_REFERENTIEL'))) {
            $this->manager->sauvegarderTable('FONCTION_REFERENTIEL', 'SAVE_V18_REFERENTIEL');
            $c->msg('Anciennes fonctions référentielles "FONCTION_REFERENTIEL" sauvegardées dans "SAVE_V18_REFERENTIEL".');
        }

        if (empty($bdd->table()->get('SAVE_V18_PLAFOND_APP'))) {
            $this->manager->sauvegarderTable('PLAFOND_APPLICATION', 'SAVE_V18_PLAFOND_APP');
            $c->msg('Anciens paramétrages des plafonds "PLAFOND_APPLICATION" sauvegardées dans "SAVE_V18_PLAFOND_APP".');
        }

        if (!empty($bdd->table()->get('PLAFOND_APPLICATION'))) {
            $bdd->exec('DROP TABLE PLAFOND_APPLICATION');
            $c->msg('Suppression des anciens paramétrages de plafonds');
        }

        if (empty($bdd->table()->get('SAVE_V18_PLAFOND'))) {
            $this->manager->sauvegarderTable('PLAFOND', 'SAVE_V18_PLAFOND');
            $c->msg('Anciens plafonds "PLAFOND" sauvegardées dans "SAVE_V18_PLAFOND".');
        }

        if (!empty($bdd->table()->get('PLAFOND'))) {
            $bdd->exec('DROP TABLE PLAFOND');
            $c->msg('Suppression des anciens plafonds');
        }
    }



    protected function after()
    {
        
    }



    public function preMigrationIndicateurs()
    {
        $bdd = $this->manager->getBdd();
        $c   = $this->manager->getOseAdmin()->getConsole();

        $c->begin('Préparation à la mise à jour des indicateurs');

        $c->end('Préparation à la migration des indicateurs terminée');
    }

}
 No newline at end of file
Loading