diff --git a/cis/private/lehre/pruefung/pruefungsbewertung.js.php b/cis/private/lehre/pruefung/pruefungsbewertung.js.php
new file mode 100644
index 000000000..e6369eb97
--- /dev/null
+++ b/cis/private/lehre/pruefung/pruefungsbewertung.js.php
@@ -0,0 +1,300 @@
+
+ */
+
+
+require_once('../../../../config/cis.config.inc.php');
+require_once('../../../../include/phrasen.class.php');
+require_once('../../../../include/globals.inc.php');
+require_once('../../../../include/sprache.class.php');
+
+$sprache = getSprache();
+$lang = new sprache();
+$lang->load($sprache);
+$p = new phrasen($sprache);
+
+?>
+
+
+/**
+ * Error-Behandlung bei Ajax Requests
+ */
+
+
+function loadError(xhr, textStatus, errorThrown)
+{
+ if(xhr.status==200)
+ alert('Fehler:'+xhr.responseText);
+ else
+ alert('Fehler beim Laden der Daten. ErrorNr:'+xhr.status);
+}
+
+/**
+ * Lädt alle Prüfungen eines Mitarbeiters
+ * @returns {undefined}
+ */
+function loadPruefungenMitarbeiter()
+{
+ var uid = $("#mitarbeiter_uid").val();
+ $.ajax({
+ dataType: 'json',
+ url: "./pruefungsbewertung.json.php",
+ type: "POST",
+ data: {
+ method: "getPruefungMitarbeiter",
+ mitarbeiter_uid: uid
+ },
+ error: loadError
+ }).success(function(data){
+ $("#pruefungen").find("h2").first().text("t('pruefung/pruefungPruefungenTitle'); ?> ("+uid+")");
+ if(data.error === 'false')
+ {
+ var liste = "";
+ data.result.forEach(function(e){
+ liste += "
"+e.bezeichnung+"";
+ e.pruefung.lehrveranstaltungen.forEach(function(d)
+ {
+ d.pruefung.termine.forEach(function(f){
+ liste += "- "+convertDateTime(f.von)+"
";
+ });
+ })
+ liste += "
";
+ });
+ $("#pruefungenListe").html(liste);
+ }
+ else
+ {
+ $("#pruefungenListe").html(data.errormsg);
+ }
+ });
+}
+
+/**
+ * Lädt die Anmeldungen zu einer Prüfung
+ * @param {type} pruefungstermin_id ID des Prüfungstermins
+ * @param {type} lehrveranstaltung_id ID der Lehrveranstaltung
+ * @returns {undefined}
+ */
+function showTeilnehmer(pruefungstermin_id, lehrveranstaltung_id, lehrveranstaltung, datum)
+{
+ $("#modalOverlay").addClass("modalOverlay");
+ $("#anmeldeDaten").empty();
+ $("#anmeldungen").children("h2").text("Bewertungen zu "+lehrveranstaltung+" ("+datum+")");
+ var noten = "";
+ }
+ else
+ {
+ messageBox("message",data.errormsg, "red", "highlight", 1000);
+ }
+ }).complete(function(event, xhr, settings){
+ var notenSelect = noten;
+ $.ajax({
+ dataType: 'json',
+ url: "./pruefungsbewertung.json.php",
+ type: "POST",
+ data: {
+ method: "getAnmeldungenTermin",
+ pruefungstermin_id: pruefungstermin_id,
+ lehrveranstaltung_id: lehrveranstaltung_id
+ },
+ error: loadError
+ }).success(function(data){
+ var entry = "";
+ if(data.error === "false")
+ {
+ data.result.forEach(function(d)
+ {
+ if(d.status_kurzbz === "bestaetigt")
+ {
+ var datum = d.von.split(" ");
+ if(d.pruefung.note===null)
+ {
+ entry = "";
+ }
+ else
+ {
+ entry = "";
+ }
+ $("#anmeldeDaten").append(entry);
+ if(d.pruefung.note!==null)
+ {
+ markAsSaved(document.getElementById(d.student.uid).firstChild);
+ $("#"+d.student.uid).find("select").val(d.pruefung.note);
+ }
+ else
+ {
+ markAsUnsaved(document.getElementById(d.student.uid).firstChild);
+ }
+ var t = $("#note_anmerkung_"+d.student.uid).parent().find('select').first().width();
+ $("#note_anmerkung_"+d.student.uid).width(t);
+ }
+ });
+ if(entry === "")
+ {
+ entry = "Keine Anmeldungen vorhanden.
";
+ $("#anmeldeDaten").html(entry);
+ }
+ }
+ else
+ {
+ entry = "";
+ $("#anmeldeDaten").html(entry);
+ }
+ }).complete(function(event, xhr, settings){
+ $("#modalOverlay").removeClass("modalOverlay");
+ });
+ });
+}
+
+/**
+ * Speichert eine Beurteilung
+ * @param {type} ele Element das die Funtkion aufruft
+ * @param {type} datum
+ * @param {type} pruefungsanmeldung_id ID der Anmeldung
+ * @param {type} pruefung_id ID der Prüfung
+ * @param {type} lehrveranstaltung_id ID der Lehrveranstaltung
+ * @returns {void}
+ */
+function saveBeurteilung(ele, datum, pruefungsanmeldung_id, pruefung_id, lehrveranstaltung_id)
+{
+ var student_uid = $(ele).parent().attr("id");
+ var mitarbeiter_uid = $("#mitarbeiter_uid").val();
+ var note = $(ele).parent().find("select").val();
+ if((note === "null") || (note===null))
+ {
+ messageBox("message", "Keine Note ausgewählt.", "red", "highlight", 1000);
+ return false;
+ }
+ var anmerkung = $("#note_anmerkung_"+student_uid).val();
+
+ $.ajax({
+ dataType: 'json',
+ url: "./pruefungsbewertung.json.php",
+ type: "POST",
+ data: {
+ method: "saveBeurteilung",
+ pruefung_id: pruefung_id,
+ lehrveranstaltung_id: lehrveranstaltung_id,
+ student_uid: student_uid,
+ mitarbeiter_uid: mitarbeiter_uid,
+ note: note,
+ //TODO Datum der Prüfung oder der Beurteilung?????
+ datum: datum,
+ anmerkung: anmerkung,
+ pruefungsanmeldung_id: pruefungsanmeldung_id
+ },
+ error: loadError
+ }).success(function(data){
+ if(data.error != 'true')
+ {
+ markAsSaved(ele);
+ $(ele).attr("onclick", "updateBeurteilung(this,\""+data.result+"\")");
+ }
+ else
+ {
+ messageBox("message",data.errormsg, "red", "highlight", 1000);
+ $(ele).parent().find("select").val(null);
+ }
+ }).complete(function(event, xhr, settings){
+
+ });
+}
+
+/**
+ * Aktualisiert eine Beurteilung
+ * @param {type} ele Element das die Funtkion aufruft
+ * @param {type} pruefung_id ID der Prüfung
+ * @returns {undefined}
+ */
+function updateBeurteilung(ele, pruefung_id)
+{
+ var student_uid = $(ele).parent().attr("id");
+ var mitarbeiter_uid = $("#mitarbeiter_uid").val();
+ var note = $(ele).parent().find("select").val();
+ var anmerkung = $("#note_anmerkung_"+student_uid).val();
+ if((note === "null") || (note===null))
+ {
+ messageBox("message", "Keine Note ausgewählt.", "red", "highlight", 1000);
+ return false;
+ }
+ $.ajax({
+ dataType: 'json',
+ url: "./pruefungsbewertung.json.php",
+ type: "POST",
+ data: {
+ method: "updateBeurteilung",
+ pruefung_id: pruefung_id,
+ note: note,
+ anmerkung: anmerkung
+ },
+ error: loadError
+ }).success(function(data){
+ if(data.error != 'true')
+ {
+ markAsSaved(ele);
+ }
+ else
+ {
+ messageBox("message",data.errormsg, "red", "highlight", 1000);
+ }
+
+
+ }).complete(function(event, xhr, settings){
+
+ });
+}
+
+/**
+ * Markiert einen Datensatz als gespeichert
+ * @param {type} ele Element das die Funtkion aufruft
+ * @returns {undefined}
+ */
+function markAsSaved(ele)
+{
+ $(ele).parent().removeClass("unsaved");
+ $(ele).parent().addClass("saved");
+}
+
+/**
+ * Markiert einen Datensatz als ungespeichert
+ * @param {type} ele Element das die Funtkion aufruft
+ * @returns {undefined}
+ */
+function markAsUnsaved(ele)
+{
+ $(ele).parent().removeClass("saved");
+ $(ele).parent().addClass("unsaved");
+}
diff --git a/cis/private/lehre/pruefung/pruefungsbewertung.php b/cis/private/lehre/pruefung/pruefungsbewertung.php
index 28894e13c..7137e0a35 100755
--- a/cis/private/lehre/pruefung/pruefungsbewertung.php
+++ b/cis/private/lehre/pruefung/pruefungsbewertung.php
@@ -62,7 +62,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
-
+
diff --git a/locale/it-IT/anwesenheitsliste.php b/locale/it-IT/anwesenheitsliste.php
index dc11dec87..6e0a0ca7a 100755
--- a/locale/it-IT/anwesenheitsliste.php
+++ b/locale/it-IT/anwesenheitsliste.php
@@ -2,8 +2,9 @@
$this->phrasen['anwesenheitsliste/angerechnet']='riconosciuto';
$this->phrasen['anwesenheitsliste/anleitungImportFunktion']='copiare i presenti elementi nella memoria temporanea per compilare la colonna import del modulo generale voti';
$this->phrasen['anwesenheitsliste/anwesenheit']='presenza';
-$this->phrasen['anwesenheitsliste/anwesenheitslisten']='elenco presenti';
-$this->phrasen['anwesenheitsliste/anwesenheitslistenMitBildern']='elenchi presenti con foto';
+$this->phrasen['anwesenheitsliste/anwesenheitslisten']='elenco studenti';
+$this->phrasen['anwesenheitsliste/anwesenheitslistenMitBildern']='elenchi
+studenti con foto';
$this->phrasen['anwesenheitsliste/erstellenDerListeKlicken']='Per creare la lista cliccare sul gruppo desiderato!';
$this->phrasen['anwesenheitsliste/fehlerhafteParameteruebergabe']='errore di trasferimento dei parametri. Si prega di riprovare';
$this->phrasen['anwesenheitsliste/fehlstunden']='ore di assenza';