Commit d5a3d8fd authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

[FIX] Date de soutenance et de fin de confidentialité : changement de...

[FIX] Date de soutenance et de fin de confidentialité : changement de l'élément de formulaire pour pouvoir sélectionner une année
parent 947a2d36
Loading
Loading
Loading
Loading
+5 −4
Changes for module/Soutenance/src/Soutenance/Form/Confidentialite/ConfidentialiteForm.php: 5 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -16,17 +16,18 @@ class ConfidentialiteForm extends Form

    public function init()
    {
        $refDate = new DateTime();
        $maxDate = $refDate->add(new DateInterval('P10Y'));
        $minDate = new DateTime();
        $maxDate = new DateTime();
        $maxDate->add(new DateInterval('P10Y'));

        $this->add([
            'type' => Date::class,
            'type' => \Zend\Form\Element\Date::class,
            'name' => 'date',
            'options' => [
                'label' => "Date de fin de confidentialité :",
            ],
            'attributes' => [
                'min' => $refDate->format('Y-m-d'),
                'min' => $minDate->format('Y-m-d'),
                'max' => $maxDate->format('Y-m-d'),
            ]
        ]);
+2 −2
Changes for module/Soutenance/src/Soutenance/Form/Confidentialite/ConfidentialiteHydrator.php: 2 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@ class ConfidentialiteHydrator implements HydratorInterface
    public function hydrate(array $data, $proposition) {

        if ($data['date']) {
            $date = DateTime::createFromFormat("d/m/Y", $data['date']);
            $date = DateTime::createFromFormat("Y-m-d", $data['date']);
            $proposition->setConfidentialite($date);
            $proposition->setHuitClos($data['huitclos']);
        } else {
@@ -34,7 +34,7 @@ class ConfidentialiteHydrator implements HydratorInterface
    public function extract($proposition) {

        $data = [];
        $data['date']  = ($proposition->getConfidentialite())?$proposition->getConfidentialite()->format("d/m/Y"):"";
        $data['date']  = ($proposition->getConfidentialite())?$proposition->getConfidentialite()->format("Y-m-d"):"";
        $data['huitclos'] = $proposition->isHuitClos();

        return $data;
+6 −3
Changes for module/Soutenance/src/Soutenance/Form/DateLieu/DateLieuForm.php: 6 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -4,9 +4,9 @@ namespace Soutenance\Form\DateLieu;

use DateTime;
use Soutenance\Validator\DateGreaterThan;
use UnicaenApp\Form\Element\Date;
use Zend\Form\Element\Button;
use Zend\Form\Element\DateTime as DateTimeElement;
use Zend\Form\Element\Date;
use Zend\Form\Element\Time;
use Zend\Form\Element\Radio;
use Zend\Form\Element\Text;
use Zend\Form\Form;
@@ -35,7 +35,7 @@ class DateLieuForm extends Form {

        $this->add([
            'name' => 'heure',
            'type' => DateTimeElement::class,
            'type' => Time::class,
            'options' => [
                'label' => 'Heure de la soutenance : ',
                'label_attributes' => [
@@ -110,6 +110,9 @@ class DateLieuForm extends Form {
                        ],
                    ],
                ],
                'heure' => [
                    'required' => true,
                ],
            ],
        ]));
    }
+2 −2
Changes for module/Soutenance/src/Soutenance/Form/DateLieu/DateLieuHydrator.php: 2 added lines, 2 removed lines.
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");
        }

+2 −3
Changes for module/Soutenance/src/Soutenance/Validator/DateGreaterThan.php: 2 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -142,16 +142,15 @@ class DateGreaterThan extends AbstractValidator
     */
    public function isValid($value)
    {
        $date = (\DateTime::createFromFormat("d/m/Y", $value))->format('Y-m-d');
        $min = $this->min;

        if ($this->inclusive) {
            if (! ($date > $min)) {
            if (! ($value > $min)) {
                $this->error(self::NOT_GREATER_INCLUSIVE);
                return false;
            }
        } else {
            if (! ($date >= $min)) {
            if (! ($value >= $min)) {
                $this->error(self::NOT_GREATER);
                return false;
            }
Loading