diff --git a/app/controllers/admin/additional.php b/app/controllers/admin/additional.php index a98da2004834a611f12e607dd50dca3a1f1a75ad..6f8f08c5cef056499945b101277c248b93606b72 100644 --- a/app/controllers/admin/additional.php +++ b/app/controllers/admin/additional.php @@ -30,6 +30,8 @@ class Admin_AdditionalController extends AuthenticatedController throw new AccessDeniedException(_("Sie haben keine Berechtigung diese " . "Veranstaltung zu verändern.")); } + + Sidebar::get()->addWidget(new CourseManagementSelectWidget()); } /** diff --git a/app/controllers/avatar.php b/app/controllers/avatar.php index c549cf097593c000a7060cdbbd28f026321dcfa4..aafbb986cd1d101cce21f94ea1935a2a386fdcd2 100644 --- a/app/controllers/avatar.php +++ b/app/controllers/avatar.php @@ -62,8 +62,14 @@ class AvatarController extends AuthenticatedController Navigation::activateItem('/admin/institute/details'); } else { Navigation::activateItem('/course/admin/avatar'); + + if ($GLOBALS['perm']->have_studip_perm('admin', $id)) { + $widget = new CourseManagementSelectWidget(); + Sidebar::get()->addWidget($widget); + } } + $avatar = $class::getAvatar($id); $this->avatar = $avatar->getURL($class::NORMAL); $this->customized = $avatar->is_customized(); diff --git a/app/controllers/course/grouping.php b/app/controllers/course/grouping.php index dc7d65e1f57c2c00ce86d5bb194ada548ff961ce..b5a9472afd53023c61fa6d1cca24fa383f2d3b87 100644 --- a/app/controllers/course/grouping.php +++ b/app/controllers/course/grouping.php @@ -36,6 +36,11 @@ class Course_GroupingController extends AuthenticatedController if (!$GLOBALS['perm']->have_studip_perm('tutor', $this->course->id)) { throw new AccessDeniedException(_('Sie haben leider nicht die notwendige Berechtigung für diese Aktion.')); } + + if ($GLOBALS['perm']->have_studip_perm('admin', $this->course_id)) { + $widget = new CourseManagementSelectWidget(); + Sidebar::get()->addWidget($widget); + } } /** diff --git a/app/controllers/course/lvgselector.php b/app/controllers/course/lvgselector.php index 2ef55ea00ed0a57fd8258fa91267dafe6b551126..c5abb45bf122c235fc93ea19e154abdc9f07edf9 100644 --- a/app/controllers/course/lvgselector.php +++ b/app/controllers/course/lvgselector.php @@ -37,6 +37,11 @@ class Course_LvgselectorController extends AuthenticatedController $widget = new HelpbarWidget(); $widget->addElement(new WidgetElement(_('Auf dieser Seite kann die Veranstaltung ausgewählten Lehrveranstaltungsgruppen zugeordnet werden.'))); Helpbar::get()->addWidget($widget); + + if ($GLOBALS['perm']->have_studip_perm('admin', $this->course_id)) { + $widget = new CourseManagementSelectWidget(); + Sidebar::get()->addWidget($widget); + } } /** diff --git a/app/controllers/course/timesrooms.php b/app/controllers/course/timesrooms.php index 2b4354e2457897a1e8e485c9f0bdcbfab90d8e47..87e4b9b652cef7b4130b7990d3215f0998a90e65 100644 --- a/app/controllers/course/timesrooms.php +++ b/app/controllers/course/timesrooms.php @@ -1485,23 +1485,10 @@ class Course_TimesroomsController extends AuthenticatedController } Sidebar::Get()->addWidget($widget); - if ($GLOBALS['perm']->have_perm('admin')) { - $list = new SelectWidget( - _('Veranstaltungen'), - $this->indexURL(), - 'cid' - ); - foreach (AdminCourseFilter::get()->getCoursesForAdminWidget() as $seminar) { - $list->addElement(new SelectElement( - $seminar['Seminar_id'], - $seminar['Name'], - $seminar['Seminar_id'] === Context::getId(), - $seminar['VeranstaltungsNummer'] . ' ' . $seminar['Name'] - )); - } - $list->size = 8; - Sidebar::Get()->addWidget($list); + if ($GLOBALS['perm']->have_studip_perm('admin', $this->course_id)) { + $widget = new CourseManagementSelectWidget(); + Sidebar::get()->addWidget($widget); } } diff --git a/app/controllers/questionnaire.php b/app/controllers/questionnaire.php index d0766ed132dd2e602fb12423e17606e9ec16323d..2da457ce6242d75704e107daedbfd6a5d42d8257 100644 --- a/app/controllers/questionnaire.php +++ b/app/controllers/questionnaire.php @@ -52,7 +52,16 @@ class QuestionnaireController extends AuthenticatedController if (!$GLOBALS['perm']->have_studip_perm("tutor", $this->range_id)) { throw new AccessDeniedException("Only for logged in users."); } + Navigation::activateItem("/course/admin/questionnaires"); + if ($GLOBALS['perm']->have_studip_perm('admin', $this->course_id)) { + // Ensure the select widget is added last + NotificationCenter::on('SidebarWillRender', function () { + $widget = new CourseManagementSelectWidget(); + Sidebar::get()->addWidget($widget); + }); + } + $this->statusgruppen = Statusgruppen::findByRange_id($this->range_id); $this->questionnaires = Questionnaire::findBySQL( "INNER JOIN questionnaire_assignments USING (questionnaire_id) WHERE (questionnaire_assignments.range_id = ? AND questionnaire_assignments.range_type = ?) OR (questionnaire_assignments.range_id IN (?) AND questionnaire_assignments.range_type = 'statusgruppe') ORDER BY questionnaires.chdate DESC", diff --git a/public/admin_evaluation.php b/public/admin_evaluation.php index f702173df547c76214650b627a2fa3c715b7b1f5..bee8ccece17186177d4e1759acccc74a205e2fe6 100644 --- a/public/admin_evaluation.php +++ b/public/admin_evaluation.php @@ -66,6 +66,13 @@ if ($view === 'eval_inst') { require_once 'lib/admin_search.inc.php'; } else if (Context::getId() && $view == "eval_sem") { Navigation::activateItem('/course/admin/evaluation'); + if ($GLOBALS['perm']->have_studip_perm('admin', Context::getId())) { + // Ensure the select widget is added last + NotificationCenter::on('SidebarWillRender', function () { + $widget = new CourseManagementSelectWidget(); + Sidebar::get()->addWidget($widget); + }); + } } else { Navigation::activateItem('/contents/evaluation'); }