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

Merge branch 'release_6.0.1'

parents 79ece43d 48a6776d
Loading
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
Journal des modifications
=========================

6.0.1
-----
- [FIX] Module Formation : mauvais éléments de formulaire pour la date et les horaires, empêchant de créer/modifier une séance.
- [FIX] Module StepStar : erreur dans l'extraction du mail du doctorant.

6.0.0
-----
- Passage à PHP 8.0
+7 −0
Original line number Diff line number Diff line
@@ -39,5 +39,12 @@ fi
echo

TAG="cron-${ETAB}-$(date +%Y%m%d_%H%M%S)"

echo "> Envoi des theses ${ETAB} soutenues depuis moins d'un mois..."
/usr/bin/php ${APP_DIR}/public/index.php step-star:envoyer-theses --etat S --etablissement ${ETAB} --tag ${TAG} --date-soutenance-min P1M
echo
echo
echo "> Envoi des theses ${ETAB} en cours..."
/usr/bin/php ${APP_DIR}/public/index.php step-star:envoyer-theses --etat E --etablissement ${ETAB} --tag ${TAG}
echo
+6 −5
Original line number Diff line number Diff line
@@ -3,9 +3,10 @@
namespace Formation\Form\Seance;

use Laminas\Form\Element\Button;
use Laminas\Form\Element\DateTime;
use Laminas\Form\Element\Date;
use Laminas\Form\Element\Text;
use Laminas\Form\Element\Textarea;
use Laminas\Form\Element\Time;
use Laminas\Form\Form;
use Laminas\InputFilter\Factory;

@@ -16,14 +17,14 @@ class SeanceForm extends Form {
        //jour
        $this->add([
            'name' => 'date',
            'type' => DateTime::class,
            'type' => Date::class,
            'options' => [
                'label' => "Date de la séance de formation <span class='icon icon-star' style='color: darkred;' title='Obligatoire'></span> :",
                'label_options' => [ 'disable_html_escape' => true, ],
                'label_attributes' => [
                    'class' => 'control-label',
                ],
                'format' => 'd/m/Y',
                'format' => 'Y-m-d',
            ],
            'attributes' => [
                'id' => 'date',
@@ -33,7 +34,7 @@ class SeanceForm extends Form {
        //debut
        $this->add([
            'name' => 'debut',
            'type' => DateTime::class,
            'type' => Time::class,
            'options' => [
                'label' => "Début de la séance <span class='icon icon-star' style='color: darkred;' title='Obligatoire'></span> :",
                'label_options' => [ 'disable_html_escape' => true, ],
@@ -50,7 +51,7 @@ class SeanceForm extends Form {
        //fin
        $this->add([
            'name' => 'fin',
            'type' => DateTime::class,
            'type' => Time::class,
            'options' => [
                'label' => "Fin de la séance <span class='icon icon-star' style='color: darkred;' title='Obligatoire'></span> :",
                'label_options' => [ 'disable_html_escape' => true, ],
+13 −7
Original line number Diff line number Diff line
@@ -4,9 +4,15 @@ namespace Formation\Form\Seance;

use DateTime;
use Formation\Entity\Db\Seance;
use Laminas\Hydrator\HydratorInterface;
use Laminas\Hydrator\AbstractHydrator;
use Laminas\Hydrator\Strategy\DateTimeFormatterStrategy;

class SeanceHydrator implements HydratorInterface {
class SeanceHydrator extends AbstractHydrator
{
    public function __construct()
    {
        $this->addStrategy('date', new DateTimeFormatterStrategy('Y-m-d'));
    }

    /**
     * @param Seance $object
@@ -14,14 +20,13 @@ class SeanceHydrator implements HydratorInterface {
     */
    public function extract($object): array
    {
        $data = [
            'date'          => ($object->getDebut() !== null)?$object->getDebut()->format('d/m/Y'):null,
        return [
            'date'          => ($object->getDebut() !== null)?$this->getStrategy('date')->extract($object->getDebut()):null,
            'debut'         => ($object->getDebut() !== null)?$object->getDebut()->format('H:i'):null,
            'fin'           => ($object->getFin() !== null)?$object->getFin()->format('H:i'):null,
            'lieu'          => ($object->getLieu() !== null)?$object->getLieu():null,
            'description'   => ($object->getDescription() !== null)?$object->getDescription():null,
        ];
        return $data;
    }

    /**
@@ -37,13 +42,14 @@ class SeanceHydrator implements HydratorInterface {
        $lieu           = (isset($data['lieu']) AND trim($data['lieu']) !== '')?trim($data['lieu']):null;
        $description    = (isset($data['description']) AND trim($data['description']) !== '')?trim($data['description']):null;

        $date_debut = ($date AND $debut)? DateTime::createFromFormat('d/m/Y H:i', $date .' '.$debut):null;
        $date_fin   = ($date AND $debut)? DateTime::createFromFormat('d/m/Y H:i', $date .' '.$fin):null;
        $date_debut = ($date AND $debut)? DateTime::createFromFormat('Y-m-d H:i', $date .' '.$debut):null;
        $date_fin   = ($date AND $debut)? DateTime::createFromFormat('Y-m-d H:i', $date .' '.$fin):null;

        $object->setDebut($date_debut);
        $object->setFin($date_fin);
        $object->setLieu($lieu);
        $object->setDescription($description);

        return $object;
    }

+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');
Loading