diff --git a/cis/private/lehre/pruefung/pruefung.js.php b/cis/private/lehre/pruefung/pruefung.js.php
index 9ef84e889..15bd195ee 100644
--- a/cis/private/lehre/pruefung/pruefung.js.php
+++ b/cis/private/lehre/pruefung/pruefung.js.php
@@ -758,9 +758,10 @@ function convertDateTime(string, type)
* Lädt die Anmeldungen zu einer Prüfung
* @param {type} pruefungstermin_id ID des Prüfungstermins
* @param {type} lehrveranstaltung_id ID der Lehrveranstaltung
+ * @param saveReihungAfterShow speichert Reihung neu wenn true
* @returns {undefined}
*/
-function showAnmeldungen(pruefungstermin_id, lehrveranstaltung_id)
+function showAnmeldungen(pruefungstermin_id, lehrveranstaltung_id, saveReihungAfterShow = false)
{
$("#kommentar").empty();
$("#kommentarSpeichernButton").empty();
@@ -778,6 +779,9 @@ function showAnmeldungen(pruefungstermin_id, lehrveranstaltung_id)
writeAnmeldungen(data);
$("#sortable").sortable();
$("#sortable").disableSelection();
+
+ if(saveReihungAfterShow)
+ saveReihung(pruefungstermin_id, lehrveranstaltung_id);
}
});
}
@@ -806,7 +810,8 @@ function writeAnmeldungen(data)
{
case 'angemeldet':
liste += "
"+vorname+" "+nachname+"";
- liste += ""+count+"
' onclick='anmeldungBestaetigen(\""+d.pruefungsanmeldung_id+"\", \""+terminId+"\", \""+lehrveranstaltung_id+"\");'>
";
+ liste += ""+count+"
' onclick='anmeldungBestaetigen(\""+d.pruefungsanmeldung_id+"\", \""+terminId+"\", \""+lehrveranstaltung_id+"\");'>";
+ liste += "
";
if(d.wuensche !== null)
{
liste += "";
@@ -945,6 +950,43 @@ function anmeldungBestaetigen(pruefungsanmeldung_id, termin_id, lehrveranstaltun
});
}
+/**
+ * Löscht eine Prüfungsanmeldung
+ * @param {type} pruefungsanmeldung_id ID der Prüfungsanmeldung
+ * @param {type} termin_id ID des Prüfungstermines
+ * @param {type} lehrveranstaltung_id ID der Lehrveranstaltung
+ * @returns {undefined}
+ */
+function anmeldungLoeschen(pruefungsanmeldung_id, termin_id, lehrveranstaltung_id)
+{
+ if (!confirm("Möchten Sie die Anmeldung wirklich löschen?"))
+ return undefined;
+
+ $.ajax({
+ dataType: 'json',
+ url: "./pruefungsanmeldung.json.php",
+ type: "POST",
+ data: {
+ method: "anmeldungLoeschen",
+ pruefungsanmeldung_id: pruefungsanmeldung_id
+ },
+ error: loadError,
+ success: function(data){
+ if(data.error === 'false' && data.result === true)
+ {
+ if(termin_id !== 'undefined' && lehrveranstaltung_id !== 'undefined')
+ {
+ showAnmeldungen(termin_id, lehrveranstaltung_id, true);
+ }
+ }
+ else
+ {
+ messageBox("message", data.errormsg, "red", "highlight", 1000);
+ }
+ }
+ });
+}
+
/**
* Ändert den Status aller Anmeldungen eines Termins auf "bestätigt"
* @param {type} termin_id ID des Prüfungstermines
diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php
index 9c30427c3..e96f0fcea 100644
--- a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php
+++ b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php
@@ -97,6 +97,9 @@ switch($method)
case 'anmeldungBestaetigen':
$data = anmeldungBestaetigen($uid);
break;
+ case 'anmeldungLoeschen':
+ $data = anmeldungLoeschen();
+ break;
case 'alleBestaetigen':
$data = alleBestaetigen($uid);
break;
@@ -1066,6 +1069,30 @@ function anmeldungBestaetigen($uid)
return $data;
}
+/**
+ * Löscht eine Prüfungsanmeldung
+ * @return Array
+ */
+function anmeldungLoeschen()
+{
+ $pruefungsanmeldung_id = $_REQUEST["pruefungsanmeldung_id"];
+ $anmeldung = new pruefungsanmeldung();
+
+ if($anmeldung->delete($pruefungsanmeldung_id))
+ {
+ $data['result']=true;
+ $data['error']='false';
+ $data['errormsg']='';
+ }
+ else
+ {
+ $data['error']='true';
+ $data['errormsg']=$anmeldung->errormsg;
+ }
+
+ return $data;
+}
+
/**
* Lädt alle Studiengänge
* @return Array