From b875e8dd37de5ddb2cb85bc8ddf2e80fbb060b86 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 20 Jul 2020 11:42:39 +0200 Subject: [exams] Collapse old exams (-90 days) --- modules-available/exams/page.inc.php | 18 ++++++++++++++++-- modules-available/exams/templates/page-exams.html | 12 +++++++++++- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/modules-available/exams/page.inc.php b/modules-available/exams/page.inc.php index 23a5bc39..aec13c32 100644 --- a/modules-available/exams/page.inc.php +++ b/modules-available/exams/page.inc.php @@ -217,6 +217,9 @@ class Page_Exams extends Page { $out = []; $now = time(); + $cutoff = strtotime('-90 days'); + $foundActive = false; + $hasCollapsed = false; if (is_array($this->exams)) { foreach ($this->exams as $exam) { if ($exam['endtime'] < $now) { @@ -225,13 +228,24 @@ class Page_Exams extends Page $exam['liesInPast'] = true; } else { $exam['btnClass'] = 'btn-danger'; + if ($exam['starttime'] < $now) { + $exam['rowClass'] = 'slx-bold'; + } + } + if (!$foundActive) { + if ($exam['endtime'] > $cutoff) { + $foundActive = true; + } else { + $exam['rowClass'] .= ' collapse'; + $hasCollapsed = true; + } } $exam['starttime_s'] = date('Y-m-d H:i', $exam['starttime']); $exam['endtime_s'] = date('Y-m-d H:i', $exam['endtime']); $out[] = $exam; } } - return $out; + return ['exams' => $out, 'decollapse' => $hasCollapsed]; } protected function makeLectureExamList() @@ -452,7 +466,7 @@ class Page_Exams extends Page // General title and description Render::addTemplate('page-main-heading'); // List of defined exam periods - $params = ['exams' => $this->makeExamsForTemplate()]; + $params = $this->makeExamsForTemplate(); Permission::addGlobalTags($params['perms'], NULL, ['exams.edit']); Render::addTemplate('page-exams', $params); // List of upcoming lectures marked as exam diff --git a/modules-available/exams/templates/page-exams.html b/modules-available/exams/templates/page-exams.html index 89743c95..085b529a 100644 --- a/modules-available/exams/templates/page-exams.html +++ b/modules-available/exams/templates/page-exams.html @@ -18,10 +18,20 @@ + {{#decollapse}} + + + + + + + + + {{/decollapse}} {{#exams}} {{examid}} - + {{locationnames}} {{^locationnames}} {{lang_global}} -- cgit v1.2.3-55-g7522