summaryrefslogtreecommitdiffstats
path: root/modules-available/exams/page.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules-available/exams/page.inc.php')
-rw-r--r--modules-available/exams/page.inc.php18
1 files changed, 16 insertions, 2 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