/** * Save Single Date * @throws Trails_DoubleRenderError */ public function saveSingleDate_action() { CSRFProtection::verifyRequest(); $start_time = strtotime(sprintf('%s %s:00', Request::get('date'), Request::get('start_time'))); $end_time = strtotime(sprintf('%s %s:00', Request::get('date'), Request::get('end_time'))); if ($start_time > $end_time) { $this->storeRequest(); PageLayout::postMessage(MessageBox::error(_('Die Zeitangaben sind nicht korrekt. Bitte überprüfen Sie diese!'))); $this->redirect('course/timesrooms/createSingleDate'); return; } $termin = new CourseDate(); $termin->termin_id = $termin->getNewId(); $termin->range_id = $this->course->id; $termin->date = $start_time; $termin->end_time = $end_time; $termin->autor_id = $GLOBALS['user']->id; $termin->date_typ = Request::get('dateType'); $teachers = $this->course->getMembers('dozent'); foreach (Request::getArray('related_teachers') as $dozent_id) { if (in_array($dozent_id, array_keys($teachers))) { $related_persons[] = User::find($dozent_id); } } if (isset($related_persons)) { $termin->dozenten = $related_persons; } foreach (Request::getArray('related_statusgruppen') as $statusgruppe_id) { $related_groups[] = Statusgruppen::find($statusgruppe_id); } if (isset($related_groups)) { $termin->statusgruppen = $related_groups; } if (!Request::get('room') || Request::get('room') === 'nothing') { $termin->raum = Request::get('freeRoomText'); $termin->store(); } else { $termin->store(); $room = new ResourceAssignment(); $room->assign_user_id = $termin->termin_id; $room->resource_id = Request::get('room'); $room->begin = $termin->date; $room->end = $termin->end_time; $room->repeat_end = $termin->end_time; if (!$room->store()) { $termin->delete(); } } if ($start_time < $this->course->filterStart || $end_time > $this->course->filterEnd) { $this->course->setFilter('all'); } $this->course->createMessage(sprintf(_('Der Termin %s wurde hinzugefügt!'), $termin->getFullname())); $this->course->store(); $this->displayMessages(); if (Request::get('fromDialog') == 'true') { $this->redirect('course/timesrooms/index'); } else { $this->relocate('course/timesrooms/index'); } }