summaryrefslogtreecommitdiffstats
path: root/modules-available/exams
diff options
context:
space:
mode:
authorSimon Rettberg2016-06-24 11:31:45 +0200
committerSimon Rettberg2016-06-24 11:31:45 +0200
commit22cfc99ceb0f901f1029622a13fb4461fb881b31 (patch)
treee0a51583ca5b5f630b952b2a057a441d7262f5cd /modules-available/exams
parent[exams] Unify add/edit templates, add error messages, limit zoom range some more (diff)
downloadslx-admin-22cfc99ceb0f901f1029622a13fb4461fb881b31.tar.gz
slx-admin-22cfc99ceb0f901f1029622a13fb4461fb881b31.tar.xz
slx-admin-22cfc99ceb0f901f1029622a13fb4461fb881b31.zip
[exams] Unify add/edit template; check date ranges; other small fixes
Diffstat (limited to 'modules-available/exams')
-rw-r--r--modules-available/exams/lang/de/messages.json5
-rw-r--r--modules-available/exams/lang/de/template-tags.json4
-rw-r--r--modules-available/exams/lang/en/messages.json5
-rw-r--r--modules-available/exams/lang/en/template-tags.json4
-rw-r--r--modules-available/exams/page.inc.php21
5 files changed, 31 insertions, 8 deletions
diff --git a/modules-available/exams/lang/de/messages.json b/modules-available/exams/lang/de/messages.json
index 01be29fd..eda4257e 100644
--- a/modules-available/exams/lang/de/messages.json
+++ b/modules-available/exams/lang/de/messages.json
@@ -1,9 +1,12 @@
{
"changes-successfully-saved": "\u00c4nderungen erfolgreich gespeichert",
+ "end-before-start": "Endzeitpunkt liegt vor Startzeitpunkt!",
+ "endtime-invalid": "Ung\u00fcltige Endzeit: {{0}}",
"error-while-saving-changes": "Fehler beim Speichern der \u00c4nderungen",
"exam-added-success": "Klausurzeitraum erfolgreich hinzugef\u00fcgt",
"exam-deleted-success": "Klausurzeitraum erfolgreich gel\u00f6scht",
"exam-not-added": "Klausurzeitraum konnte nicht hinzugef\u00fcgt werden",
"exam-not-deleted-error": "Klausurzeitraum konnte nicht gel\u00f6scht werden",
- "invalid-exam-id": "Ung\u00fcltige Klausur-ID: {{0}}"
+ "invalid-exam-id": "Ung\u00fcltige Klausur-ID: {{0}}",
+ "starttime-invalid": "Ung\u00fcltige Startzeit: {{0}}"
} \ No newline at end of file
diff --git a/modules-available/exams/lang/de/template-tags.json b/modules-available/exams/lang/de/template-tags.json
index ab138d65..9b9225de 100644
--- a/modules-available/exams/lang/de/template-tags.json
+++ b/modules-available/exams/lang/de/template-tags.json
@@ -13,7 +13,5 @@
"lang_end_time": "Uhrzeit",
"lang_id": "ID",
"lang_location": "Raum\/Ort",
- "lang_locations": "R\u00e4ume\/Orte",
- "lang_pleaseSelectLocation": "Bitte w\u00e4hlen Sie mindestens einen Raum\/Ort",
- "lang_saveExam": "Klausurzeitraum speichern"
+ "lang_locations": "R\u00e4ume\/Orte"
} \ No newline at end of file
diff --git a/modules-available/exams/lang/en/messages.json b/modules-available/exams/lang/en/messages.json
index a684a82c..a62cc489 100644
--- a/modules-available/exams/lang/en/messages.json
+++ b/modules-available/exams/lang/en/messages.json
@@ -1,9 +1,12 @@
{
"changes-successfully-saved": "Changes successfully saved",
+ "end-before-start": "Exam ends before it starts!",
+ "endtime-invalid": "Invalid end time: {{0}}",
"error-while-saving-changes": "Error saving changes",
"exam-added-success": "Exam period successfully added",
"exam-deleted-success": "Exam period successfully deleted",
"exam-not-added": "Exam period was not added",
"exam-not-deleted-error": "Exam period was not deleted",
- "invalid-exam-id": "Invalid exam id: {{0}}"
+ "invalid-exam-id": "Invalid exam id: {{0}}",
+ "starttime-invalid": "Invalid start time: {{0}}"
} \ No newline at end of file
diff --git a/modules-available/exams/lang/en/template-tags.json b/modules-available/exams/lang/en/template-tags.json
index b1b0ab0a..9c49c8a3 100644
--- a/modules-available/exams/lang/en/template-tags.json
+++ b/modules-available/exams/lang/en/template-tags.json
@@ -13,7 +13,5 @@
"lang_end_time": "Time",
"lang_id": "ID",
"lang_location": "Room\/Location",
- "lang_locations": "Rooms\/Locations",
- "lang_pleaseSelectLocation": "Please select at least one room\/location",
- "lang_saveExam": "Save Exam Period"
+ "lang_locations": "Rooms\/Locations"
} \ No newline at end of file
diff --git a/modules-available/exams/page.inc.php b/modules-available/exams/page.inc.php
index 211ae5ac..4b626483 100644
--- a/modules-available/exams/page.inc.php
+++ b/modules-available/exams/page.inc.php
@@ -116,6 +116,15 @@ class Page_Exams extends Page
return $out;
}
+ private function dateSane($time)
+ {
+ if ($time < strtotime('-1 day'))
+ return false;
+ if ($time > strtotime('+90 day'))
+ return false;
+ return true;
+ }
+
private function saveExam()
{
if (!Request::isPost()) {
@@ -133,6 +142,18 @@ class Page_Exams extends Page
$starttime = strtotime(Request::post('starttime_date') . " " . Request::post('starttime_time'));
$endtime = strtotime(Request::post('endtime_date') . " " . Request::post('endtime_time'));
$description = Request::post('description');
+ if (!$this->dateSane($starttime)) {
+ Message::addError('starttime-invalid', Request::post('starttime_date') . " " . Request::post('starttime_time'));
+ Util::redirect('?do=exams');
+ }
+ if (!$this->dateSane($endtime)) {
+ Message::addError('endtime-invalid', Request::post('endtime_date') . " " . Request::post('endtime_time'));
+ Util::redirect('?do=exams');
+ }
+ if ($endtime <= $starttime) {
+ Message::addError('end-before-start');
+ Util::redirect('?do=exams');
+ }
if ($examid === 0) {
// No examid given, is add