Loading module/Application/src/Application/Form/StatutIntervenant/StatutIntervenantSaisieForm.php +28 −44 Original line number Diff line number Diff line Loading @@ -28,7 +28,6 @@ class StatutIntervenantSaisieForm extends AbstractForm use TypeAgrementStatutServiceAwareTrait; public function init() { $hydrator = new StatutIntervenantHydrator(); Loading Loading @@ -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', Loading @@ -167,10 +165,6 @@ class StatutIntervenantSaisieForm extends AbstractForm } $this->add([ 'name' => 'service-statutaire', 'options' => [ Loading @@ -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', ]); Loading Loading @@ -398,7 +392,6 @@ class StatutIntervenantHydrator implements HydratorInterface use TypeAgrementStatutServiceAwareTrait; /** * Hydrate $object with the provided $data. * Loading Loading @@ -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(); Loading @@ -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); Loading @@ -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 * Loading Loading @@ -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(); } Loading Loading
module/Application/src/Application/Form/StatutIntervenant/StatutIntervenantSaisieForm.php +28 −44 Original line number Diff line number Diff line Loading @@ -28,7 +28,6 @@ class StatutIntervenantSaisieForm extends AbstractForm use TypeAgrementStatutServiceAwareTrait; public function init() { $hydrator = new StatutIntervenantHydrator(); Loading Loading @@ -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', Loading @@ -167,10 +165,6 @@ class StatutIntervenantSaisieForm extends AbstractForm } $this->add([ 'name' => 'service-statutaire', 'options' => [ Loading @@ -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', ]); Loading Loading @@ -398,7 +392,6 @@ class StatutIntervenantHydrator implements HydratorInterface use TypeAgrementStatutServiceAwareTrait; /** * Hydrate $object with the provided $data. * Loading Loading @@ -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(); Loading @@ -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); Loading @@ -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 * Loading Loading @@ -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(); } Loading