diff --git a/app/controllers/settings/notification.php b/app/controllers/settings/notification.php index 5fc3e7f1e2807f8d76df672b4cfe5cef3c4970d5..e3efb7b883d0aad7dbfa55192cdaf3bdc8618b80 100644 --- a/app/controllers/settings/notification.php +++ b/app/controllers/settings/notification.php @@ -72,10 +72,16 @@ class Settings_NotificationController extends Settings_SettingsController $groups = []; $my_sem = []; foreach ($seminars as $seminar) { - $su = CourseMember::findOneBySQL( - 'seminar_id = :course_id AND user_id = :user_id', - ['course_id' => $seminar->id, 'user_id' => $GLOBALS['user']->id] - ); + $su = CourseMember::find([$seminar->id, User::findCurrent()->id]); + + if (!$su && Config::get()->DEPUTIES_ENABLE) { + $su = Deputy::find([$seminar->id, User::findCurrent()->id]); + } + + if (!$su) { + continue; + } + $my_sem[$seminar['Seminar_id']] = [ 'obj_type' => "sem", 'sem_nr' => $seminar->veranstaltungsnummer, @@ -84,7 +90,7 @@ class Settings_NotificationController extends Settings_SettingsController 'gruppe' => $su->gruppe, 'sem_status' => $seminar->status, 'sem_number' => Semester::getIndexById($seminar->start_semester->id), - 'sem_number_end' => Semester::getIndexById($seminar->end_semester->id ?? '') + 'sem_number_end' => Semester::getIndexById($seminar->end_semester->id ?? '') ?: '-1', ]; if ($group_field) { fill_groups($groups, Semester::getIndexById($seminar->start_semester->id), [ diff --git a/lib/meine_seminare_func.inc.php b/lib/meine_seminare_func.inc.php index 39f4fa115d995c43a80dced16da67fbf3add8818..bd81fd243115f550b97fd05348583e1738bd1201 100644 --- a/lib/meine_seminare_func.inc.php +++ b/lib/meine_seminare_func.inc.php @@ -141,19 +141,12 @@ function correct_group_sem_number(&$groups, &$my_obj): bool { if (is_array($groups) && is_array($my_obj)) { $sem_data = Semester::findAllVisible(); - //end($sem_data); - //$max_sem = key($sem_data); foreach ($sem_data as $sem_key => $one_sem){ $current_sem = $sem_key; if (!$one_sem['past']) { break; } } - if (isset($sem_data[$current_sem + 1])){ - $max_sem = $current_sem + 1; - } else { - $max_sem = $current_sem; - } foreach ($my_obj as $seminar_id => $values){ if ($values['obj_type'] == 'sem' && $values['sem_number'] != $values['sem_number_end']){ if ($values['sem_number_end'] == -1 && $values['sem_number'] < $current_sem) {