diff --git a/app/controllers/calendar/calendar.php b/app/controllers/calendar/calendar.php index 89421cb3e99c3416289bf8b259e0b07232631726..fa33e2e5fad249d466b3b46dbf36ddf1b3cf41fe 100644 --- a/app/controllers/calendar/calendar.php +++ b/app/controllers/calendar/calendar.php @@ -39,7 +39,7 @@ class Calendar_CalendarController extends AuthenticatedController _('Termin anlegen'), $this->url_for('calendar/date/add', $params), Icon::create('add'), - ['data-dialog' => 'size=auto'] + ['data-dialog' => 'size=auto', 'class' => 'calendar-action'] ); } @@ -446,7 +446,7 @@ class Calendar_CalendarController extends AuthenticatedController _('Termin anlegen'), $this->url_for('calendar/date/add/course_' . $course->id), Icon::create('add'), - ['data-dialog' => 'size=default'] + ['data-dialog' => 'size=default', 'class' => 'calendar-action'] ); $actions->addLink( _('Drucken'), diff --git a/app/controllers/calendar/date.php b/app/controllers/calendar/date.php index eda171b94a86343a03d81d0ee5c03d884f905a4f..cb61a7e7ae7c9b3c7da70f5c7107e2e22d26a674 100644 --- a/app/controllers/calendar/date.php +++ b/app/controllers/calendar/date.php @@ -232,6 +232,14 @@ class Calendar_DateController extends AuthenticatedController $this->date->repetition_end = $this->date->end; } else { $time = new DateTime(); + if (Request::submitted('timestamp')) { + $time->setTimestamp(Request::int('timestamp')); + } elseif (Request::submitted('defaultDate')) { + $date_parts = explode('-', Request::get('defaultDate')); + if (count($date_parts) === 3) { + $time->setDate($date_parts[0], $date_parts[1], $date_parts[2]); + } + } $time = $time->add(new DateInterval('PT1H')); $time->setTime(intval($time->format('H')), 0, 0); $this->date->begin = $time->getTimestamp(); diff --git a/resources/assets/javascripts/lib/fullcalendar.js b/resources/assets/javascripts/lib/fullcalendar.js index 49274f47f45da264465cc3a38addb0f80bd6ba46..b001ab4c4cb25e5e463cfc531afb3862d7755634 100644 --- a/resources/assets/javascripts/lib/fullcalendar.js +++ b/resources/assets/javascripts/lib/fullcalendar.js @@ -731,9 +731,9 @@ class Fullcalendar //Get the timestamp: let timestamp = changedMoment.getTime() / 1000; - jQuery('a.resource-bookings-actions').each(function () { + jQuery('a.resource-bookings-actions, a.calendar-action').each(function () { const url = new URL(this.href); - url.searchParams.set('timestamp', timestamp) + url.searchParams.set('timestamp', timestamp.toString()) url.searchParams.set('defaultDate', changed_date) this.href = url.toString(); });