summaryrefslogtreecommitdiffstats
path: root/modules-available/exams/templates/page-add-edit-exam.html
diff options
context:
space:
mode:
authorSimon Rettberg2016-07-12 16:54:36 +0200
committerSimon Rettberg2016-07-12 16:54:36 +0200
commitd072920a676743dd4ba9d4cc4af080eee9809a01 (patch)
treed5df552bd3878d8704447593cffedd24ffb8f90b /modules-available/exams/templates/page-add-edit-exam.html
parent[exams] Fix layout/type (diff)
downloadslx-admin-d072920a676743dd4ba9d4cc4af080eee9809a01.tar.gz
slx-admin-d072920a676743dd4ba9d4cc4af080eee9809a01.tar.xz
slx-admin-d072920a676743dd4ba9d4cc4af080eee9809a01.zip
[exams] Show list of upcomfing exam lectures; allow adding exam period based on upcoming exam
Diffstat (limited to 'modules-available/exams/templates/page-add-edit-exam.html')
-rw-r--r--modules-available/exams/templates/page-add-edit-exam.html56
1 files changed, 44 insertions, 12 deletions
diff --git a/modules-available/exams/templates/page-add-edit-exam.html b/modules-available/exams/templates/page-add-edit-exam.html
index d112095f..3f0ef372 100644
--- a/modules-available/exams/templates/page-add-edit-exam.html
+++ b/modules-available/exams/templates/page-add-edit-exam.html
@@ -4,6 +4,9 @@
{{^exam.examid}}
<h1>{{lang_addExam}}</h1>
{{/exam.examid}}
+{{#exam.displayname}}
+<div class="alert alert-info">{{lang_addingBasedOnLecture}}:<br><b>{{exam.displayname}}</b></div>
+{{/exam.displayname}}
<form class="form" method="POST" action="?do=exams" id="tolleform">
<div class="form-group">
@@ -64,6 +67,13 @@
</div>
</div>
</div>
+
+ <div class="panel">
+ <div class="panel-body">
+ {{lang_duration}}: <span id="exam-duration">-</span>
+ </div>
+ </div>
+
<div class="row form-group">
<div class="form-group col-xs-12">
<label for="description">{{lang_description}}</label>
@@ -80,6 +90,8 @@
<script type="application/javascript"><!--
document.addEventListener("DOMContentLoaded", function () {
var filename = "modules/bootstrap_datepicker/lang/bootstrap-datepicker." + LANG + ".js";
+ moment.locale(LANG);
+ var slxMoment = moment;
$.getScript(filename)
.always(function () {
@@ -87,38 +99,58 @@ document.addEventListener("DOMContentLoaded", function () {
var dateSettings = {
format: 'yyyy-mm-dd',
weekStart: 1,
- startDate: 'today',
todayHighlight: true,
language: LANG
};
- var timeSettings = {
+ var timeSettings = {
showSeconds: false,
showMeridian: false,
minuteStep: 5,
appendWidgetTo: 'body'
};
- $('.datepicker').datepicker(dateSettings);
- $('.timepicker2').timepicker(timeSettings);
+ $('.datepicker').datepicker(dateSettings);
+ $('.timepicker2').timepicker(timeSettings);
- $('#locations').multiselect({numberDisplayed: 1});
+ showDuration();
+ });
+ $('#locations').multiselect({numberDisplayed: 1});
- });
+ var start_date = $('#starttime_date');
+ var start_time = $('#starttime_time');
+ var end_date = $('#endtime_date');
+ var end_time = $('#endtime_time');
+ var rspan = $('#exam-duration');
- $('#starttime_date').focusout(function () {
- var start = $('#starttime_date').val();
- var end = $('#endtime_date').val();
+ start_date.focusout(function () {
+ var start = start_date.val();
+ var end = end_date.val();
var ok = end.length === 0;
if (!ok) {
- var ms = moment(start, 'YYYY-MM-DD');
- var me = moment(end, 'YYYY-MM-DD');
+ var ms = slxMoment(start, 'YYYY-MM-DD');
+ var me = slxMoment(end, 'YYYY-MM-DD');
ok = !me.isValid() || me.isBefore(ms);
}
if (ok) {
- $('#endtime_date').val(start);
+ end_date.val(start);
}
});
+ var showDuration = function () {
+ var sd = slxMoment(start_date.val() + ' ' + start_time.val(), 'YYYY-MM-DD H:mm');
+ var ed = slxMoment(end_date.val() + ' ' + end_time.val(), 'YYYY-MM-DD H:mm');
+ if (!sd.isValid() || !ed.isValid()) {
+ rspan.text('-');
+ return;
+ }
+ rspan.text(slxMoment.duration(ed.diff(sd)).humanize());
+ }
+
+ start_date.change(showDuration);
+ start_time.change(showDuration);
+ end_date.change(showDuration);
+ end_time.change(showDuration);
+
}, false);
// --></script>