Commit e7acdf6d authored by Antony Le Courtes's avatar Antony Le Courtes
Browse files

Forcer le blocage de saisie des dates de début et de fin d'une mission aux...

Forcer le blocage de saisie des dates de début et de fin d'une mission aux bornes de l'année universitaire du contexte en cours.
parent 15b5a959
Loading
Loading
Loading
Loading
+49 −1
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ namespace Mission\Form;

use Application\Form\AbstractForm;
use Application\Service\Traits\ContextServiceAwareTrait;
use Laminas\Validator\Between;
use Lieu\Entity\Db\Structure;
use Mission\Entity\Db\Mission;
use Mission\Entity\Db\TypeMission;
@@ -60,6 +61,7 @@ class MissionForm extends AbstractForm
        $this->setValueOptions('tauxRemuMajore', $trDql);
        $this->get('tauxRemuMajore')->setEmptyOption('- Aucune majoration -');


        $this->setLabels([
            'structure'       => 'Composante en charge du suivi de mission',
            'typeMission'     => 'Type de mission',
@@ -79,6 +81,52 @@ class MissionForm extends AbstractForm



    public function getInputFilterSpecification()
    {
        $annee     = $this->getServiceContext()->getAnnee();
        $dateDebut = $annee->getDateDebut()->format('Y-m-d');
        $dateFin   = $annee->getDateFin()->format('Y-m-d');

        return [
            'dateDebut'      => [
                'validators' => [
                    [
                        'name'    => Between::class,
                        'options' => [
                            'min'       => $annee->getDateDebut()->format('Y-m-d'),
                            'max'       => $annee->getDateFin()->format('Y-m-d'),
                            'inclusive' => true,
                            'messages'  => [
                                Between::NOT_BETWEEN => 'La date de début de la mission doit être comprise entre ' . $annee->getDateDebut()->format('d/m/Y') . ' et le ' . $annee->getDateFin()->format('d/m/Y') . ' (Année universitaire)',
                            ],
                        ],
                    ],
                ],
            ],
            'dateFin'        => [
                'validators' => [
                    [
                        'name'    => Between::class,
                        'options' => [
                            'min'       => $annee->getDateDebut()->format('Y-m-d'),
                            'max'       => $annee->getDateFin()->format('Y-m-d'),
                            'inclusive' => true,
                            'messages'  => [
                                Between::NOT_BETWEEN => 'La date de début de la mission doit être comprise entre ' . $annee->getDateDebut()->format('d/m/Y') . ' et le ' . $annee->getDateFin()->format('d/m/Y') . ' (Année universitaire)',
                            ],
                        ],
                    ],
                ],
            ],
            'tauxRemuMajore' => [
                'required' => false,
            ],

        ];
    }



    public function editValide(): self
    {
        $this->valide = true;