summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--modules-available/exams/page.inc.php18
-rw-r--r--modules-available/exams/templates/page-exams.html12
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 @@
</tr>
</thead>
<tbody>
+ {{#decollapse}}
+ <tr class="hidden collapse"></tr><!-- need this right before the slx-decollapse -->
+ <tr class="slx-decollapse">
+ <td colspan="5">
+ <span class="btn-group btn-group-justified">
+ <span class="btn btn-default btn-sm"><span class="glyphicon glyphicon-menu-down"></span></span>
+ </span>
+ </td>
+ </tr>
+ {{/decollapse}}
{{#exams}}
<tr class="{{rowClass}}">
<td>{{examid}}</td>
- <td>
+ <td width="100%">
{{locationnames}}
{{^locationnames}}
<i>{{lang_global}}</i>