Loading module/Enseignement/src/Form/VolumeHoraireSaisieCalendaireForm.php +44 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,9 @@ use Application\Entity\Db\Periode; use Application\Filter\DateTimeFromString; use Application\Filter\FloatFromString; use Application\Form\AbstractForm; use Application\Service\Traits\ContextServiceAwareTrait; use Application\Service\Traits\PeriodeServiceAwareTrait; use Contrat\Service\ContratServiceAwareTrait; use Service\Service\TagServiceAwareTrait; use Enseignement\Entity\VolumeHoraireListe; use Enseignement\Hydrator\ListeFilterHydrator; Loading @@ -28,6 +30,7 @@ class VolumeHoraireSaisieCalendaireForm extends AbstractForm use TagServiceAwareTrait; use TypeInterventionServiceAwareTrait; use PeriodeServiceAwareTrait; use ContextServiceAwareTrait; /** * @var ElementPedagogique Loading Loading @@ -379,6 +382,26 @@ class VolumeHoraireSaisieCalendaireForm extends AbstractForm return [ 'horaire-debut' => [ 'required' => true, 'validators' => [[ 'name' => 'Callback', 'options' => [ 'messages' => [ \Laminas\Validator\Callback::INVALID_VALUE => 'La date de début saisie n\'ai pas comprise dans la période de l\'année universitaire', ], 'callback' => function ($value, $context = []) { $anneeContext = $this->getServiceContext()->getAnnee(); $debAnnee = $anneeContext->getDateDebut()->getTimestamp(); $finAnnee = $anneeContext->getDateFin()->getTimestamp(); $horaireDebut = DateTimeFromString::run($context['horaire-debut']); $deb = $horaireDebut->getTimestamp(); if ($finAnnee > $deb && $debAnnee < $deb) { return true; } return false; }, ], ]], ], 'horaire-fin' => [ 'required' => true, Loading @@ -400,6 +423,26 @@ class VolumeHoraireSaisieCalendaireForm extends AbstractForm return $diff >= 0; }, ], ], [ 'name' => 'Callback', 'options' => [ 'messages' => [ \Laminas\Validator\Callback::INVALID_VALUE => 'La date de fin saisie n\'ai pas comprise dans la période de l\'année universitaire', ], 'callback' => function ($value, $context = []) { $anneeContext = $this->getServiceContext()->getAnnee(); $debAnnee = $anneeContext->getDateDebut()->getTimestamp(); $finAnnee = $anneeContext->getDateFin()->getTimestamp(); $horaireFin = DateTimeFromString::run($context['horaire-fin']); $fin = $horaireFin->getTimestamp(); if ($finAnnee > $fin && $debAnnee < $fin) { return true; } return false; }, ], ]], ], 'motif-non-paiement' => [ Loading Loading
module/Enseignement/src/Form/VolumeHoraireSaisieCalendaireForm.php +44 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,9 @@ use Application\Entity\Db\Periode; use Application\Filter\DateTimeFromString; use Application\Filter\FloatFromString; use Application\Form\AbstractForm; use Application\Service\Traits\ContextServiceAwareTrait; use Application\Service\Traits\PeriodeServiceAwareTrait; use Contrat\Service\ContratServiceAwareTrait; use Service\Service\TagServiceAwareTrait; use Enseignement\Entity\VolumeHoraireListe; use Enseignement\Hydrator\ListeFilterHydrator; Loading @@ -28,6 +30,7 @@ class VolumeHoraireSaisieCalendaireForm extends AbstractForm use TagServiceAwareTrait; use TypeInterventionServiceAwareTrait; use PeriodeServiceAwareTrait; use ContextServiceAwareTrait; /** * @var ElementPedagogique Loading Loading @@ -379,6 +382,26 @@ class VolumeHoraireSaisieCalendaireForm extends AbstractForm return [ 'horaire-debut' => [ 'required' => true, 'validators' => [[ 'name' => 'Callback', 'options' => [ 'messages' => [ \Laminas\Validator\Callback::INVALID_VALUE => 'La date de début saisie n\'ai pas comprise dans la période de l\'année universitaire', ], 'callback' => function ($value, $context = []) { $anneeContext = $this->getServiceContext()->getAnnee(); $debAnnee = $anneeContext->getDateDebut()->getTimestamp(); $finAnnee = $anneeContext->getDateFin()->getTimestamp(); $horaireDebut = DateTimeFromString::run($context['horaire-debut']); $deb = $horaireDebut->getTimestamp(); if ($finAnnee > $deb && $debAnnee < $deb) { return true; } return false; }, ], ]], ], 'horaire-fin' => [ 'required' => true, Loading @@ -400,6 +423,26 @@ class VolumeHoraireSaisieCalendaireForm extends AbstractForm return $diff >= 0; }, ], ], [ 'name' => 'Callback', 'options' => [ 'messages' => [ \Laminas\Validator\Callback::INVALID_VALUE => 'La date de fin saisie n\'ai pas comprise dans la période de l\'année universitaire', ], 'callback' => function ($value, $context = []) { $anneeContext = $this->getServiceContext()->getAnnee(); $debAnnee = $anneeContext->getDateDebut()->getTimestamp(); $finAnnee = $anneeContext->getDateFin()->getTimestamp(); $horaireFin = DateTimeFromString::run($context['horaire-fin']); $fin = $horaireFin->getTimestamp(); if ($finAnnee > $fin && $debAnnee < $fin) { return true; } return false; }, ], ]], ], 'motif-non-paiement' => [ Loading