diff --git a/cis/private/lehre/pruefung/pruefung.js b/cis/private/lehre/pruefung/pruefung.js
index 07416a657..d1047ee9c 100644
--- a/cis/private/lehre/pruefung/pruefung.js
+++ b/cis/private/lehre/pruefung/pruefung.js
@@ -1693,6 +1693,10 @@ function deleteLehrveranstaltungFromPruefung(lvId, pruefung_id)
{
messageBox("message", "Lehrveranstaltung erfolgreich entfernt", "green", "highlight", 1000);
}
+ else
+ {
+ messageBox("message", data.errormsg, "red", "highlight", 1000);
+ }
}).complete(function(){
loadPruefungsDetails(pruefung_id);
});
@@ -1720,6 +1724,10 @@ function stornoPruefung(pruefung_id)
{
messageBox("message", "Prüfung storniert", "green", "highlight", 1000);
}
+ else
+ {
+ messageBox("message", data.errormsg, "red", "highlight", 1000);
+ }
}).complete(function(){
loadAllPruefungen();
resetPruefungsverwaltung();
@@ -1776,33 +1784,39 @@ function loadAllPruefungen()
},
error: loadError
}).success(function(data){
- $("#prfTable tbody").first().html("");
- var tableRow = "";
- data.result.forEach(function(e){
- if(e.storniert === false)
- {
- tableRow = "
| "+e.titel+" | ";
- tableRow += ""+e.studiensemester_kurzbz+" | ";
- tableRow += "";
- e.lehrveranstaltungen.forEach(function(f){
- tableRow += f.bezeichnung+" ";
- });
- tableRow+=" | ";
- tableRow+="";
- e.termine.forEach(function(f){
- tableRow += convertDateTime(f.von, "date")+" von "+convertDateTime(f.von, "time")+" bis "+convertDateTime(f.bis, "time")+" ";
- });
- tableRow+=" | ";
- tableRow += ""+e.methode+" | ";
- tableRow += ""+e.pruefungstyp_kurzbz+" | ";
- tableRow += ""+e.einzeln+" | ";
- tableRow += ""+e.mitarbeiter_uid+" | ";
- tableRow += ""+e.storniert+" | ";
- tableRow += "
";
- $("#prfTable tbody").first().append(tableRow);
- }
-
- });
+ if(data.error != 'true')
+ {
+ $("#prfTable tbody").first().html("");
+ var tableRow = "";
+ data.result.forEach(function(e){
+ if(e.storniert === false)
+ {
+ tableRow = "| "+e.titel+" | ";
+ tableRow += ""+e.studiensemester_kurzbz+" | ";
+ tableRow += "";
+ e.lehrveranstaltungen.forEach(function(f){
+ tableRow += f.bezeichnung+" ";
+ });
+ tableRow+=" | ";
+ tableRow+="";
+ e.termine.forEach(function(f){
+ tableRow += convertDateTime(f.von, "date")+" von "+convertDateTime(f.von, "time")+" bis "+convertDateTime(f.bis, "time")+" ";
+ });
+ tableRow+=" | ";
+ tableRow += ""+e.methode+" | ";
+ tableRow += ""+e.pruefungstyp_kurzbz+" | ";
+ tableRow += ""+e.einzeln+" | ";
+ tableRow += ""+e.mitarbeiter_uid+" | ";
+ tableRow += ""+e.storniert+" | ";
+ tableRow += "
";
+ $("#prfTable tbody").first().append(tableRow);
+ }
+ });
+ }
+ else
+ {
+ messageBox("message", data.errormsg, "red", "highlight", 1000);
+ }
}).complete(function(event, xhr, settings){
if($("#prfTable")[0].hasInitialized !== true)
{
diff --git a/cis/private/lehre/pruefung/pruefungsbewertung.js b/cis/private/lehre/pruefung/pruefungsbewertung.js
index 47edbb69c..6d2900866 100644
--- a/cis/private/lehre/pruefung/pruefungsbewertung.js
+++ b/cis/private/lehre/pruefung/pruefungsbewertung.js
@@ -89,11 +89,18 @@ function showTeilnehmer(pruefungstermin_id, lehrveranstaltung_id, lehrveranstalt
},
error: loadError
}).success(function(data){
- data.result.forEach(function(d)
+ if(data.error != 'true')
{
- noten += "";
- });
- noten += "";
+ data.result.forEach(function(d)
+ {
+ noten += "";
+ });
+ noten += "";
+ }
+ else
+ {
+ messageBox("message",data.errormsg, "red", "highlight", 1000);
+ }
}).complete(function(event, xhr, settings){
var notenSelect = noten;
$.ajax({
@@ -237,7 +244,16 @@ function updateBeurteilung(ele, pruefung_id)
},
error: loadError
}).success(function(data){
- markAsSaved(ele);
+ if(data.error != 'true')
+ {
+ markAsSaved(ele);
+ }
+ else
+ {
+ messageBox("message",data.errormsg, "red", "highlight", 1000);
+ }
+
+
}).complete(function(event, xhr, settings){
});
diff --git a/cis/private/lehre/pruefung/pruefungsbewertung.json.php b/cis/private/lehre/pruefung/pruefungsbewertung.json.php
index b3592488a..750628aff 100644
--- a/cis/private/lehre/pruefung/pruefungsbewertung.json.php
+++ b/cis/private/lehre/pruefung/pruefungsbewertung.json.php
@@ -1,313 +1,370 @@
-getBerechtigungen($uid);
-
-$studiensemester = new studiensemester();
-$aktStudiensemester = $studiensemester->getaktorNext();
-
-$method = filter_input(INPUT_POST, 'method');
-
-switch($method)
-{
- case 'getPruefungMitarbeiter':
- if($rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin'))
- {
- $mitarbeiter_uid = filter_input(INPUT_POST, 'mitarbeiter_uid');
- }
- else
- {
- $mitarbeiter_uid = $uid;
- }
- $data = getPruefungMitarbeiter($mitarbeiter_uid);
- break;
- case 'getNoten':
- $data = getNoten();
- break;
- case 'saveBeurteilung':
- $lehrveranstaltung_id = filter_input(INPUT_POST, 'lehrveranstaltung_id');
- $student_uid = filter_input(INPUT_POST, 'student_uid');
- if($rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin'))
- {
- $mitarbeiter_uid = filter_input(INPUT_POST, 'mitarbeiter_uid');
- }
- else
- {
- $mitarbeiter_uid = $uid;
- }
- $note = filter_input(INPUT_POST, 'note');
- $pruefung_id = filter_input(INPUT_POST, 'pruefung_id');
- $datum = filter_input(INPUT_POST, 'datum');
- $anmerkung = filter_input(INPUT_POST, 'anmerkung');
- $pruefungsanmeldung_id = filter_input(INPUT_POST, 'pruefungsanmeldung_id');
- $data = saveBeurteilung($lehrveranstaltung_id, $student_uid, $mitarbeiter_uid, $note, $pruefung_id, $datum, $anmerkung, $pruefungsanmeldung_id, $uid);
- break;
- case 'updateBeurteilung':
- $pruefung_id = filter_input(INPUT_POST, 'pruefung_id');
- $note = filter_input(INPUT_POST, 'note');
- $anmerkung = filter_input(INPUT_POST, 'anmerkung');
- $data = updateBeurteilung($pruefung_id, $note, $uid, $anmerkung);
- break;
- case 'loadPruefung':
- $pruefung_id = filter_input(INPUT_POST, 'pruefung_id');
- $data = loadPruefung($pruefung_id);
- break;
- case 'getBeurteilung':
- $pruefungsanmeldung_id = filter_input(INPUT_POST, 'pruefungsanmeldung_id');
- $data = getBeurteilung($pruefungsanmeldung_id);
- break;
- case 'getAnmeldungenTermin':
- $lehrveranstaltung_id = filter_input(INPUT_POST, 'lehrveranstaltung_id');
- $pruefungstermin_id = filter_input(INPUT_POST, 'pruefungstermin_id');
- $data = getAnmeldungenTermin($lehrveranstaltung_id, $pruefungstermin_id);
- break;
- default:
- break;
-}
-
-echo json_encode($data);
-
-/**
- * Lädt alle Prüfungen eines Lektors/Mitarbeiters
- * @param type $uid UID des Lektors/Mitarbeiters
- * @return Array
- */
-function getPruefungMitarbeiter($uid = null)
-{
- $lehrveranstaltung = new lehrveranstaltung();
- if($uid !== null)
- {
- $lehrveranstaltung->getLVByMitarbeiter($uid);
- $result = array();
- foreach($lehrveranstaltung->lehrveranstaltungen as $lv)
- {
- $pruefung = new pruefungCis();
- $pruefung->getPruefungByLv($lv->lehrveranstaltung_id);
- if(!empty($pruefung->lehrveranstaltungen))
- {
- foreach($pruefung->lehrveranstaltungen as $tempLv)
- {
- $prf = new pruefungCis($tempLv->pruefung_id);
- $prf->getTermineByPruefung();
- $tempLv->pruefung = $prf;
- }
- $lv->pruefung = $pruefung;
- array_push($result, $lv);
- }
- }
- }
-
- if(!empty($result))
- {
- $data['result']=$result;
- $data['error']='false';
- $data['errormsg']='';
- }
- else
- {
- $data['error']='true';
- $data['errormsg']="Keine Prüfungen vorhanden.";
- }
- return $data;
-}
-
-/**
- * Lädt alle Noten per AJAX aus der Datenbank
- * @return Array
- */
-function getNoten()
-{
- $note = new note();
- if($note->getAll())
- {
- $data['result']=$note->result;
- $data['error']='false';
- $data['errormsg']='';
- }
- else
- {
- $data['error']='true';
- $data['errormsg']=$note->errormsg;
- }
- return $data;
-}
-
-/**
- * Speichert eine Beurteilung
- * @param int $lehrveranstaltung_id ID der Lehrveranstaltung
- * @param String $student_uid UID des Studenten
- * @param String $mitarbeiter_uid UID des Lektors
- * @param int $note Prüfungsnote
- * @param int $pruefung_id ID der Prüfung
- * @param String $datum Datum (YYYY-MM-DD)
- * @param String $anmerkung Anmerkung zur Beurteilung
- * @param int $pruefungsanmeldung_id ID der Anmeldung
- * @param String $uid UID des aktuellen Benutzers
- * @return Arrray
- */
-function saveBeurteilung($lehrveranstaltung_id, $student_uid, $mitarbeiter_uid, $note, $pruefung_id, $datum, $anmerkung, $pruefungsanmeldung_id, $uid)
-{
- $pruefungCis = new pruefungCis($pruefung_id);
- $lehrveranstaltung = new lehrveranstaltung();
- $lehreinheiten = $lehrveranstaltung->getLehreinheitenOfLv($lehrveranstaltung_id, $student_uid);
- $pruefung = new pruefung();
- $pruefung->new = true;
- if(!empty($lehreinheiten))
- {
- $pruefung->lehreinheit_id = $lehreinheiten[0];
- $pruefung->student_uid = $student_uid;
- $pruefung->mitarbeiter_uid = $mitarbeiter_uid;
- $pruefung->note = $note;
- $pruefung->pruefungstyp_kurzbz = $pruefungCis->pruefungstyp_kurzbz;
- $pruefung->datum = $datum;
- $pruefung->anmerkung = $anmerkung;
- $pruefung->pruefungsanmeldung_id = $pruefungsanmeldung_id;
- $pruefung->insertvon = $uid;
- $pruefung->insertamum = date('Y-m-d H:i:s');
-
- $pruefungsanmeldung = new pruefungsanmeldung($pruefungsanmeldung_id);
- $pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id);
-
- $datum = new datum();
-// var_dump(date("Y-m-d", time()));
-// var_dump($pruefungstermin->von);
- if($datum->between("", date("Y-m-d", time()), $pruefungstermin->von))
- {
- if($pruefung->save())
- {
- $data['result']=$pruefung->pruefung_id;
- $data['error']='false';
- $data['errormsg']='';
- }
- else
- {
- $data['error']='true';
- $data['errormsg']=$pruefung->errormsg;
- }
- }
- else
- {
- $data['error']='true';
- $data['errormsg']="Prüfungstermin liegt nicht in der Vergangenheit.";
- }
- }
- else
- {
- $data['error']='true';
- $data['errormsg']="Keine Lehreinheiten vorhanden.";
- }
-
- return $data;
-}
-
-/**
- * Aktualisiert den Datensatz einer Beurteilung
- * @param int $pruefung_id ID der Prüfung
- * @param int $note Prüfungsnote
- * @param String $uid UID des aktuellen Benutzers
- * @return Array
- */
-function updateBeurteilung($pruefung_id, $note, $uid, $anmerkung)
-{
- $pruefung = new pruefung($pruefung_id);
- $pruefung->new = FALSE;
- $pruefung->note = $note;
- $pruefung->anmerkung = $anmerkung;
- $pruefung->updatevon = $uid;
- $pruefung->updateamum = date('Y-m-d H:i:s');
- if($pruefung->save())
- {
- $data['result']=$pruefung->pruefung_id;
- $data['error']='false';
- $data['errormsg']='';
- }
- else
- {
- $data['error']='true';
- $data['errormsg']=$pruefung->errormsg;
- }
- return $data;
-}
-
-/**
- * Lädt die Beurteilung zu einer Anmeldung
- * @param int $pruefungsanmeldung_id ID einer Anmeldung
- * @return Array
- */
-function getBeurteilung($pruefungsanmeldung_id)
-{
- $pruefung = new pruefung();
- if($pruefung->getPruefungByAnmeldung($pruefungsanmeldung_id))
- {
- $data['result']=$pruefung->pruefung_id;
- $data['error']='false';
- $data['errormsg']='';
- }
- else
- {
- $data['error']='true';
- $data['errormsg']=$pruefung->errormsg;
- }
- return $data;
-}
-
-/**
- * Lädt alle Anmeldungen zu einem Prüfungstermin
- * @return Array
- */
-function getAnmeldungenTermin($lehrveranstaltung_id, $pruefungstermin_id)
-{
- $pruefungsanmeldung = new pruefungsanmeldung();
- $anmeldungen = $pruefungsanmeldung->getAnmeldungenByTermin($pruefungstermin_id, $lehrveranstaltung_id);
- foreach($anmeldungen as $a)
- {
- $student = new student($a->uid);
- $temp = new stdClass();
- $temp->vorname = $student->vorname;
- $temp->nachname = $student->nachname;
- $temp->uid = $student->uid;
- $a->student = $temp;
- $pruefung = new pruefung();
- $pruefung->getPruefungByAnmeldung($a->pruefungsanmeldung_id);
- $a->pruefung = $pruefung;
- }
- if(!empty($anmeldungen))
- {
- $data['result']=$anmeldungen;
- $data['error']='false';
- $data['errormsg']='';
- }
- else
- {
- $data['error']='true';
- if($pruefungsanmeldung->errormsg !== null)
- {
- $data['errormsg']=$pruefungsanmeldung->errormsg;
- }
- else
- {
- $data['errormsg']= 'Keine Anmeldungen vorhanden';
- }
- }
- return $data;
+getBerechtigungen($uid);
+
+$studiensemester = new studiensemester();
+$aktStudiensemester = $studiensemester->getaktorNext();
+
+$method = filter_input(INPUT_POST, 'method');
+
+switch($method)
+{
+ case 'getPruefungMitarbeiter':
+ if($rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin'))
+ {
+ $mitarbeiter_uid = filter_input(INPUT_POST, 'mitarbeiter_uid');
+ }
+ else if($rechte->isBerechtigt('lehre/pruefungsbeurteilung'))
+ {
+ $mitarbeiter_uid = $uid;
+ }
+ else
+ {
+ $data['result']='false';
+ $data['error']='true';
+ $data['errormsg']='Sie haben keine Berechtigung.';
+ break;
+ }
+ $data = getPruefungMitarbeiter($mitarbeiter_uid);
+ break;
+ case 'getNoten':
+ if(!($rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin')) && !($rechte->isBerechtigt('lehre/pruefungsbeurteilung')))
+ {
+ $data['result']='false';
+ $data['error']='true';
+ $data['errormsg']='Sie haben keine Berechtigung.';
+ break;
+ }
+ $data = getNoten();
+ break;
+ case 'saveBeurteilung':
+ $lehrveranstaltung_id = filter_input(INPUT_POST, 'lehrveranstaltung_id');
+ $student_uid = filter_input(INPUT_POST, 'student_uid');
+ if($rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin'))
+ {
+ $mitarbeiter_uid = filter_input(INPUT_POST, 'mitarbeiter_uid');
+ }
+ else if($rechte->isBerechtigt('lehre/pruefungsbeurteilung'))
+ {
+ $mitarbeiter_uid = $uid;
+ }
+ else
+ {
+ $data['result']='false';
+ $data['error']='true';
+ $data['errormsg']='Sie haben keine Berechtigung.';
+ break;
+ }
+ $note = filter_input(INPUT_POST, 'note');
+ $pruefung_id = filter_input(INPUT_POST, 'pruefung_id');
+ $datum = filter_input(INPUT_POST, 'datum');
+ $anmerkung = filter_input(INPUT_POST, 'anmerkung');
+ $pruefungsanmeldung_id = filter_input(INPUT_POST, 'pruefungsanmeldung_id');
+ $data = saveBeurteilung($lehrveranstaltung_id, $student_uid, $mitarbeiter_uid, $note, $pruefung_id, $datum, $anmerkung, $pruefungsanmeldung_id, $uid);
+ break;
+ case 'updateBeurteilung':
+ if($rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin'))
+ {
+ $mitarbeiter_uid = filter_input(INPUT_POST, 'mitarbeiter_uid');
+ }
+ else if($rechte->isBerechtigt('lehre/pruefungsbeurteilung'))
+ {
+ $mitarbeiter_uid = $uid;
+ }
+ else
+ {
+ $data['result']='false';
+ $data['error']='true';
+ $data['errormsg']='Sie haben keine Berechtigung.';
+ break;
+ }
+ $pruefung_id = filter_input(INPUT_POST, 'pruefung_id');
+ $note = filter_input(INPUT_POST, 'note');
+ $anmerkung = filter_input(INPUT_POST, 'anmerkung');
+ $data = updateBeurteilung($pruefung_id, $note, $mitarbeiter_uid, $anmerkung);
+ break;
+ case 'loadPruefung':
+ if(!($rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin')) && ($rechte->isBerechtigt('lehre/pruefungsbeurteilung')))
+ {
+ $data['result']='false';
+ $data['error']='true';
+ $data['errormsg']='Sie haben keine Berechtigung.';
+ break;
+ }
+ $pruefung_id = filter_input(INPUT_POST, 'pruefung_id');
+ $data = loadPruefung($pruefung_id);
+ break;
+ case 'getBeurteilung':
+ if(!($rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin')) && !($rechte->isBerechtigt('lehre/pruefungsbeurteilung')))
+ {
+ $data['result']='false';
+ $data['error']='true';
+ $data['errormsg']='Sie haben keine Berechtigung.';
+ break;
+ }
+ $pruefungsanmeldung_id = filter_input(INPUT_POST, 'pruefungsanmeldung_id');
+ $data = getBeurteilung($pruefungsanmeldung_id);
+ break;
+ case 'getAnmeldungenTermin':
+ if(!($rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin')) && !($rechte->isBerechtigt('lehre/pruefungsbeurteilung')))
+ {
+ $data['result']='false';
+ $data['error']='true';
+ $data['errormsg']='Sie haben keine Berechtigung.';
+ break;
+ }
+ $lehrveranstaltung_id = filter_input(INPUT_POST, 'lehrveranstaltung_id');
+ $pruefungstermin_id = filter_input(INPUT_POST, 'pruefungstermin_id');
+ $data = getAnmeldungenTermin($lehrveranstaltung_id, $pruefungstermin_id);
+ break;
+ default:
+ break;
+}
+
+echo json_encode($data);
+
+/**
+ * Lädt alle Prüfungen eines Lektors/Mitarbeiters
+ * @param type $uid UID des Lektors/Mitarbeiters
+ * @return Array
+ */
+function getPruefungMitarbeiter($uid = null)
+{
+ $lehrveranstaltung = new lehrveranstaltung();
+ if($uid !== null)
+ {
+ $lehrveranstaltung->getLVByMitarbeiter($uid);
+ $result = array();
+ foreach($lehrveranstaltung->lehrveranstaltungen as $lv)
+ {
+ $pruefung = new pruefungCis();
+ $pruefung->getPruefungByLv($lv->lehrveranstaltung_id);
+ if(!empty($pruefung->lehrveranstaltungen))
+ {
+ foreach($pruefung->lehrveranstaltungen as $tempLv)
+ {
+ $prf = new pruefungCis($tempLv->pruefung_id);
+ $prf->getTermineByPruefung();
+ $tempLv->pruefung = $prf;
+ }
+ $lv->pruefung = $pruefung;
+ array_push($result, $lv);
+ }
+ }
+ }
+
+ if(!empty($result))
+ {
+ $data['result']=$result;
+ $data['error']='false';
+ $data['errormsg']='';
+ }
+ else
+ {
+ $data['error']='true';
+ $data['errormsg']="Keine Prüfungen vorhanden.";
+ }
+ return $data;
+}
+
+/**
+ * Lädt alle Noten per AJAX aus der Datenbank
+ * @return Array
+ */
+function getNoten()
+{
+ $note = new note();
+ if($note->getAll())
+ {
+ $data['result']=$note->result;
+ $data['error']='false';
+ $data['errormsg']='';
+ }
+ else
+ {
+ $data['error']='true';
+ $data['errormsg']=$note->errormsg;
+ }
+ return $data;
+}
+
+/**
+ * Speichert eine Beurteilung
+ * @param int $lehrveranstaltung_id ID der Lehrveranstaltung
+ * @param String $student_uid UID des Studenten
+ * @param String $mitarbeiter_uid UID des Lektors
+ * @param int $note Prüfungsnote
+ * @param int $pruefung_id ID der Prüfung
+ * @param String $datum Datum (YYYY-MM-DD)
+ * @param String $anmerkung Anmerkung zur Beurteilung
+ * @param int $pruefungsanmeldung_id ID der Anmeldung
+ * @param String $uid UID des aktuellen Benutzers
+ * @return Arrray
+ */
+function saveBeurteilung($lehrveranstaltung_id, $student_uid, $mitarbeiter_uid, $note, $pruefung_id, $datum, $anmerkung, $pruefungsanmeldung_id, $uid)
+{
+ $pruefungCis = new pruefungCis($pruefung_id);
+ $lehrveranstaltung = new lehrveranstaltung();
+ $lehreinheiten = $lehrveranstaltung->getLehreinheitenOfLv($lehrveranstaltung_id, $student_uid);
+ $pruefung = new pruefung();
+ $pruefung->new = true;
+ if(!empty($lehreinheiten))
+ {
+ $pruefung->lehreinheit_id = $lehreinheiten[0];
+ $pruefung->student_uid = $student_uid;
+ $pruefung->mitarbeiter_uid = $mitarbeiter_uid;
+ $pruefung->note = $note;
+ $pruefung->pruefungstyp_kurzbz = $pruefungCis->pruefungstyp_kurzbz;
+ $pruefung->datum = $datum;
+ $pruefung->anmerkung = $anmerkung;
+ $pruefung->pruefungsanmeldung_id = $pruefungsanmeldung_id;
+ $pruefung->insertvon = $uid;
+ $pruefung->insertamum = date('Y-m-d H:i:s');
+
+ $pruefungsanmeldung = new pruefungsanmeldung($pruefungsanmeldung_id);
+ $pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id);
+
+ $datum = new datum();
+// var_dump(date("Y-m-d", time()));
+// var_dump($pruefungstermin->von);
+ if($datum->between("", date("Y-m-d", time()), $pruefungstermin->von))
+ {
+ if($pruefung->save())
+ {
+ $data['result']=$pruefung->pruefung_id;
+ $data['error']='false';
+ $data['errormsg']='';
+ }
+ else
+ {
+ $data['error']='true';
+ $data['errormsg']=$pruefung->errormsg;
+ }
+ }
+ else
+ {
+ $data['error']='true';
+ $data['errormsg']="Prüfungstermin liegt nicht in der Vergangenheit.";
+ }
+ }
+ else
+ {
+ $data['error']='true';
+ $data['errormsg']="Keine Lehreinheiten vorhanden.";
+ }
+
+ return $data;
+}
+
+/**
+ * Aktualisiert den Datensatz einer Beurteilung
+ * @param int $pruefung_id ID der Prüfung
+ * @param int $note Prüfungsnote
+ * @param String $uid UID des aktuellen Benutzers
+ * @return Array
+ */
+function updateBeurteilung($pruefung_id, $note, $uid, $anmerkung)
+{
+ $pruefung = new pruefung($pruefung_id);
+ $pruefung->new = FALSE;
+ $pruefung->note = $note;
+ $pruefung->anmerkung = $anmerkung;
+ $pruefung->updatevon = $uid;
+ $pruefung->updateamum = date('Y-m-d H:i:s');
+ if($pruefung->save())
+ {
+ $data['result']=$pruefung->pruefung_id;
+ $data['error']='false';
+ $data['errormsg']='';
+ }
+ else
+ {
+ $data['error']='true';
+ $data['errormsg']=$pruefung->errormsg;
+ }
+ return $data;
+}
+
+/**
+ * Lädt die Beurteilung zu einer Anmeldung
+ * @param int $pruefungsanmeldung_id ID einer Anmeldung
+ * @return Array
+ */
+function getBeurteilung($pruefungsanmeldung_id)
+{
+ $pruefung = new pruefung();
+ if($pruefung->getPruefungByAnmeldung($pruefungsanmeldung_id))
+ {
+ $data['result']=$pruefung->pruefung_id;
+ $data['error']='false';
+ $data['errormsg']='';
+ }
+ else
+ {
+ $data['error']='true';
+ $data['errormsg']=$pruefung->errormsg;
+ }
+ return $data;
+}
+
+/**
+ * Lädt alle Anmeldungen zu einem Prüfungstermin
+ * @return Array
+ */
+function getAnmeldungenTermin($lehrveranstaltung_id, $pruefungstermin_id)
+{
+ $pruefungsanmeldung = new pruefungsanmeldung();
+ $anmeldungen = $pruefungsanmeldung->getAnmeldungenByTermin($pruefungstermin_id, $lehrveranstaltung_id);
+ foreach($anmeldungen as $a)
+ {
+ $student = new student($a->uid);
+ $temp = new stdClass();
+ $temp->vorname = $student->vorname;
+ $temp->nachname = $student->nachname;
+ $temp->uid = $student->uid;
+ $a->student = $temp;
+ $pruefung = new pruefung();
+ $pruefung->getPruefungByAnmeldung($a->pruefungsanmeldung_id);
+ $a->pruefung = $pruefung;
+ }
+ if(!empty($anmeldungen))
+ {
+ $data['result']=$anmeldungen;
+ $data['error']='false';
+ $data['errormsg']='';
+ }
+ else
+ {
+ $data['error']='true';
+ if($pruefungsanmeldung->errormsg !== null)
+ {
+ $data['errormsg']=$pruefungsanmeldung->errormsg;
+ }
+ else
+ {
+ $data['errormsg']= 'Keine Anmeldungen vorhanden';
+ }
+ }
+ return $data;
}
\ No newline at end of file
diff --git a/cis/private/lehre/pruefung/pruefungstermin.json.php b/cis/private/lehre/pruefung/pruefungstermin.json.php
index f8536061f..ee2d39f76 100644
--- a/cis/private/lehre/pruefung/pruefungstermin.json.php
+++ b/cis/private/lehre/pruefung/pruefungstermin.json.php
@@ -58,10 +58,17 @@ switch($method)
{
$mitarbeiter_uid = $_REQUEST["mitarbeiter_uid"];
}
- else
+ else if($rechte->isBerechtigt('lehre/pruefungstermin'))
{
$mitarbeiter_uid = $uid;
}
+ else
+ {
+ $data['result']='false';
+ $data['error']='true';
+ $data['errormsg']='Sie haben keine Berechtigung.';
+ break;
+ }
$data = savePruefungstermin($mitarbeiter_uid, $studiensemester_kurzbz, $pruefungsfenster_id, $pruefungstyp_kurzbz, $titel, $beschreibung, $methode, $einzeln, $lehrveranstaltungen, $termine, $pruefungsintervall);
break;
case 'getLehrveranstaltungenByMitarbeiter':
@@ -90,22 +97,50 @@ switch($method)
{
$mitarbeiter_uid = $_REQUEST["mitarbeiter_uid"];
}
- else
+ else if($rechte->isBerechtigt('lehre/pruefungstermin'))
{
$mitarbeiter_uid = $uid;
}
+ else
+ {
+ $data['result']='false';
+ $data['error']='true';
+ $data['errormsg']='Sie haben keine Berechtigung.';
+ break;
+ }
$data = updatePruefungstermin($mitarbeiter_uid, $pruefung_id, $studiensemester_kurzbz, $pruefungsfenster_id, $pruefungstyp_kurzbz, $titel, $beschreibung, $methode, $einzeln, $lehrveranstaltungen, $termine, $termineNeu, $pruefungsintervall);
break;
case 'deleteLehrveranstaltungFromPruefung':
+ if(!($rechte->isBerechtigt('lehre/pruefungsterminAdmin')) && !($rechte->isBerechtigt('lehre/pruefungstermin')))
+ {
+ $data['result']='false';
+ $data['error']='true';
+ $data['errormsg']='Sie haben keine Berechtigung.';
+ break;
+ }
$lvId = $_POST["lehrveranstaltung_id"];
$pruefung_id = $_POST["pruefung_id"];
$data = deleteLehrveranstaltungFromPruefung($lvId, $pruefung_id);
break;
case 'stornoPruefung':
+ if(!($rechte->isBerechtigt('lehre/pruefungsterminAdmin')) && !($rechte->isBerechtigt('lehre/pruefungstermin')))
+ {
+ $data['result']='false';
+ $data['error']='true';
+ $data['errormsg']='Sie haben keine Berechtigung.';
+ break;
+ }
$pruefung_id = $_REQUEST["pruefung_id"];
$data = stornoPruefung($pruefung_id);
break;
case 'deleteTermin':
+ if(!($rechte->isBerechtigt('lehre/pruefungsterminAdmin')) && !($rechte->isBerechtigt('lehre/pruefungstermin')))
+ {
+ $data['result']='false';
+ $data['error']='true';
+ $data['errormsg']='Sie haben keine Berechtigung.';
+ break;
+ }
$pruefung_id = $_REQUEST["pruefung_id"];
$pruefungstermin_id = $_REQUEST["pruefungstermin_id"];
$data = deleteTermin($pruefung_id, $pruefungstermin_id);
@@ -115,10 +150,17 @@ switch($method)
{
$data = getAllPruefungen($_REQUEST["uid"]);
}
- else
+ else if($rechte->isBerechtigt('lehre/pruefungstermin'))
{
$data = getAllPruefungen($uid);
}
+ else
+ {
+ $data['result']='false';
+ $data['error']='true';
+ $data['errormsg']='Sie haben keine Berechtigung.';
+ break;
+ }
break;
default:
break;