Loading front/Mission/Mission.vue +1 −1 Original line number Diff line number Diff line Loading @@ -227,7 +227,7 @@ export default { } else if (this.mission.heuresValidees == 0) { return Util.formattedHeures(this.mission.heures) + ' heures (non validées)'; } else { return Util.formattedHeures(this.mission.heures) + ' heures (' + Util.formattedHeures(this.mission.heuresValidees) + ' validées)'; return '<span class="bg-info">'+Util.formattedHeures(this.mission.heures) + '</span> heures (' + Util.formattedHeures(this.mission.heuresValidees) + ' validées)'; } } }, Loading module/Mission/src/Controller/SaisieController.php +4 −0 Original line number Diff line number Diff line Loading @@ -145,6 +145,10 @@ class SaisieController extends AbstractController $form = $this->getFormMission(); if ($mission->isValide()){ $form->editValide(); } if ($this->getServiceContext()->getStructure()) { $form->remove('structure'); } Loading module/Mission/src/Entity/Db/Mission.php +1 −1 Original line number Diff line number Diff line Loading @@ -486,7 +486,7 @@ class Mission implements HistoriqueAwareInterface, ResourceInterface, EntityMana public function canSaisie(): bool { return !$this->isValide(); return true; } Loading module/Mission/src/Form/MissionForm.php +27 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ use UnicaenApp\Util; */ class MissionForm extends AbstractForm { protected bool $valide = false; use ContextServiceAwareTrait; public function init() Loading Loading @@ -72,4 +74,29 @@ class MissionForm extends AbstractForm $this->addSubmit(); } public function editValide(): self { $this->valide = true; $elements = $this->getElements(); unset($elements['heures']); unset($elements['dateFin']); // On met en lecture seule tout le formulaire, sauf le nombre d'heures & la date de fin // ces deux données uniquement sont modifiables après validation $elements = array_keys($elements); $this->readOnly(true, $elements); return $this; } public function isValide(): bool { return $this->valide; } } No newline at end of file module/Mission/view/mission/saisie/saisie.phtml +3 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,9 @@ */ echo $this->messenger()->addCurrentMessagesFromFlashMessengerWithNamespace('error'); if ($form->isValide()){ echo $this->messenger()->renderMessage("Cette mission est déjà validée. Il n'est possible de ne modifier que son nombre d'heures et sa date de fin.", 'info'); } echo $this->tag('h1', ['class' => 'page-header'])->html($title); echo $this->form()->openTag($form); Loading Loading
front/Mission/Mission.vue +1 −1 Original line number Diff line number Diff line Loading @@ -227,7 +227,7 @@ export default { } else if (this.mission.heuresValidees == 0) { return Util.formattedHeures(this.mission.heures) + ' heures (non validées)'; } else { return Util.formattedHeures(this.mission.heures) + ' heures (' + Util.formattedHeures(this.mission.heuresValidees) + ' validées)'; return '<span class="bg-info">'+Util.formattedHeures(this.mission.heures) + '</span> heures (' + Util.formattedHeures(this.mission.heuresValidees) + ' validées)'; } } }, Loading
module/Mission/src/Controller/SaisieController.php +4 −0 Original line number Diff line number Diff line Loading @@ -145,6 +145,10 @@ class SaisieController extends AbstractController $form = $this->getFormMission(); if ($mission->isValide()){ $form->editValide(); } if ($this->getServiceContext()->getStructure()) { $form->remove('structure'); } Loading
module/Mission/src/Entity/Db/Mission.php +1 −1 Original line number Diff line number Diff line Loading @@ -486,7 +486,7 @@ class Mission implements HistoriqueAwareInterface, ResourceInterface, EntityMana public function canSaisie(): bool { return !$this->isValide(); return true; } Loading
module/Mission/src/Form/MissionForm.php +27 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ use UnicaenApp\Util; */ class MissionForm extends AbstractForm { protected bool $valide = false; use ContextServiceAwareTrait; public function init() Loading Loading @@ -72,4 +74,29 @@ class MissionForm extends AbstractForm $this->addSubmit(); } public function editValide(): self { $this->valide = true; $elements = $this->getElements(); unset($elements['heures']); unset($elements['dateFin']); // On met en lecture seule tout le formulaire, sauf le nombre d'heures & la date de fin // ces deux données uniquement sont modifiables après validation $elements = array_keys($elements); $this->readOnly(true, $elements); return $this; } public function isValide(): bool { return $this->valide; } } No newline at end of file
module/Mission/view/mission/saisie/saisie.phtml +3 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,9 @@ */ echo $this->messenger()->addCurrentMessagesFromFlashMessengerWithNamespace('error'); if ($form->isValide()){ echo $this->messenger()->renderMessage("Cette mission est déjà validée. Il n'est possible de ne modifier que son nombre d'heures et sa date de fin.", 'info'); } echo $this->tag('h1', ['class' => 'page-header'])->html($title); echo $this->form()->openTag($form); Loading