Commit 2b80d950 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Modif de la description du plafond des HETD

parent d0e26986
Loading
Loading
Loading
Loading
+28 −44
Original line number Diff line number Diff line
@@ -28,7 +28,6 @@ class StatutIntervenantSaisieForm extends AbstractForm
    use TypeAgrementStatutServiceAwareTrait;



    public function init()
    {
        $hydrator = new StatutIntervenantHydrator();
@@ -135,31 +134,30 @@ class StatutIntervenantSaisieForm extends AbstractForm
        $qb            = $this->getServiceTypeAgrement()->finderByHistorique();
        $typesAgrement = $this->getServiceTypeAgrement()->getList($qb);

        foreach($typesAgrement as $type)
        {
        foreach ($typesAgrement as $type) {
            $this->add([
                'name'       => $type->getCode(),
                'options'    => [
                    'label'         => $type->getLibelle(),
                    'value_options' => [
                        0 => 'Non',
                        1 => 'Oui'
                    ]
                        1 => 'Oui',
                    ],
                ],
                'attributes' => [
                    'value' => 0,
                ],
                'type'    => 'Zend\Form\Element\Radio'
                'type'       => 'Zend\Form\Element\Radio',
            ]);

            $this->add([
                'name'       => $type->getCode() . '-DUREE_VIE',
                'options'    => [
                    'suffix' => 'an(s)'
                    'suffix' => 'an(s)',
                ],
                'attributes' => [
                    'title' => "Nombre d'annnée de validité de l'agrément",
                    'value' => '1'
                    'value' => '1',
                ],
                'type'       => 'Text',

@@ -167,10 +165,6 @@ class StatutIntervenantSaisieForm extends AbstractForm
        }






        $this->add([
            'name'       => 'service-statutaire',
            'options'    => [
@@ -190,7 +184,7 @@ class StatutIntervenantSaisieForm extends AbstractForm
                'suffix' => 'HETD',
            ],
            'attributes' => [
                'title' => "Nombre maximal d'heures de service (en équivalent TD) autorisées pour l'intervenant",
                'title' => "Nombre maximal d'heures (en équivalent TD) autorisées pour l'intervenant, service et complémentaire",
            ],
            'type'       => 'Text',
        ]);
@@ -398,7 +392,6 @@ class StatutIntervenantHydrator implements HydratorInterface
    use TypeAgrementStatutServiceAwareTrait;



    /**
     * Hydrate $object with the provided $data.
     *
@@ -435,8 +428,7 @@ class StatutIntervenantHydrator implements HydratorInterface
        $object->setDepassementSDSHC($data['depassement-sdshc']);
        $object->setChargesPatronales(FloatFromString::run($data['charges-patronales']) / 100);
        //Uniquement si le statut intervenant existe déjà en base.
        if(!empty($data['id']))
        {
        if (!empty($data['id'])) {
            //Gestion de la durée de vie des agréments par statut d'intervenant
            //On récupére les types d'agrement
            $qb             = $this->getServiceTypeAgrement()->finderByHistorique();
@@ -446,28 +438,22 @@ class StatutIntervenantHydrator implements HydratorInterface
            $this->getServiceTypeAgrementStatut()->finderByHistorique($qb);
            $typesAgrementsStatuts      = $this->getServiceTypeAgrementStatut()->getList($qb);
            $typesAgrementsStatusByCode = [];
            foreach($typesAgrementsStatuts as $tas)
            {
            foreach ($typesAgrementsStatuts as $tas) {
                $typesAgrementsStatusByCode[$tas->getType()->getCode()] = $tas;
            }
            //On boucle pour faire ensuite de l'insert, update ou delete
            foreach($typesAgrements as $ta)
            {
                if(array_key_exists($ta->getCode(), $data))
                {
                    if(!$data[$ta->getCode()] && array_key_exists($ta->getCode(), $typesAgrementsStatusByCode))
                    {
            foreach ($typesAgrements as $ta) {
                if (array_key_exists($ta->getCode(), $data)) {
                    if (!$data[$ta->getCode()] && array_key_exists($ta->getCode(), $typesAgrementsStatusByCode)) {
                        $tasToDelete = $typesAgrementsStatusByCode[$ta->getCode()];
                        $object->removeTypeAgrementStatut($tasToDelete);
                        $this->getServiceTypeAgrementStatut()->delete($tasToDelete);
                    }
                    elseif($data[$ta->getCode()] && array_key_exists($ta->getCode(), $typesAgrementsStatusByCode)){
                    } elseif ($data[$ta->getCode()] && array_key_exists($ta->getCode(), $typesAgrementsStatusByCode)) {
                        $tasToUpdate = $typesAgrementsStatusByCode[$ta->getCode()];
                        $dureeVie    = $data[$ta->getCode() . '-DUREE_VIE'];
                        $tasToUpdate->setDureeVie($dureeVie);
                        $this->getServiceTypeAgrementStatut()->save($tasToUpdate);
                    }
                    elseif($data[$ta->getCode()] && !array_key_exists($ta->getCode(), $typesAgrementsStatusByCode)){
                    } elseif ($data[$ta->getCode()] && !array_key_exists($ta->getCode(), $typesAgrementsStatusByCode)) {
                        $dureeVie    = $data[$ta->getCode() . '-DUREE_VIE'];
                        $tasToCreate = new TypeAgrementStatut();
                        $tasToCreate->setDureeVie($dureeVie);
@@ -476,17 +462,17 @@ class StatutIntervenantHydrator implements HydratorInterface
                        $tasToCreate->setStatut($object);
                        $this->getServiceTypeAgrementStatut()->save($tasToCreate);
                        $object->addTypeAgrementStatut($tasToCreate);

                    }
                }
            }
        }



        return $object;
    }



    /**
     * Extract values from an object
     *
@@ -525,10 +511,8 @@ class StatutIntervenantHydrator implements HydratorInterface
        ];

        $typesAgrementsStatuts = $object->getTypeAgrementStatut();
        foreach($typesAgrementsStatuts  as $tas)
        {
            if(!$tas->getHistoDestruction())
            {
        foreach ($typesAgrementsStatuts as $tas) {
            if (!$tas->getHistoDestruction()) {
                $data[$tas->getType()->getCode()]                = 1;
                $data[$tas->getType()->getCode() . '-DUREE_VIE'] = $tas->getDureeVie();
            }