From 92874a55503bbb28b5713b26953ed75a54fbfa9f Mon Sep 17 00:00:00 2001 From: Moritz Strohm <strohm@data-quest.de> Date: Tue, 22 Oct 2024 08:09:05 +0000 Subject: [PATCH] fixed creating new all-day events, fixes #4657 Closes #4657 Merge request studip/studip!3482 --- app/controllers/calendar/date.php | 10 ++++++++-- app/views/calendar/date/_add_edit_form.php | 4 ++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/controllers/calendar/date.php b/app/controllers/calendar/date.php index bd60e384ca0..7eea76653ab 100644 --- a/app/controllers/calendar/date.php +++ b/app/controllers/calendar/date.php @@ -230,6 +230,12 @@ class Calendar_DateController extends AuthenticatedController $this->date->begin = Request::get('begin'); $this->date->end = Request::get('end'); $this->date->repetition_end = $this->date->end; + } elseif (Request::submitted('begin_str') && Request::submitted('end_str')) { + //Assume the textual format d.m.Y H:i: + $begin = Request::getDateTime('begin_str', 'd.m.Y H:i'); + $end = Request::getDateTime('end_str', 'd.m.Y H:i'); + $this->date->begin = $begin->getTimestamp(); + $this->date->end = $end->getTimestamp(); } else { $time = new DateTime(); if (Request::submitted('timestamp')) { @@ -393,8 +399,8 @@ class Calendar_DateController extends AuthenticatedController } $this->date->editor_id = $GLOBALS['user']->id; - $begin = Request::getDateTime('begin', 'd.m.Y H:i'); - $end = Request::getDateTime('end', 'd.m.Y H:i'); + $begin = Request::getDateTime('begin_str', 'd.m.Y H:i'); + $end = Request::getDateTime('end_str', 'd.m.Y H:i'); if (Request::get('all_day') === '1') { $this->all_day_event = true; $begin->setTime(0,0,0); diff --git a/app/views/calendar/date/_add_edit_form.php b/app/views/calendar/date/_add_edit_form.php index 842464773d8..bf4b5897eed 100644 --- a/app/views/calendar/date/_add_edit_form.php +++ b/app/views/calendar/date/_add_edit_form.php @@ -69,13 +69,13 @@ <label class="studiprequired"> <?= _('Beginn') ?> <span class="asterisk" title="<?= _('Dies ist ein Pflichtfeld') ?>" aria-hidden="true">*</span> - <input type="text" name="begin" class="begin-input" data-datetime-picker + <input type="text" name="begin_str" class="begin-input" data-datetime-picker required="required" value="<?= date('d.m.Y H:i', $date->begin) ?>"> </label> <label class="studiprequired"> <?= _('Ende') ?> <span class="asterisk" title="<?= _('Dies ist ein Pflichtfeld') ?>" aria-hidden="true">*</span> - <input type="text" name="end" class="end-input" data-datetime-picker + <input type="text" name="end_str" class="end-input" data-datetime-picker required="required" value="<?= date('d.m.Y H:i', $date->end) ?>"> </label> </div> -- GitLab