diff --git a/app/controllers/admin/courses.php b/app/controllers/admin/courses.php index 8a641901e73ce1264caa78420bb28dd84ce0f888..7cdf64e79c25140b3eb93a8a1644c8ba4f68786b 100644 --- a/app/controllers/admin/courses.php +++ b/app/controllers/admin/courses.php @@ -171,11 +171,16 @@ class Admin_CoursesController extends AuthenticatedController Now draw the configurable elements according to the values inside the visibleElements array. */ + $institute_id = null; + if (!empty($visibleElements['search'])) { $this->setSearchWiget(); } if (!empty($visibleElements['institute'])) { - $filter->addElement($this->getInstSelector()); + $inst_selector = $filter->addElement($this->getInstSelector()); + if (count($inst_selector->getOptions()) === 1) { + $institute_id = $this->insts[0]['Institut_id']; + } } if (!empty($visibleElements['semester'])) { $filter->addElement($this->getSemesterSelector()); @@ -187,7 +192,7 @@ class Admin_CoursesController extends AuthenticatedController $filter->addElement($this->getCourseTypeWidget()); } if (!empty($visibleElements['teacher'])) { - $filter->addElement($this->getTeacherWidget()); + $filter->addElement($this->getTeacherWidget($institute_id)); } $sidebar->addWidget($filter, 'filter'); diff --git a/lib/classes/sidebar/SelectListElement.php b/lib/classes/sidebar/SelectListElement.php index 479961791b5ad9acf20ae9e7a447b272b8fa22f0..1927d653464b758ab002ab13413cfe8010f54c1a 100644 --- a/lib/classes/sidebar/SelectListElement.php +++ b/lib/classes/sidebar/SelectListElement.php @@ -30,6 +30,11 @@ class SelectListElement extends WidgetElement implements ArrayAccess $this->options = $options; } + public function getOptions(): array + { + return $this->options; + } + public function render() { $option_content = '';