aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFinn Schneider <schneider@data-quest.de>2026-02-20 16:41:47 +0100
committerFinn Schneider <schneider@data-quest.de>2026-03-13 17:25:01 +0000
commit3e9c3e5439d53d187d9e7892139dae88f0f60f8d (patch)
treebe882d73cc0dcf5415d7d44edff1dfe6489ec7a6
parent136a1dec9b06f43d47973bf93aea4b2dce67f486 (diff)
institute filter archive
-rw-r--r--app/controllers/evaluation/archive.php31
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');
}