Commit e73af020 authored by Florian Joriot's avatar Florian Joriot
Browse files

Correction admin des taux

parent 7db71cc2
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@
                        <li class="">
                            <div class="row align-items-start">
                                <div class="col-md-4">
                                    {{ tauxValeur.valeur }}€/h à partir du {{ tauxValeur.dateEffet }}
                                    {{ tauxValeur.valeur }}€/h à partir du <u-date :value="tauxValeur.dateEffet"/>
                                </div>
                                <div class="col">
                                    <a v-if="taux.canEdit"
@@ -67,7 +67,7 @@
                            <li>
                                <div class="row align-items-start">
                                    <div class="col-md-8">
                                        Coéfficient de {{ tauxValeur.valeur }} à partir du {{ tauxValeur.dateEffet }}
                                        Coéfficient de {{ tauxValeur.valeur }} à partir du <u-date :value="tauxValeur.dateEffet"/>
                                    </div>
                                    <div class="col-md-auto">

@@ -101,7 +101,7 @@
                    Valeurs calculées (indexées sur le taux {{ taux.tauxRemu.libelle }}) :
                    <ul>
                        <div v-for="indexResult in taux.tauxRemuValeursIndex">
                            <li>{{ indexResult.valeur }}€/h à partir du {{ indexResult.date }}</li>
                            <li>{{ indexResult.valeur }}€/h à partir du <u-date :value="indexResult.date"/></li>
                        </div>
                    </ul>
                    <br>
+28 −9
Original line number Diff line number Diff line
@@ -42,17 +42,32 @@ class TauxRemuController extends AbstractController

        $tauxListe = $this->getServiceTauxRemu()->getTauxRemusAnnee();

        $liste = [];
        /** @var TauxRemu $taux */
        foreach ($tauxListe as $taux) {
            //Calcul de la liste des taux
            $liste[$taux->getId()] = $this->getServiceTauxRemu()->tauxWs($taux);
            $liste[$taux->getId()]['canEdit'] = $this->isAllowed($taux,Privileges::TAUX_EDITION);
            $liste[$taux->getId()]['canDeleteValeur'] = $this->isAllowed($taux,Privileges::TAUX_SUPPRESSION);
            $liste[$taux->getId()]['canDelete'] = $liste[$taux->getId()]['canDeleteValeur'] && !$taux->hasChildren();
        }

        $properties = ['code',
                       'libelle',
                       'tauxRemu',
                       ['tauxRemuValeurs', ['dateEffet', 'valeur']],
                       'tauxRemuValeursIndex',
        ];

        $triggers = [
            // '/' signifie que nous agirons sur les données de premier niveau, qui sont ici des Personne. Le trigger agira pour chaque personne
            '/' => function ($original, $extracted) {
                // $original contiendra l'objet correspondant à l'entité Personne
                // $extracted contiendra le tableau de données déjà extrait
                $extracted['canEdit']         = $this->isAllowed($original, Privileges::TAUX_EDITION); // On ajoute ici une propriété en extraction qui n'a pas été générée avant.
                $extracted['canDeleteValeur'] = $this->isAllowed($original, Privileges::TAUX_SUPPRESSION);
                $extracted['canDelete']       = $extracted['canDeleteValeur'] && !$original->hasChildren();

                // Nous pourrions tout aussi bien retirer une donnée, ou bien en changer le type ou la valeur.

                return $extracted;
            },
        ];


        $liste = \UnicaenVue\Axios\AxiosExtractor::extract($tauxListe, $properties, $triggers);

        return new AxiosModel($liste);
    }

@@ -134,6 +149,8 @@ class TauxRemuController extends AbstractController
        return new AxiosModel([]);
    }



    /**
     * Retourne les données pour un taux
     *
@@ -146,6 +163,8 @@ class TauxRemuController extends AbstractController
        return new AxiosModel($tauxRemu);
    }



    public function supprimerValeurAction(): MessengerViewModel
    {
        $tauxRemuValeurId = $this->params()->fromRoute('tauxRemuValeur');
+2 −23
Original line number Diff line number Diff line
@@ -106,28 +106,6 @@ class TauxRemuService extends AbstractEntityService



    /**
     * Retourne un JSON du tauxRemu
     *
     * @param TauxRemu $tauxRemu
     *
     * @return array|null
     */
    public function tauxWs(TauxRemu $tauxRemu): ?array
    {
        $json = Axios::extract($tauxRemu, [
            'code',
            'libelle',
            'tauxRemu',
            ['tauxRemuValeurs', ['dateEffet', 'valeur']],
            'tauxRemuValeursIndex',
        ]);

        return $json;
    }



    /**
     * Renvoie tous les tauxRemu non historisé et les valeurs concernant l'année en cours
     *
@@ -164,6 +142,7 @@ class TauxRemuService extends AbstractEntityService

    /**
     * Retourne les taux Remu qui possèdent une valeurs sur l'année
     *
     * @return array|null
     */
    public function getTauxRemusAnneeWithValeur(): ?array