diff options
Diffstat (limited to 'app/controllers/course/timesrooms.php')
| -rw-r--r-- | app/controllers/course/timesrooms.php | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/app/controllers/course/timesrooms.php b/app/controllers/course/timesrooms.php index 8349445..ad049bf 100644 --- a/app/controllers/course/timesrooms.php +++ b/app/controllers/course/timesrooms.php @@ -1562,6 +1562,7 @@ class Course_TimesroomsController extends AuthenticatedController $this->end_semester_weeks['ende'][] = ['value' => -1, 'label' => _('Alle Semester')]; } } + $this->types = $this->cycle->dates->pluck('date_typ');; } /** @@ -1650,14 +1651,14 @@ class Course_TimesroomsController extends AuthenticatedController { $cycle = SeminarCycleDate::find($cycle_id); $start = strtotime(Request::get('start_time')); - $end = strtotime(Request::get('end_time')); + $end = strtotime(Request::get('end_time')); // Prepare Request for saving Request if ($start === false || $end === false || $start > $end) { PageLayout::postError(_('Die Zeitangaben sind nicht korrekt. Bitte überprüfen Sie diese!')); } else { - $cycle->start_time = date('H:i:00', $start); - $cycle->end_time = date('H:i:00', $end); + $cycle->start_time = date('H:i:00', $start); + $cycle->end_time = date('H:i:00', $end); } //Check the duration: @@ -1676,42 +1677,45 @@ class Course_TimesroomsController extends AuthenticatedController return; } - $cycle->weekday = Request::int('day'); + $cycle->weekday = Request::int('day'); $cycle->description = Request::get('description'); - $cycle->sws = Request::get('teacher_sws'); - $cycle->cycle = Request::get('cycle'); + $cycle->sws = Request::get('teacher_sws'); + $cycle->cycle = Request::get('cycle'); $cycle->week_offset = Request::int('startWeek'); - $cycle->end_offset = Request::int('endWeek'); + $cycle->end_offset = Request::int('endWeek'); if ($cycle->end_offset == -1) { $cycle->end_offset = NULL; } $changed_dates = 0; - if (Request::int('course_type')) { + + if (Request::get('course_type') && Request::get('course_type') !== 'default') { $changed_dates = $cycle->setSingleDateType(Request::int('course_type')); + } elseif ($cycle->isDirty()) { + $changed_dates = count($cycle->dates); } if ($changed_dates > 0 || $cycle->isDirty()) { + $cycle->chdate = time(); $cycle->store(); - if ($changed_dates > 0) { + if ($changed_dates > 0 && Request::get('course_type') !== 'default') { PageLayout::postSuccess(sprintf(ngettext( - _('Die Art des Termins wurde bei 1 Termin geändert'), - _('Die Art des Termins wurde bei %u Terminen geändert'), - $changed_dates - ), $changed_dates)); + _('Die Art des Termins wurde bei 1 Termin geändert'), + _('Die Art des Termins wurde bei %u Terminen geändert'), + $changed_dates), $changed_dates)); } else { PageLayout::postSuccess(_('Änderungen gespeichert!')); } } else { PageLayout::postInfo(_('Es wurden keine Änderungen vorgenommen.')); } - $this->relocate('course/timesrooms/index'); } + /** * Deletes a cycle * |
