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 += "
    "+d.wuensche+"'>
    "; @@ -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