Commit 48a6776d authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

[FIX] Module Soutenance : Correction de l'élément Date dans le formulaire de...

[FIX] Module Soutenance : Correction de l'élément Date dans le formulaire de saisie de la date-heure-lieu de soutenance
parent cbeac3d2
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -246,11 +246,15 @@ class PropositionController extends AbstractController

        $request = $this->getRequest();
        if ($request->isPost()) {
            $data = $request->getPost();
            $form->setData($data);
            if ($form->isValid()) {
                $this->update($request, $form, $proposition);
                $this->getHorodatageService()->addHorodatage($proposition, HorodatageService::TYPE_MODIFICATION, "Date et lieu");
                $this->getPropositionService()->initialisationDateRetour($proposition);
                if (!$this->isAllowed($these, PropositionPrivileges::PROPOSITION_MODIFIER_GESTION)) $this->getPropositionService()->annulerValidationsForProposition($proposition);
            }
        }

        $vm = new ViewModel();
        $vm->setTemplate('soutenance/default/default-form');
+4 −5
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
namespace Soutenance\Form\DateLieu;

use Laminas\Form\Element\Button;
use Laminas\Form\Element\DateTime;
use Laminas\Form\Element\Date;
use Laminas\Form\Element\Time;
use Laminas\Form\Element\Radio;
use Laminas\Form\Element\Text;
@@ -16,13 +16,12 @@ class DateLieuForm extends Form {

    public function init()
    {

        $this->add([
            'name' => 'date',
            'type' => DateTime::class,
            'type' => Date::class,
            'options' => [
                'label' => 'Date de la soutenance : ',
                'format' => 'd/m/Y',
                'format' => 'Y-m-d',
            ],
            'attributes' => [
                //'min'  => $twomonth->format('Y-m-d'),
@@ -84,7 +83,7 @@ class DateLieuForm extends Form {
                                Callback::INVALID_VALUE => "La date de soutenance est dans le passé ! ",
                            ],
                            'callback' => function ($value) {
                                $sdate = DDateTime::createFromFormat('d/m/Y', $value);
                                $sdate = DDateTime::createFromFormat('Y-m-d', $value);
                                $cdate = new DDateTime();
                                $res = $sdate >= $cdate;
                                return $res;
+2 −2
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@ class DateLieuHydrator implements HydratorInterface
     */
    public function hydrate(array $data, $proposition) {

        $date = DateTime::createFromFormat("d/m/Y H:i", $data['date'].' '.$data['heure']);
        $date = DateTime::createFromFormat("Y-m-d H:i", $data['date'].' '.$data['heure']);
        $proposition->setDate($date);
        $proposition->setLieu($data['lieu']);
        $proposition->setExterieur($data['exterieur']);
@@ -34,7 +34,7 @@ class DateLieuHydrator implements HydratorInterface
        $date = '';
        $heure = '';
        if ($datetime) {
            $date = $datetime->format("d/m/Y");
            $date = $datetime->format("Y-m-d");
            $heure = $datetime->format("H:i");
        }