Commit b4e627e9 authored by joriot221's avatar joriot221
Browse files

Merge branch 'master' into VFJ_18_RefusPiece

parents ae2d9ca2 5d491445
Loading
Loading
Loading
Loading
+2 −0
Changes for CHANGELOG.md: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -98,6 +98,8 @@ Objectif : Plafonds personnalisables & refonte gestion des statuts
* La mise à jour des vues matérialisées MV_EXT_* ne se fait plus à la mise à jour. Il faut maintenant lancer la commande `./bin/ose maj-exports` tous les jours et donc ajouter une ligne à votre _CronTab_ (cf. [Doc INSTALL mise à jour](install.md))
* Pour bénéficier de la ventilation des heures par types d'intervention vous pouvez vous inspirer du [modèle de contrat de Caen](https://git.unicaen.fr/open-source/OSE/-/blob/master/data/modele_contrat_ventile.odt) pour adapter votre propre modèle de contrat.
* Au niveau du fichier de configuration [config.local.php](config.local.php.default), vous pouvez remplir le paramètre (facultatif) ldap>systemeInformationUrl.
* Pour les instances qui utilisent le module Export Siham, vous devez renseigner un nouveau paramètre dans Administration > paramètres généraux > Gestion export RH, il vous faut sélectionner l'étape de la feuille de route franchie à partir de laquelle l'intervenant peut être exporté dans SIHAM.



# OSE 17.3 (17/03/2022)
+12 −0
Changes for admin/actions/update-composer.phtml: 12 added lines, 0 removed lines.
Original line number Diff line number Diff line
<?php

$osedir = $oa->getOseDir();

// Récupération des dépendances
$c->println("\nMise à jour des dépendances à l'aide de Composer", $c::COLOR_LIGHT_CYAN);
$c->passthru([
    "export COMPOSER_ALLOW_SUPERUSER=1",
    "cd $osedir",
    "php composer.phar self-update --2",
    "php composer.phar install --optimize-autoloader",
]);
+3 −13
Changes for admin/actions/update.php: 3 added lines, 13 removed lines.
Original line number Diff line number Diff line
@@ -49,25 +49,15 @@ $c->passthru([
    $updcmd,
]);


// Récupération des dépendances
$c->println("\nMise à jour des dépendances à l'aide de Composer", $c::COLOR_LIGHT_CYAN);
$c->passthru([
    "cd $osedir",
    "php composer.phar self-update --2",
    "php composer.phar install --optimize-autoloader",
]);


// Conclusion
$oa->writeVersion($version);
$c->println("\nMise à jour des fichiers OK : la version installée est désormais la " . $version, $c::COLOR_LIGHT_GREEN);
$c->println("\nMise à jour du code source OK : la version installée est désormais la " . $version, $c::COLOR_LIGHT_GREEN);

// Mise à jour des dépendances du projet
$oa->run('update-composer', true);

// Mise à jour de la base de données à partir d'un nouveau processus
$oa->run('update-bdd', true);


//Conclusion
$c->println("\nFin de la mise à jour.");
if ($c->getOption('maintenance') != 'no') {
+93 −0
Changes for admin/migration/OrdonnancementColonnesTbl.php: 93 added lines, 0 removed lines.
Original line number Diff line number Diff line
<?php





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

    protected $tbls     = [];



    public function description(): string
    {
        return "Suppression de tableaux de bord dont l'ordonnancement des colonnes a changé";
    }



    public function utile(): bool
    {
        if (count($this->tbls) > 0) return true;

        $bdd = $this->manager->getBdd();

        $sql = "SELECT 
              tbl.table_name,
              tc.column_name,
              tc.column_id position  
            FROM 
              tbl
              JOIN user_tab_columns tc ON tc.table_name = tbl.table_name
            WHERE 
              tbl.table_name IS NOT NULL AND tbl.view_name IS NOT NULL";

        $tblcs      = $bdd->select($sql);
        $this->tbls = [];
        $tables     = $this->manager->getRef()->get('table');
        foreach ($tblcs as $tc) {
            $table = $tc['TABLE_NAME'];
            $col   = $tc['COLUMN_NAME'];
            $pos   = (int)$tc['POSITION'];
            if (isset($tables[$table]['columns'][$col])) {
                if ($pos != $tables[$table]['columns'][$col]['position']) {
                    $this->tbls[$table] = true; // Position différente => la table sera recréée
                }
            } else {
                $this->tbls[$table] = true; // Nouvelle colonne => la table sera recréée
            }
        }

        return count($this->tbls) > 0;
    }



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



    protected function before()
    {
        $bdd     = $this->manager->getBdd();
        $console = $this->manager->getOseAdmin()->getConsole();
        $console->println('');
        foreach ($this->tbls as $table => $null) {
            $console->println("Suppression de la table $table");
            $bdd->table()->drop($table);
        }
    }



    protected function after()
    {
        $console = $this->manager->getOseAdmin()->getConsole();

        $console->begin("Recalcul de tous les tableaux de bord");
        $this->manager->getOseAdmin()->exec('calcul-tableaux-bord');
        $console->end("Tableaux de bord recalculés");
    }

}
+5 −1
Changes for composer.json: 5 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -37,5 +37,9 @@
        "sniffer:php8": "./vendor/bin/phpcs -p ./module --standard=vendor/phpcompatibility/php-compatibility/PHPCompatibility --runtime-set testVersion 8.0",
        "phpcs"       : "./vendor/bin/phpcs -p ./module --standard=PSR12"
    },
    "minimum-stability": "dev"
    "minimum-stability": "dev",
    "allow-plugins": {
        "dealerdirect/phpcodesniffer-composer-installer": true,
        "laminas-api-tools/api-tools-asset-manager": true
    }
}
Loading