diff options
| author | Finn Schneider <schneider@data-quest.de> | 2026-02-20 16:41:47 +0100 |
|---|---|---|
| committer | Finn Schneider <schneider@data-quest.de> | 2026-03-13 17:25:01 +0000 |
| commit | 3e9c3e5439d53d187d9e7892139dae88f0f60f8d (patch) | |
| tree | be882d73cc0dcf5415d7d44edff1dfe6489ec7a6 | |
| parent | 136a1dec9b06f43d47973bf93aea4b2dce67f486 (diff) | |
institute filter archive
| -rw-r--r-- | app/controllers/evaluation/archive.php | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/app/controllers/evaluation/archive.php b/app/controllers/evaluation/archive.php index 42ad4f2..b953e53 100644 --- a/app/controllers/evaluation/archive.php +++ b/app/controllers/evaluation/archive.php @@ -6,24 +6,42 @@ class Evaluation_ArchiveController extends AuthenticatedController Navigation::activateItem('/evaluation/archive'); $semesters = array_reverse(Semester::getAll()); - $list = new SelectWidget( + $sem_list = new SelectWidget( _('Semester'), $this->url_for('evaluation/archive/set'), 'sem_select' ); $selected_sem = $_SESSION['evaluation_archive_sem'] ?? Semester::findCurrent()->id; foreach ($semesters as $semester) { - $list->addElement(new SelectElement( + $sem_list->addElement(new SelectElement( $semester->id, htmlReady($semester->name), $semester->id === $selected_sem )); } - Sidebar::Get()->addWidget($list); + Sidebar::Get()->addWidget($sem_list); + + $institutes = Institute::getInstitutes(); + $inst_list = new SelectWidget( + _('Einrichtungen'), + $this->url_for('evaluation/archive/set'), + 'inst_select' + ); + $selected_inst = $_SESSION['evaluation_archive_inst'] ?? $institutes[0]['Institut_id']; + foreach ($institutes as $institute) { + $inst_list->addElement( + new SelectElement( + $institute['Institut_id'], + htmlReady($institute['Name']), + $institute['Institut_id'] === $selected_inst + )); + } + Sidebar::Get()->addWidget($inst_list); $this->eval_assignments = QuestionnaireEvalAssignment::findBySQL( - "`semester_id` = ? AND `questionnaire_id` IS NOT NULL AND `applied` = 1", - [$selected_sem]); + "`questionnaire_id` IS NOT NULL AND `applied` = 1 + AND `semester_id` = ? AND `institute_id` = ?", + [$selected_sem, $selected_inst]); } public function set_action() @@ -31,6 +49,9 @@ class Evaluation_ArchiveController extends AuthenticatedController if (Request::get('sem_select')) { $_SESSION['evaluation_archive_sem'] = Request::get('sem_select'); } + if (Request::get('inst_select')) { + $_SESSION['evaluation_archive_inst'] = Request::get('inst_select'); + } $this->redirect('evaluation/archive'); } |
