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 4f35b53452de28b87941a25f92a647934d2c704e..1729d9952927e29ef270cd3daea1f1fbabd3dbde 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 3542a114320147cece8e8fba7bc8aa0fe0036e79..171f3d524220464b5c67b6fc14df21dd32ec4a19 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 41a78a819bf0edaf3eef522f038dc932681575d1..1f0ab17b5320c05cd52e3cb2568482aa79cf631e 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'); }