diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d0171aa068db565aa2a6cd51a712c70b79e451f..48dd2e3d43d9141beeeb652d7cd7507fc547263d 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ * Intégration (en cours) de la formule de calcul de Poitiers. * Stockage de la date d'envoi par e-mail du contrat * Nouvel indicateur 361 permettant de suivre les retours de contrats envoyés par email +* Piece justificative : forcer la durée de vie à 1 si la case "Uniquement en cas de changement de RIB" est cochée par l'utilisateur pour éviter les mauvais paramétrages des pièces jointes # OSE 14.8 diff --git a/module/Application/src/Application/Form/PieceJointe/ModifierTypePieceJointeStatutForm.php b/module/Application/src/Application/Form/PieceJointe/ModifierTypePieceJointeStatutForm.php index cd2589952a9408526b88fae617f5d385c85b39da..28dcaaa4d36b69945277f0c2c5460d13172e7ce8 100755 --- a/module/Application/src/Application/Form/PieceJointe/ModifierTypePieceJointeStatutForm.php +++ b/module/Application/src/Application/Form/PieceJointe/ModifierTypePieceJointeStatutForm.php @@ -23,7 +23,6 @@ class ModifierTypePieceJointeStatutForm extends AbstractForm use TypePieceJointeStatutServiceAwareTrait; - public function init() { $hydrator = new TypePieceJointeStatutHydrator(); @@ -101,15 +100,17 @@ class ModifierTypePieceJointeStatutForm extends AbstractForm 'label' => "Durée de vie de la pièce jointe (en année)", ], 'attributes' => [ - 'min' => '1', - 'value' => '1', + 'min' => '1', + 'value' => '1', + 'class' => 'form-control', + 'info_icon' => "Si vous avez coché 'Uniquement en cas de changement de RIB', la durée de vie sera automatiquement à 1", ], ]); $this->add([ - 'type' => 'Checkbox', - 'name' => 'obligatoire-hnp', - 'options' => [ + 'type' => 'Checkbox', + 'name' => 'obligatoire-hnp', + 'options' => [ 'label' => "Pièce jointe obligatoire même si les heures sont non payables", ], ]); @@ -195,10 +196,10 @@ class ModifierTypePieceJointeStatutForm extends AbstractForm public function getInputFilterSpecification() { return [ - 'typePieceJointe' => [ + 'typePieceJointe' => [ 'required' => true, ], - 'seuil-hetd' => [ + 'seuil-hetd' => [ 'required' => false, 'validators' => [ [ @@ -213,22 +214,22 @@ class ModifierTypePieceJointeStatutForm extends AbstractForm ], ], ], - 'changement-rib' => [ + 'changement-rib' => [ 'required' => true, ], - 'fc' => [ + 'fc' => [ 'required' => true, ], - 'obligatoire-hnp' => [ + 'obligatoire-hnp' => [ 'required' => true, ], - 'annee-debut' => [ + 'annee-debut' => [ 'required' => false, ], - 'annee-fin' => [ + 'annee-fin' => [ 'required' => false, ], - 'duree-vie' => [ + 'duree-vie' => [ 'required' => true, ], ]; @@ -245,7 +246,6 @@ class TypePieceJointeStatutHydrator implements HydratorInterface use AnneeServiceAwareTrait; - /** * Hydrate $object with the provided $data. * @@ -259,7 +259,7 @@ class TypePieceJointeStatutHydrator implements HydratorInterface //$object->setPremierRecrutement($data['premier-recrutement']); $object->setChangementRIB($data['changement-rib']); $object->setObligatoire($data['typePieceJointe']); - $object->setSeuilHetd((empty($data['seuil-hetd'])?null:$data['seuil-hetd'])); + $object->setSeuilHetd((empty($data['seuil-hetd']) ? null : $data['seuil-hetd'])); if (array_key_exists('annee-debut', $data)) { $object->setAnneeDebut($this->getServiceAnnee()->get($data['annee-debut'])); } @@ -285,17 +285,17 @@ class TypePieceJointeStatutHydrator implements HydratorInterface public function extract($object) { $data = [ - 'id' => $object->getId(), - 'typePieceJointe' => $object->getObligatoire(), + 'id' => $object->getId(), + 'typePieceJointe' => $object->getObligatoire(), //'premier-recrutement' => $object->getPremierRecrutement(), - 'seuil-hetd' => $object->getSeuilHeures(), + 'seuil-hetd' => $object->getSeuilHeures(), //'premier-recrutement' => $object->getPremierRecrutement(), - 'changement-rib' => $object->getChangementRIB(), - 'fc' => $object->getFC(), - 'duree-vie' => $object->getDureeVie(), - 'annee-debut' => $object->getAnneeDebut() ? $object->getAnneeDebut()->getId() : null, - 'annee-fin' => $object->getAnneeFin() ? $object->getAnneeFin()->getId() : null, - 'obligatoire-hnp' => $object->isObligatoireHNP(), + 'changement-rib' => $object->getChangementRIB(), + 'fc' => $object->getFC(), + 'duree-vie' => $object->getDureeVie(), + 'annee-debut' => $object->getAnneeDebut() ? $object->getAnneeDebut()->getId() : null, + 'annee-fin' => $object->getAnneeFin() ? $object->getAnneeFin()->getId() : null, + 'obligatoire-hnp' => $object->isObligatoireHNP(), ]; return $data; diff --git a/module/Application/view/application/piece-jointe/modifier-type-piece-jointe-statut.phtml b/module/Application/view/application/piece-jointe/modifier-type-piece-jointe-statut.phtml index 47ef815511edfba445aac0784d74a7f18e2fdc24..2e2592577a9d1aa851877bd3f4674b41ebd770f7 100755 --- a/module/Application/view/application/piece-jointe/modifier-type-piece-jointe-statut.phtml +++ b/module/Application/view/application/piece-jointe/modifier-type-piece-jointe-statut.phtml @@ -21,44 +21,44 @@ echo $this->messenger()->addCurrentMessagesFromFlashMessenger(); ?> - <div class="row"> - <div class="col-md-12"> - <?= $this->formControlGroup($form->get('typePieceJointe')); ?> - </div> +<div class="row"> + <div class="col-md-12"> + <?= $this->formControlGroup($form->get('typePieceJointe')); ?> </div> - <div class="row"> - <div class="col-md-12"> - <?= $this->formControlGroup($form->get('changement-rib')); ?> - </div> +</div> +<div class="row"> + <div class="col-md-12"> + <?= $this->formControlGroup($form->get('changement-rib')); ?> </div> - <div class="row"> - <div class="col-md-12"> - <?= $this->formControlGroup($form->get('fc')); ?> - </div> +</div> +<div class="row"> + <div class="col-md-12"> + <?= $this->formControlGroup($form->get('fc')); ?> </div> - <div class="row"> - <div class="col-md-12"> - <?= $this->formControlGroup($form->get('obligatoire-hnp')); ?> - </div> +</div> +<div class="row"> + <div class="col-md-12"> + <?= $this->formControlGroup($form->get('obligatoire-hnp')); ?> </div> - <div class="row"> - <div class="col-md-4"> - <?= $this->formControlGroup($form->get('seuil-hetd')); ?> - </div> - <div class=col-md-4> - <?= $this->formControlGroup($form->get('annee-debut')); ?> - </div> - <div class=col-md-4> - <?= $this->formControlGroup($form->get('annee-fin')); ?> - </div> +</div> +<div class="row"> + <div class="col-md-4"> + <?= $this->formControlGroup($form->get('seuil-hetd')); ?> </div> - <div class="row"> - <div class="col-md-4"> - <?= $this->formControlGroup($form->get('duree-vie')); ?> - </div> - + <div class=col-md-4> + <?= $this->formControlGroup($form->get('annee-debut')); ?> + </div> + <div class=col-md-4> + <?= $this->formControlGroup($form->get('annee-fin')); ?> + </div> +</div> +<div class="row"> + <div class="col-md-4"> + <?= $this->formControlGroup($form->get('duree-vie')); ?> </div> +</div> + <?= $this->formSubmit($form->get('submit')); ?> <?php if (($canEdit) && ($form->getObject()->getId())) : ?> @@ -82,4 +82,23 @@ echo $this->messenger()->addCurrentMessagesFromFlashMessenger(); echo $this->formRow($form->get('security')); echo $this->formHidden($form->get('id')); -echo $this->form()->closeTag(); \ No newline at end of file +echo $this->form()->closeTag(); + +?> + +<script type="text/javascript"> + + $(document).ready(function () { + + $("input[name='changement-rib']").change(function () { + var dureeVie = $("input[name='duree-vie']") + if (this.checked) { + dureeVie.val('1'); + dureeVie.attr('disabled', 'disabled'); + } else { + dureeVie.removeAttr('disabled'); + } + }) + }); + +</script> \ No newline at end of file