Commit 60efb6ee authored by joriot221's avatar joriot221
Browse files

Merge remote-tracking branch 'origin/master'

parents 64a66fe2 332a7707
Loading
Loading
Loading
Loading
+2 −0
Changes for CHANGELOG.md: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@ Objectif : Plafonds personnalisables & refonte gestion des statuts
    * Les paramétrages de statuts sont maintenant annualisés
  
* En bref
  * Il est maintenant possible de choisir si on veut être connecté avec le CAS ou avec un compte LDAP ou local au moment du login
  * 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
@@ -88,6 +89,7 @@ Objectif : Plafonds personnalisables & refonte gestion des statuts
* 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)
* Liens inactifs lors du changement d'année universitaire (#40992)

## Notes de mise à jour

+8 −1
Changes for admin/migration/v18Divers.php: 8 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -41,8 +41,15 @@ class v18Divers extends AbstractMigration
        $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');
            $bdd->exec("DELETE FROM AFFECTATION_RECHERCHE WHERE structure_id NOT IN (SELECT ID FROM STRUCTURE)");
        } catch (\Exception $e) {
            // rien à faire : la contrainte a déjà du être supprimée
        }

        try {
            $c->msg('Suppression de la contrainte TYPE_INTERVENANT_CODE_UN en prévision de sa recréation');
            $bdd->exec("ALTER TABLE TYPE_INTERVENANT DROP CONSTRAINT TYPE_INTERVENANT_CODE_UN");
        } catch (\Exception $e) {
            // rien à faire : la contrainte a déjà du être supprimée
        }
+20 −5
Changes for admin/migration/v18Plafonds.php: 20 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@ class v18Plafonds extends AbstractMigration

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


@@ -71,7 +71,7 @@ class v18Plafonds extends AbstractMigration
        }

        if (!empty($bdd->table()->get('PLAFOND'))) {
            $bdd->exec('DROP TABLE PLAFOND');
            $bdd->exec('DROP TABLE PLAFOND CASCADE CONSTRAINTS');
            $c->msg('Suppression des anciens plafonds');
        }
    }
@@ -80,9 +80,24 @@ class v18Plafonds extends AbstractMigration

    protected function after()
    {
        $c = $this->manager->getOseAdmin()->getConsole();
        try {
            $this->migrationParamsStructure();
        } catch (\Exception $e) {
            $c->println($e->getMessage(), $c::COLOR_RED);
        }

        try {
            $this->migrationParamsReferentiel();
        } catch (\Exception $e) {
            $c->println($e->getMessage(), $c::COLOR_RED);
        }

        try {
            $this->migrationParamsStatut();
        } catch (\Exception $e) {
            $c->println($e->getMessage(), $c::COLOR_RED);
        }
    }


@@ -200,7 +215,7 @@ class v18Plafonds extends AbstractMigration
            $c->msg('Ajout du paramètre ' . ($current + 1) . ' sur ' . $count . ' ...', true);
            $bdd->getTable('PLAFOND_STRUCTURE')->insert($insert);
        }
        $c->begin('Fin de la convertion des paramètres de plafonds pour les structures');
        $c->end('Fin de la convertion des paramètres de plafonds pour les structures');
    }


@@ -306,7 +321,7 @@ class v18Plafonds extends AbstractMigration
            $c->msg('Ajout du paramètre ' . ($current + 1) . ' sur ' . $count . ' ...', true);
            $bdd->getTable('PLAFOND_REFERENTIEL')->insert($insert);
        }
        $c->begin('Fin de la convertion des paramètres de plafonds pour les fonctions référentielles');
        $c->end('Fin de la convertion des paramètres de plafonds pour les fonctions référentielles');
    }


@@ -518,6 +533,6 @@ class v18Plafonds extends AbstractMigration
            $c->msg('Ajout du paramètre ' . ($current + 1) . ' sur ' . $count . ' ...', true);
            $bdd->getTable('PLAFOND_STATUT')->insert($insert);
        }
        $c->begin('Fin de la convertion des paramètres de plafonds pour les statuts');
        $c->end('Fin de la convertion des paramètres de plafonds pour les statuts');
    }
}
 No newline at end of file
+5 −2
Changes for admin/migration/v18Statuts.php: 5 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -78,8 +78,11 @@ class v18Statuts extends AbstractMigration

        $ddl = $bdd->table()->get('TBL_WORKFLOW')['TBL_WORKFLOW'];
        if (!isset($ddl['columns']['STATUT_ID'])) {
            $bdd->exec('DROP TABLE TBL_WORKFLOW');
            $c->msg('Vidage temporaire de WF_DEP_BLOQUANTE (dépendances du Workflow)');
            $bdd->exec('DELETE FROM WF_DEP_BLOQUANTE');

            $c->msg('Suppression de la table TBL_WORKFLOW, qui sera recréée au nouveau format');
            $bdd->exec('DROP TABLE TBL_WORKFLOW CASCADE CONSTRAINTS');
        }

        $ddl = $bdd->table()->get('MODELE_CONTRAT')['MODELE_CONTRAT'];
@@ -417,7 +420,7 @@ class v18Statuts extends AbstractMigration
                'CONSEIL_RESTREINT_DUREE_VIE'    => $statut['agrements']['CONSEIL_RESTREINT'] ?? 1, // NUMBER DEFAULT 1 NOT NULL ENABLE,
                'CONSEIL_ACA'                    => isset($statut['agrements']['CONSEIL_ACADEMIQUE']) ? 1 : 0, // NUMBER(1) DEFAULT 1 NOT NULL ENABLE,
                'CONSEIL_ACA_VISUALISATION'      => in_array('agrement-conseil-academique-visualisation', $statut['privileges']) ? 1 : 0, // NUMBER(1) DEFAULT 1 NOT NULL ENABLE,
                'CONSEIL_ACA_DUREE_VIE'          => $statut['agrements']['CONSEIL_RESTREINT'] ?? 5, // NUMBER DEFAULT 5 NOT NULL ENABLE,
                'CONSEIL_ACA_DUREE_VIE'          => $statut['agrements']['CONSEIL_ACADEMIQUE'] ?? 5, // NUMBER DEFAULT 5 NOT NULL ENABLE,
                'CONTRAT'                        => $statut['PEUT_AVOIR_CONTRAT'], // NUMBER(1) DEFAULT 1 NOT NULL ENABLE,
                'CONTRAT_VISUALISATION'          => in_array('contrat-visualisation', $statut['privileges']) ? 1 : 0, // NUMBER(1) DEFAULT 1 NOT NULL ENABLE,
                'CONTRAT_DEPOT'                  => in_array('contrat-depot-retour-signe', $statut['privileges']) ? 1 : 0, // NUMBER(1) DEFAULT 1 NOT NULL ENABLE,
+37 −1
Changes for admin/src/DataGen.php: 37 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -321,7 +321,7 @@ class DataGen
        [
            'table'   => 'STATUT',
            'context' => ['install'],
            'key'     => 'CODE',
            'key'     => ['CODE', 'ANNEE_ID'],
            'options' => ['columns' => ['TYPE_INTERVENANT_ID' => ['transformer' => 'SELECT id FROM type_intervenant WHERE code = %s']]],
        ],
        [
@@ -609,6 +609,42 @@ class DataGen



    public function STATUT()
    {
        $data = $this->donneesDefaut['STATUT'];

        $statuts = [];
        for ($a = 2010; $a <= 2099; $a++) {
            foreach ($data as $d) {
                $d['ANNEE_ID']              = $a;
                $d['HISTO_MODIFICATEUR_ID'] = null;
                $statuts[]                  = $d;
            }
        }

        return $statuts;
    }



    public function TYPE_PIECE_JOINTE_STATUT()
    {
        $data = $this->donneesDefaut['TYPE_PIECE_JOINTE_STATUT'];

        $statuts = [];
        for ($a = 2010; $a <= 2099; $a++) {
            foreach ($data as $d) {
                $d['ANNEE_ID']              = $a;
                $d['HISTO_MODIFICATEUR_ID'] = null;
                $statuts[]                  = $d;
            }
        }

        return $statuts;
    }



    public function PLAFOND()
    {
        $data     = require $this->oseAdmin->getOseDir() . 'data/plafonds.php';
Loading