Loading CHANGELOG.md +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 Loading bin/run-envoi-step-star.sh +7 −0 Original line number Diff line number Diff line Loading @@ -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 module/Formation/src/Formation/Form/Seance/SeanceForm.php +6 −5 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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', Loading @@ -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, ], Loading @@ -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, ], Loading module/Formation/src/Formation/Form/Seance/SeanceHydrator.php +13 −7 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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; } /** Loading @@ -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; } Loading module/Soutenance/src/Soutenance/Controller/PropositionController.php +4 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
CHANGELOG.md +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 Loading
bin/run-envoi-step-star.sh +7 −0 Original line number Diff line number Diff line Loading @@ -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
module/Formation/src/Formation/Form/Seance/SeanceForm.php +6 −5 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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', Loading @@ -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, ], Loading @@ -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, ], Loading
module/Formation/src/Formation/Form/Seance/SeanceHydrator.php +13 −7 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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; } /** Loading @@ -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; } Loading
module/Soutenance/src/Soutenance/Controller/PropositionController.php +4 −0 Original line number Diff line number Diff line Loading @@ -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