Commit 43b738d1 authored by Antony Le Courtes's avatar Antony Le Courtes
Browse files

Merge branch 'master' into alc-scindage-donnees-pj

# Conflicts:
#	composer.json
#	composer.lock
#	front/Paiement/DemandeMiseEnPaiementStructure.vue
#	public/dist/.vite/manifest.json
#	public/dist/assets/main-R43sWXLa.js
parents 47893c30 88dbd478
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -31,6 +31,14 @@ OSE 24.6](#ose-246-17062025)
Passage à PHP 8.4 : Une fois passé en version 25, Vous devrez monter en version 8.4 de PHP.


# OSE 24.7 (à venir)

## Corrections

* Lors de l'ajout d'une première heure d'enseignement depuis l'application, les formules se recalculent de nouveau correctement 




# OSE 24.6 (17/06/2025)

+105 −103
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@
        "php"                              : ">=8.2",
        "laminas/laminas-cli"              : "1.11.0",
        "symfony/process"                  : "7.2.0",

        "twbs/bootstrap"                   : "5.0.2",
        "components/jquery"                : "3.7.1",
        "components/font-awesome"          : "6.5.2",
@@ -19,6 +20,7 @@
        "snapappointments/bootstrap-select": "1.14.0-beta3",
        "datatables.net/datatables.net-bs5": "2.1.8",
        "vakata/jstree"                    : "3.3.17",

        "unicaen/app"                      : "7.1.0",
        "unicaen/authentification"         : "6.4.3",
        "unicaen/privilege"                : "6.2.1",
@@ -29,8 +31,8 @@
        "unicaen/open-document"            : "6.0.10",
        "unicaen/siham"                    : "6.2.0",
        "unicaen/mail"                     : "7.1.2",
    "unicaen/vue": "6.4.0",
    "unicaen/bddadmin": "1.4.0",
        "unicaen/vue"                      : "6.3.3",
        "unicaen/bddadmin"                 : "1.4.3",
        "unicaen/signature"                : "1.0.6",
        "connecteur-ose/actul"             : "dev-master",
        "connecteur-ose/pegase"            : "dev-master"
@@ -67,8 +69,7 @@
        "phan/phan"                         : "^5.3",
        "phpmd/phpmd"                       : "*",
        "phpunit/phpunit"                   : "^9",
    "friendsofphp/php-cs-fixer": "^3.74",
    "phpstan/phpstan": "^2.1"
        "friendsofphp/php-cs-fixer": "^3.74"
    },
    "prefer-stable"    : true,
    "config"           : {
@@ -85,6 +86,7 @@
        "update-public-vendor": [
            "rm -rf public/vendor",
            "mkdir public/vendor",

            "cp -R vendor/twbs/bootstrap/dist public/vendor/bootstrap",
            "cp -R vendor/components/jquery public/vendor/jquery",
            "cp -R vendor/components/font-awesome public/vendor/font-awesome",
+7 −65
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": "ce095331933f59805c22f08fd9774d50",
    "content-hash": "6d6e46d8213e28b4b77e2544df9cb296",
    "packages": [
        {
            "name": "apereo/phpcas",
@@ -7543,11 +7543,11 @@
        },
        {
            "name": "unicaen/bddadmin",
            "version": "1.4.0",
            "version": "1.4.3",
            "source": {
                "type": "git",
                "url": "https://git.unicaen.fr/lib/unicaen/bddadmin.git",
                "reference": "ba2b0d4083883ab15c1c77d7d1850fd9927c2b61"
                "reference": "4903b11485679f5a7f2fada287efb1c5762879cf"
            },
            "require": {
                "php": ">=8.2"
@@ -7560,7 +7560,7 @@
                }
            },
            "description": "Module pour administrer des bases de données Postgresql et Oracle",
            "time": "2025-04-16T07:36:50+00:00"
            "time": "2025-06-24T08:15:08+00:00"
        },
        {
            "name": "unicaen/bjy-authorize",
@@ -7872,11 +7872,11 @@
        },
        {
            "name": "unicaen/vue",
            "version": "6.4.0",
            "version": "6.3.3",
            "source": {
                "type": "git",
                "url": "https://git.unicaen.fr/lib/unicaen/vue.git",
                "reference": "832b621f890b0bb9e5155ba6732fc607f49b8d77"
                "reference": "0a6a964de9049cc4b8032088bdf03809f90dc358"
            },
            "type": "library",
            "autoload": {
@@ -7888,7 +7888,7 @@
                ]
            },
            "description": "Module pour utiliser Vue.js",
            "time": "2025-06-24T09:43:56+00:00"
            "time": "2025-03-31T13:26:31+00:00"
        },
        {
            "name": "unicaen/zfc-user",
@@ -9396,64 +9396,6 @@
            },
            "time": "2025-02-19T13:28:12+00:00"
        },
        {
            "name": "phpstan/phpstan",
            "version": "2.1.17",
            "source": {
                "type": "git",
                "url": "https://github.com/phpstan/phpstan.git",
                "reference": "89b5ef665716fa2a52ecd2633f21007a6a349053"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/phpstan/phpstan/zipball/89b5ef665716fa2a52ecd2633f21007a6a349053",
                "reference": "89b5ef665716fa2a52ecd2633f21007a6a349053",
                "shasum": ""
            },
            "require": {
                "php": "^7.4|^8.0"
            },
            "conflict": {
                "phpstan/phpstan-shim": "*"
            },
            "bin": [
                "phpstan",
                "phpstan.phar"
            ],
            "type": "library",
            "autoload": {
                "files": [
                    "bootstrap.php"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "description": "PHPStan - PHP Static Analysis Tool",
            "keywords": [
                "dev",
                "static analysis"
            ],
            "support": {
                "docs": "https://phpstan.org/user-guide/getting-started",
                "forum": "https://github.com/phpstan/phpstan/discussions",
                "issues": "https://github.com/phpstan/phpstan/issues",
                "security": "https://github.com/phpstan/phpstan/security/policy",
                "source": "https://github.com/phpstan/phpstan-src"
            },
            "funding": [
                {
                    "url": "https://github.com/ondrejmirtes",
                    "type": "github"
                },
                {
                    "url": "https://github.com/phpstan",
                    "type": "github"
                }
            ],
            "time": "2025-05-21T20:55:28+00:00"
        },
        {
            "name": "phpunit/php-code-coverage",
            "version": "9.2.32",
+19 −6
Original line number Diff line number Diff line
@@ -82,9 +82,7 @@
                                                    <table class="table table-sm ">
                                                        <thead>
                                                        <th scope="col" style="width:20%;font-size:12px;">Heures</th>
                                                        <th scope="col" style="width:40%;font-size:12px;">Centre de
                                                            coûts
                                                        </th>
                                                        <th scope="col" style="width:40%;font-size:12px;">Centre de coûts</th>
                                                        <th scope="col" style="width:25%;font-size:12px;">État</th>
                                                        <th style="width:15%;font-size:12px;"></th>
                                                        </thead>
@@ -214,7 +212,8 @@
                <div v-for="(fonction, codeFonction) in datas.fonctionsReferentiels">
                    <div class="cartridge gray bordered" style="padding-bottom: 5px">
                        <span>Référentiel</span>
                        <span>{{ codeFonction + ' - ' + fonction.libelle }}</span>
                        <span>{{ fonction.libelle }}</span>
                        <span>{{ this.substr(fonction.commentaires, 40) }}</span>
                    </div>
                    <div class="container">
                        <div class="row">
@@ -675,8 +674,7 @@ export default {
            //Si le nombre d'heure demandées est supérieur au nombre d'heures maximum pour cette ligne
            if (heureADemander > 0 && heureADemander > heureADemanderMax) {
                unicaenVue.flashMessenger.toast("Demande de mise en paiement impossible, vous demandez " + heureADemander + " hetd(s) alors que vous pouvez demander maximum " + heureADemanderMax + " hetd(s)", 'error', options);
                this.$emit('refresh-btn-state');
                ;
                this.$emit('refresh-btn-state');;
                return false;
            }

@@ -812,6 +810,21 @@ export default {
                return chaine;
            }
        },
        substr(chaine, length = 20)
        {
            if (chaine === null) {
                return chaine;
            }

            if (chaine.length > length) {

                var substrChaine = chaine.substring(0, length) + "...";

                return substrChaine;
            } else {
                return chaine;
            }
        },
        btnState(id, state)
        {
            let btn = document.getElementById(id);
+78 −77
Original line number Diff line number Diff line
@@ -176,12 +176,9 @@ class DemandesService extends AbstractService
            $parametreCentreCout = 'enseignement';
        }

        if ($intervenantStructure instanceof Structure && $structure instanceof Structure)
        {
            if($parametreCentreCout == 'affectation')
            {   //Cas ou c'est la composante d'affectation qui fait les demandes de mises en paiement
                if ($intervenantStructure->getId() == $structure->getId())
                {
        if ($intervenantStructure instanceof Structure && $structure instanceof Structure) {
            if ($parametreCentreCout == 'affectation') {   //Cas ou c'est la composante d'affectation qui fait les demandes de mises en paiement
                if ($intervenantStructure->getId() == $structure->getId()) {
                    /*Si j'ai un role avec un périmètre composante et que ma structure d'affectation est la même que
                    celle de l'intervenant j'accède à toutes les demandes de mise en paiement peu importe la structure
                    de l'enseignement réalisé de l'intervenant on ne filtre pas les dmep*/
@@ -220,6 +217,7 @@ class DemandesService extends AbstractService
            MAX(fr.id)      				    fonction_id,
            fr.code    						    fonction_code,
            MAX(fr.libelle_long)  			    fonction_libelle,
            MAX(sr.commentaires)                fonction_commentaires,
            MAX(th.id) 				  		    type_heure_id,	 
            CASE WHEN th.code = 'primes' 
                THEN 'primes' 
@@ -282,6 +280,7 @@ class DemandesService extends AbstractService
            e.code,
            ep.code,
            fr.code,
            tp.service_referentiel_id,
            th.code,
            tp.mise_en_paiement_id  
        ORDER BY 
@@ -461,16 +460,18 @@ class DemandesService extends AbstractService
                $ensCode++;
            } elseif ($value['TYPAGE'] == "referentiel") {
                //Partie référentiel
                $keyFonctionReferentiel                                                                           = $value['FONCTION_CODE'] . $value['SERVICE_REFERENTIEL_ID'];
                $dmep[$value['STRUCTURE_CODE']]['code']                                                      = $value['STRUCTURE_CODE'];
                $dmep[$value['STRUCTURE_CODE']]['id']                                                        = $value['STRUCTURE_ID'];
                $dmep[$value['STRUCTURE_CODE']]['libelle']                                                   = $value['STRUCTURE_LIBELLE'];
                $dmep[$value['STRUCTURE_CODE']]['libelleCourt']                                              = $value['STRUCTURE_LIBELLE_COURT'];
                $dmep[$value['STRUCTURE_CODE']]['fonctionsReferentiels'][$value['FONCTION_CODE']]['libelle'] = $value['FONCTION_LIBELLE'];
                if (!array_key_exists('heures', $dmep[$value['STRUCTURE_CODE']]['fonctionsReferentiels'][$value['FONCTION_CODE']])) {
                    $dmep[$value['STRUCTURE_CODE']]['fonctionsReferentiels'][$value['FONCTION_CODE']]['heures'] = [];
                $dmep[$value['STRUCTURE_CODE']]['fonctionsReferentiels'][$keyFonctionReferentiel]['libelle']      = $value['FONCTION_LIBELLE'];
                $dmep[$value['STRUCTURE_CODE']]['fonctionsReferentiels'][$keyFonctionReferentiel]['commentaires'] = $value['FONCTION_COMMENTAIRES'];
                if (!array_key_exists('heures', $dmep[$value['STRUCTURE_CODE']]['fonctionsReferentiels'][$keyFonctionReferentiel])) {
                    $dmep[$value['STRUCTURE_CODE']]['fonctionsReferentiels'][$keyFonctionReferentiel]['heures'] = [];
                }
                if (!empty($value['MEP_ID'])) {
                    $dmep[$value['STRUCTURE_CODE']]['fonctionsReferentiels'][$value['FONCTION_CODE']]['heures']['mep_id_' . $value['MEP_ID']] = [
                    $dmep[$value['STRUCTURE_CODE']]['fonctionsReferentiels'][$keyFonctionReferentiel]['heures']['mep_id_' . $value['MEP_ID']] = [
                        'mepId'                => $value['MEP_ID'],
                        'typeHeureId'          => $value['TYPE_HEURE_ID'],
                        'typeHeureCode'        => $value['TYPE_HEURE_CODE'],
@@ -498,7 +499,7 @@ class DemandesService extends AbstractService
                        ],
                    ];
                } else {
                    $dmep[$value['STRUCTURE_CODE']]['fonctionsReferentiels'][$value['FONCTION_CODE']]['heures']['a_demander'] = [
                    $dmep[$value['STRUCTURE_CODE']]['fonctionsReferentiels'][$keyFonctionReferentiel]['heures']['a_demander'] = [
                        'mepId'                => '',
                        'typeHeureId'          => $value['TYPE_HEURE_ID'],
                        'typeHeureCode'        => $value['TYPE_HEURE_CODE'],
Loading