mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-24 02:12:17 +00:00
Prüfungsverwaltung: Prüfer kann Beurteilungen eintragen
This commit is contained in:
@@ -146,7 +146,6 @@ function writePruefungsfenster(data)
|
||||
{
|
||||
var prfFensterId = getUrlVars()["prfFensterId"];
|
||||
$("#pruefungsfenster").empty();
|
||||
// $("#pruefungsfenster").append("<option value='null'>Prüfungsfenster auswählen...</option>");
|
||||
$.each(data.result, function(i, v)
|
||||
{
|
||||
if(v.oe_kurzbz !== null)
|
||||
@@ -555,42 +554,6 @@ function refresh()
|
||||
loadPruefungenGesamt();
|
||||
}
|
||||
|
||||
/**
|
||||
* Lädt alle Prüfungen eines Mitarbeiters
|
||||
* @returns {undefined}
|
||||
*/
|
||||
//function loadPruefungenMitarbeiter()
|
||||
//{
|
||||
// var uid = $("#mitarbeiter_uid").val();
|
||||
// $.ajax({
|
||||
// dataType: 'json',
|
||||
// url: "./pruefungsanmeldung.json.php",
|
||||
// type: "POST",
|
||||
// data: {
|
||||
// method: "getPruefungMitarbeiter",
|
||||
// uid: uid
|
||||
// },
|
||||
// error: loadError
|
||||
// }).success(function(data){
|
||||
// if(data.error === 'false')
|
||||
// {
|
||||
// var liste = "";
|
||||
// data.result.forEach(function(e){
|
||||
// liste += "<li>"+e.bezeichnung+"<ul>";
|
||||
// e.pruefung.termine.forEach(function(d){
|
||||
// liste += "<li> <a onclick='showAnmeldungen(\""+d.pruefungstermin_id+"\", \""+e.lehrveranstaltung_id+"\");'>"+convertDateTime(d.von)+"</a></li>";
|
||||
// })
|
||||
// liste += "</li></ul>";
|
||||
// });
|
||||
// $("#pruefungenListe").append(liste);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// $("#pruefungenListe").html(data.errormsg);
|
||||
// }
|
||||
// });
|
||||
//}
|
||||
|
||||
/**
|
||||
* Konvertiert einen String im Fromat JJJJ-MM-TT hh:mm:ss zu DD.MM.JJJJ oder HH:MM
|
||||
* @param {String} string Format: JJJJ-MM-TT hh:mm:ss
|
||||
@@ -643,60 +606,65 @@ function showAnmeldungen(pruefungstermin_id, lehrveranstaltung_id)
|
||||
},
|
||||
error: loadError
|
||||
}).success(function(data){
|
||||
if(data.error === 'false')
|
||||
{
|
||||
var terminId = data.result[0].pruefungstermin_id;
|
||||
var lehrveranstaltung_id = data.result[0].lehrveranstaltung_id;
|
||||
var liste = "<ul id='sortable'>";
|
||||
var count = 0;
|
||||
data.result.forEach(function(d){
|
||||
|
||||
count++;
|
||||
switch(d.status_kurzbz)
|
||||
{
|
||||
case 'angemeldet':
|
||||
liste += "<li class='ui-state-default' id='"+d.student.uid+"'><span class='ui-icon ui-icon-arrowthick-2-n-s'></span><a href='#' onclick='showKommentar(\""+d.student.vorname+"\",\""+d.student.nachname+"\", \""+d.pruefungsanmeldung_id+"\", \""+d.kommentar+"\", \""+terminId+"\", \""+lehrveranstaltung_id+"\");'>"+d.student.vorname+" "+d.student.nachname+"</a>";
|
||||
liste += "<div style='width: 3%; text-align: right;'>"+count+"</div><div style='text-align: center; width: 25%;'><input style='vertical-align: top;' type='button' value='Bestätigen' onclick='anmeldungBestaetigen(\""+d.pruefungsanmeldung_id+"\", \""+terminId+"\", \""+lehrveranstaltung_id+"\");'></div>";
|
||||
if(d.wuensche !== null)
|
||||
{
|
||||
liste += "<div class='anmerkungInfo'><a href='#' title='Anmerkung des Studenten:</br>"+d.wuensche+"'><img style='width: 20px;' src='../../../../skin/images/button_lvinfo.png'></a></div>";
|
||||
}
|
||||
liste += "</li>";
|
||||
break;
|
||||
case 'bestaetigt':
|
||||
liste += "<li class='ui-state-default' id='"+d.student.uid+"'><span class='ui-icon ui-icon-arrowthick-2-n-s'></span><a href='#' onclick='showKommentar(\""+d.student.vorname+"\",\""+d.student.nachname+"\", \""+d.pruefungsanmeldung_id+"\", \""+d.kommentar+"\", \""+terminId+"\", \""+lehrveranstaltung_id+"\");'>"+d.student.vorname+" "+d.student.nachname+"</a>";
|
||||
liste += "<div style='width: 2%; text-align: right;'>"+count+"</div><div style='text-align: center; width: 20%;'>bestätigt</div>";
|
||||
if(d.wuensche !== null)
|
||||
{
|
||||
liste += "<div class='anmerkungInfo'><a href='#' title='Anmerkung des Studenten:</br>"+d.wuensche+"'><img style='width: 20px;' src='../../../../skin/images/button_lvinfo.png'></a></div>";
|
||||
}
|
||||
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
});
|
||||
liste += "</ul>";
|
||||
$("#reihungSpeichernButton").html("<input type='button' value='Reihung speichern' onclick='saveReihung(\""+terminId+"\", \""+lehrveranstaltung_id+"\");'>");
|
||||
$("#anmeldeDaten").html(liste);
|
||||
$(document).tooltip({
|
||||
position: {
|
||||
at: "right center",
|
||||
my: "left+15 center"
|
||||
}
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
messageBox("message", data.errormsg, "red", "highlight", 1000);
|
||||
}
|
||||
writeAnmeldungen(data);
|
||||
}).complete(function(event, xhr, settings){
|
||||
$("#sortable").sortable();
|
||||
$("#sortable").disableSelection();
|
||||
});
|
||||
}
|
||||
|
||||
function writeAnmeldungen(data)
|
||||
{
|
||||
if(data.error === 'false')
|
||||
{
|
||||
var terminId = data.result[0].pruefungstermin_id;
|
||||
var lehrveranstaltung_id = data.result[0].lehrveranstaltung_id;
|
||||
var liste = "<ul id='sortable'>";
|
||||
var count = 0;
|
||||
data.result.forEach(function(d){
|
||||
|
||||
count++;
|
||||
switch(d.status_kurzbz)
|
||||
{
|
||||
case 'angemeldet':
|
||||
liste += "<li class='ui-state-default' id='"+d.student.uid+"'><span class='ui-icon ui-icon-arrowthick-2-n-s'></span><a href='#' onclick='showKommentar(\""+d.student.vorname+"\",\""+d.student.nachname+"\", \""+d.pruefungsanmeldung_id+"\", \""+d.kommentar+"\", \""+terminId+"\", \""+lehrveranstaltung_id+"\");'>"+d.student.vorname+" "+d.student.nachname+"</a>";
|
||||
liste += "<div style='width: 3%; text-align: right;'>"+count+"</div><div style='text-align: center; width: 25%;'><input style='vertical-align: top;' type='button' value='Bestätigen' onclick='anmeldungBestaetigen(\""+d.pruefungsanmeldung_id+"\", \""+terminId+"\", \""+lehrveranstaltung_id+"\");'></div>";
|
||||
if(d.wuensche !== null)
|
||||
{
|
||||
liste += "<div class='anmerkungInfo'><a href='#' title='Anmerkung des Studenten:</br>"+d.wuensche+"'><img style='width: 20px;' src='../../../../skin/images/button_lvinfo.png'></a></div>";
|
||||
}
|
||||
liste += "</li>";
|
||||
break;
|
||||
case 'bestaetigt':
|
||||
liste += "<li class='ui-state-default' id='"+d.student.uid+"'><span class='ui-icon ui-icon-arrowthick-2-n-s'></span><a href='#' onclick='showKommentar(\""+d.student.vorname+"\",\""+d.student.nachname+"\", \""+d.pruefungsanmeldung_id+"\", \""+d.kommentar+"\", \""+terminId+"\", \""+lehrveranstaltung_id+"\");'>"+d.student.vorname+" "+d.student.nachname+"</a>";
|
||||
liste += "<div style='width: 2%; text-align: right;'>"+count+"</div><div style='text-align: center; width: 20%;'>bestätigt</div>";
|
||||
if(d.wuensche !== null)
|
||||
{
|
||||
liste += "<div class='anmerkungInfo'><a href='#' title='Anmerkung des Studenten:</br>"+d.wuensche+"'><img style='width: 20px;' src='../../../../skin/images/button_lvinfo.png'></a></div>";
|
||||
}
|
||||
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
});
|
||||
liste += "</ul>";
|
||||
$("#reihungSpeichernButton").html("<input type='button' value='Reihung speichern' onclick='saveReihung(\""+terminId+"\", \""+lehrveranstaltung_id+"\");'>");
|
||||
$("#anmeldeDaten").html(liste);
|
||||
$(document).tooltip({
|
||||
position: {
|
||||
at: "right center",
|
||||
my: "left+15 center"
|
||||
}
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
messageBox("message", data.errormsg, "red", "highlight", 1000);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* speichert die Reihung der Studenten einer Prüfungsanmeldung
|
||||
* @param {type} terminId ID des Prüfungstermines
|
||||
@@ -864,6 +832,16 @@ function loadPruefungStudiengang(studiengang_kz)
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Zeigt das Formularfeld zur Eingabe eines Kommentars in der Anmeldungsverwaltung an.
|
||||
* @param {String} vorname Vorname des Studenten
|
||||
* @param {String} nachname Nachname des Studenten
|
||||
* @param {int} pruefungsanmeldung_id ID der Anmeldung
|
||||
* @param {String} kommentar Kommentar zur Anmeldung (wenn bereits vorhanden)
|
||||
* @param {int} termin_id ID des Prüfungstermins
|
||||
* @param {int} lehrveranstaltung_id ID der Lehrveranstaltung
|
||||
* @returns {void}
|
||||
*/
|
||||
function showKommentar(vorname, nachname, pruefungsanmeldung_id, kommentar, termin_id, lehrveranstaltung_id)
|
||||
{
|
||||
if(kommentar === "null")
|
||||
@@ -872,6 +850,13 @@ function showKommentar(vorname, nachname, pruefungsanmeldung_id, kommentar, term
|
||||
$("#kommentarSpeichernButton").html("<input type='button' value='Kommentar speichern' onclick='saveKommentar(\""+pruefungsanmeldung_id+"\", \""+termin_id+"\", \""+lehrveranstaltung_id+"\");'>");
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert ein Kommentar zu einer Anmeldung
|
||||
* @param {int} pruefungsanmeldung_id ID der Anmeldung
|
||||
* @param {int} termin_id ID des Termins
|
||||
* @param {int} lehrveranstaltung_id ID der Lehrveranstaltung
|
||||
* @returns {void}
|
||||
*/
|
||||
function saveKommentar(pruefungsanmeldung_id, termin_id, lehrveranstaltung_id)
|
||||
{
|
||||
var kommentar = $("#kommentarText").val();
|
||||
@@ -892,6 +877,11 @@ function saveKommentar(pruefungsanmeldung_id, termin_id, lehrveranstaltung_id)
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* lädt alle Prüfungstypen per AJAX aus der Datenbank
|
||||
* @param {boolean} abschluss
|
||||
* @returns {void}
|
||||
*/
|
||||
function loadPruefungstypen(abschluss)
|
||||
{
|
||||
$.ajax({
|
||||
@@ -914,6 +904,10 @@ function loadPruefungstypen(abschluss)
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Lädt alle Studiensemester per AJAX aus der Datenbank
|
||||
* @returns {void}
|
||||
*/
|
||||
function loadStudiensemester()
|
||||
{
|
||||
$.ajax({
|
||||
@@ -936,6 +930,11 @@ function loadStudiensemester()
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Prüft eine Variable ob diese NULL ist
|
||||
* @param {type} variable
|
||||
* @returns {boolean} TRUE, wenn die Variable NULL ist, ansonsten FALSE
|
||||
*/
|
||||
function is_null(variable)
|
||||
{
|
||||
if(variable === null)
|
||||
@@ -945,6 +944,11 @@ function is_null(variable)
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prüft eine Variable ob diese undefined ist
|
||||
* @param {type} variable
|
||||
* @returns {boolean} TRUE, wenn die Variable undefined ist, ansonsten FALSE
|
||||
*/
|
||||
function is_undefined(variable)
|
||||
{
|
||||
if(variable === undefined)
|
||||
@@ -954,6 +958,11 @@ function is_undefined(variable)
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prüft einen String ob dieser die Länge 0 hat
|
||||
* @param {string} string
|
||||
* @returns {boolean} TRUE, wenn die Länge des Strings 0 ist, ansonsten FALSE
|
||||
*/
|
||||
function is_empty_String(string)
|
||||
{
|
||||
if(string.length === 0)
|
||||
@@ -963,6 +972,10 @@ function is_empty_String(string)
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert einen Prüfungstermin
|
||||
* @returns {void}
|
||||
*/
|
||||
function savePruefungstermin()
|
||||
{
|
||||
unmarkMissingFormEntry();
|
||||
@@ -1006,7 +1019,6 @@ function savePruefungstermin()
|
||||
if(!checkMinMaxTeilnehmer(termin.min, termin.max))
|
||||
{
|
||||
error = true;
|
||||
console.log("termin"+(i+1)+"min");
|
||||
markMissingFormEntry("termin"+(i+1)+"min");
|
||||
markMissingFormEntry("termin"+(i+1)+"max");
|
||||
}
|
||||
@@ -1056,7 +1068,6 @@ function savePruefungstermin()
|
||||
markMissingFormEntry("lvDropdowns");
|
||||
}
|
||||
|
||||
|
||||
if(error)
|
||||
{
|
||||
messageBox("message", "Formulardaten sind nicht korrekt.", "red", "highlight", 3000);
|
||||
@@ -1096,6 +1107,12 @@ function savePruefungstermin()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fügt einem Element die Klasse "missingFormData" hinzu
|
||||
* CSS-Klasse "missingFormData" wird benötigt
|
||||
* @param {string} eleId ID des zu markierenden Formularfeldes
|
||||
* @returns {void}
|
||||
*/
|
||||
function markMissingFormEntry(eleId)
|
||||
{
|
||||
$("#"+eleId).addClass("missingFormData");
|
||||
@@ -1104,6 +1121,11 @@ function markMissingFormEntry(eleId)
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Entfernt die Klasse "missingFormData" von einem Element.
|
||||
* @param {string} eleId ID des Formularfeldes
|
||||
* @returns {void}
|
||||
*/
|
||||
function unmarkMissingFormEntry()
|
||||
{
|
||||
$(".missingFormData").each(function(i, v){
|
||||
@@ -1111,6 +1133,10 @@ function unmarkMissingFormEntry()
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Lädt alle Lehrveranstaltungen eine Mitarbeiters
|
||||
* @returns {void}
|
||||
*/
|
||||
function loadLehrveranstaltungen()
|
||||
{
|
||||
var studiensemester_kurzbz = $("#studiensemester").val();
|
||||
@@ -1136,6 +1162,11 @@ function loadLehrveranstaltungen()
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Lädt die Details zu eine Prüfung
|
||||
* @param {int} prfId ID der Prüfung
|
||||
* @returns {void}
|
||||
*/
|
||||
function loadPruefungsDetails(prfId)
|
||||
{
|
||||
unmarkMissingFormEntry();
|
||||
@@ -1258,7 +1289,6 @@ function loadPruefungsDetails(prfId)
|
||||
});
|
||||
});
|
||||
var ele = document.getElementById("lvDropdowns");
|
||||
// lehrveranstaltungDropdownhinzufuegen(ele, false);
|
||||
$("#prfTermin tr").last().remove();
|
||||
if(result.pruefung.einzeln)
|
||||
{
|
||||
@@ -1285,6 +1315,10 @@ function loadPruefungsDetails(prfId)
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Setzt den Bereich Lehrveranstaltungen in der Anmeldungsverwaltung auf den Ausgangszustand
|
||||
* @returns {void}
|
||||
*/
|
||||
function resetLehrveranstaltungen()
|
||||
{
|
||||
$("#lvDropdown1").attr("onchange", "lehrveranstaltungDropdownhinzufuegen(this, false);")
|
||||
@@ -1297,16 +1331,22 @@ function resetLehrveranstaltungen()
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Setzt den Bereich Termine in der Ammeldungsverwaltung auf den Ausgangszustand
|
||||
* @returns {void}
|
||||
*/
|
||||
function resetTermine()
|
||||
{
|
||||
$("#prfTermin tr").each(function(i,v){
|
||||
// if(i !== 0)
|
||||
// {
|
||||
$(v).remove();
|
||||
// }
|
||||
$(v).remove();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Aktualisiert die Daten einer Prüfung in der Datenbank
|
||||
* @param {int} prfId ID der Prüfung
|
||||
* @returns {void}
|
||||
*/
|
||||
function updatePruefung(prfId)
|
||||
{
|
||||
$("#modalOverlay").addClass("modalOverlay");
|
||||
@@ -1464,6 +1504,12 @@ function updatePruefung(prfId)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Löscht eine Lehrveranstaltung von einer Prüfung
|
||||
* @param {int} lvId ID der Lehrveranstaltung
|
||||
* @param {int} pruefung_id ID der Prüfung
|
||||
* @returns {void}
|
||||
*/
|
||||
function deleteLehrveranstaltungFromPruefung(lvId, pruefung_id)
|
||||
{
|
||||
$.ajax({
|
||||
@@ -1483,10 +1529,14 @@ function deleteLehrveranstaltungFromPruefung(lvId, pruefung_id)
|
||||
}
|
||||
}).complete(function(){
|
||||
loadPruefungsDetails(pruefung_id);
|
||||
// loadAllPruefungen();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Storniert eine Prüfung
|
||||
* @param {int} pruefung_id ID der Prüfung
|
||||
* @returns {void}
|
||||
*/
|
||||
function stornoPruefung(pruefung_id)
|
||||
{
|
||||
$("#modalOverlay").addClass("modalOverlay");
|
||||
@@ -1510,6 +1560,12 @@ function stornoPruefung(pruefung_id)
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Löscht einen Termin
|
||||
* @param {int} pruefung_id ID der Prüfung
|
||||
* @param {int} pruefungstermin_id ID des Prüfungstermines
|
||||
* @returns {undefined}
|
||||
*/
|
||||
function terminLoeschen(pruefung_id, pruefungstermin_id)
|
||||
{
|
||||
$.ajax({
|
||||
@@ -1537,6 +1593,10 @@ function terminLoeschen(pruefung_id, pruefungstermin_id)
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Lädt alle Prüfungen
|
||||
* @returns {void}
|
||||
*/
|
||||
function loadAllPruefungen()
|
||||
{
|
||||
var uid = $("#mitarbeiter_uid").val();
|
||||
@@ -1578,9 +1638,6 @@ function loadAllPruefungen()
|
||||
|
||||
});
|
||||
}).complete(function(event, xhr, settings){
|
||||
// $("#prfTable").tablesorter({
|
||||
// widgets: ["zebra"]
|
||||
// });
|
||||
if($("#prfTable")[0].hasInitialized !== true)
|
||||
{
|
||||
$("#prfTable").tablesorter({
|
||||
@@ -1597,6 +1654,12 @@ function loadAllPruefungen()
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Prüft die Daten eines Termins auf deren Richtigkeit
|
||||
* Prüft ob die Beginnzeit vor der Endzeit liegt und ob beide Daten in der Zukunft liegen.
|
||||
* @param {Object} termin Object mit den Attributen datum (DD.MM.YYYY), beginn (HH:mm) und ende (HH:mm)
|
||||
* @returns {Boolean} TRUE, wenn die Daten korrekt sind, ansonsten FALSE
|
||||
*/
|
||||
function checkTermin(termin)
|
||||
{
|
||||
var aktTime = new Date();
|
||||
@@ -1614,6 +1677,12 @@ function checkTermin(termin)
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Formatiert eine Datum von String in eine Date-Objekt
|
||||
* @param {string} datum Ein Datum als String im Format "DD.MM.YYYY"
|
||||
* @param {string} time eine Uhrzeit als String im Format " HH:mm:ss"
|
||||
* @returns {Date} Dateobjekt
|
||||
*/
|
||||
function stringToDate(datum, time)
|
||||
{
|
||||
datum = datum.split(".");
|
||||
@@ -1622,6 +1691,10 @@ function stringToDate(datum, time)
|
||||
return time;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setzt die Oberfläche der Prüfungsverwaltung auf den Ausgangszustand zurück
|
||||
* @returns {void}
|
||||
*/
|
||||
function resetPruefungsverwaltung()
|
||||
{
|
||||
loadAllPruefungen();
|
||||
@@ -1636,40 +1709,36 @@ function resetPruefungsverwaltung()
|
||||
$("#buttonSave").attr("onclick", "savePruefungstermin();");
|
||||
}
|
||||
|
||||
/**
|
||||
* Prüft ob eine Zahl "min" kleiner als eine Zahl "max" ist.
|
||||
* @param {String} min
|
||||
* @param {String} max
|
||||
* @returns {Boolean} TRUE, wenn min kleiner als max ist und beide einen positiven Wert haben
|
||||
*/
|
||||
function checkMinMaxTeilnehmer(min, max)
|
||||
{
|
||||
// console.log(isNum(min));
|
||||
// console.log(isNum(max));
|
||||
console.log(parseInt(min));
|
||||
min = parseInt(min);
|
||||
max = parseInt(max);
|
||||
console.log(min+max);
|
||||
if(((min !== null) && (max !== null)) && ((min !== "") && (max !== "")))
|
||||
{
|
||||
console.log(0);
|
||||
min = parseInt(min);
|
||||
max = parseInt(max);
|
||||
if(max < min)
|
||||
{
|
||||
console.log(1);
|
||||
return false;
|
||||
}
|
||||
if(max < 0)
|
||||
{
|
||||
console.log(2);
|
||||
return false;
|
||||
}
|
||||
if(min < 0)
|
||||
{
|
||||
console.log(3);
|
||||
return false;
|
||||
}
|
||||
if(isNaN(min))
|
||||
{
|
||||
console.log(4);
|
||||
return false;
|
||||
}
|
||||
if(isNaN(max))
|
||||
{
|
||||
console.log(5);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,9 +52,6 @@ switch($method)
|
||||
case 'stornoAnmeldung':
|
||||
$data = stornoAnmeldung($uid);
|
||||
break;
|
||||
// case 'getPruefungMitarbeiter':
|
||||
// $data = getPruefungMitarbeiter($uid);
|
||||
// break;
|
||||
case 'getAnmeldungenTermin':
|
||||
$data = getAnmeldungenTermin();
|
||||
break;
|
||||
@@ -312,14 +309,10 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
|
||||
$anmeldung->uid = $uid;
|
||||
$anmeldung->reihung = $reihung+1;
|
||||
$anmeldung->status_kurzbz = "angemeldet";
|
||||
|
||||
// $studiensemester_kurbz = $_REQUEST['studiensemester_kurzbz'];
|
||||
|
||||
$lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]);
|
||||
|
||||
$konto = new konto();
|
||||
$creditpoints = $konto->getCreditPoints($uid, $aktStudiensemester);
|
||||
// $creditpoints = 1.5;
|
||||
if($creditpoints !== false)
|
||||
{
|
||||
if($creditpoints < $lehrveranstaltung->ects)
|
||||
@@ -452,46 +445,7 @@ function stornoAnmeldung($uid = null)
|
||||
return $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);
|
||||
//// $lehrveranstaltung->getLVByMitarbeiter("neubauer");
|
||||
// $result = array();
|
||||
// foreach($lehrveranstaltung->lehrveranstaltungen as $lv)
|
||||
// {
|
||||
// $pruefung = new pruefungCis();
|
||||
// $pruefung->getPruefungByLv($lv->lehrveranstaltung_id);
|
||||
// if($pruefung->lehrveranstaltungen[0]->pruefung_id !== null)
|
||||
// {
|
||||
// $pruefung->load($pruefung->lehrveranstaltungen[0]->pruefung_id);
|
||||
// $pruefung->getTermineByPruefung();
|
||||
// $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 Anmeldungen zu einem Prüfungstermin
|
||||
|
||||
@@ -36,11 +36,6 @@ $db = new basis_db();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
|
||||
//TODO Berechtigung
|
||||
//if(!$rechte->isBerechtigt('lehre/pruefungsanmeldung'))
|
||||
// die('Sie haben keine Berechtigung für diese Seite');
|
||||
|
||||
$lehrveranstaltung = new lehrveranstaltung();
|
||||
$lehrveranstaltung->load_lva_student($uid);
|
||||
|
||||
@@ -221,7 +216,6 @@ $benutzer = new student($uid);
|
||||
<td>
|
||||
<input type="hidden" id="lehrveranstaltungHidden" disabled="true">
|
||||
<input type="hidden" id="terminHidden" disabled="true">
|
||||
<!--<input type="hidden" id="studiensemesterHidden" value="<?php // echo $studiensemester->getakt(); ?>" disabled="true">-->
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -31,9 +31,8 @@ $db = new basis_db();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
//TODO Berechtigung
|
||||
//if(!$rechte->isBerechtigt('lehre/pruefungsanmeldung'))
|
||||
// die('Sie haben keine Berechtigung für diese Seite');
|
||||
if(!$rechte->isBerechtigt('lehre/pruefungsanmeldungAdmin'))
|
||||
die('Sie haben keine Berechtigung für diese Seite');
|
||||
|
||||
?>
|
||||
<html>
|
||||
@@ -201,7 +200,6 @@ $rechte->getBerechtigungen($uid);
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
loadStudiengaenge();
|
||||
// loadPruefungenMitarbeiter();
|
||||
});
|
||||
</script>
|
||||
<h1>Anmeldungen Verwalten</h1>
|
||||
|
||||
@@ -0,0 +1,247 @@
|
||||
/* Copyright (C) 2014 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Stefan Puraner <puraner@technikum-wien.at>
|
||||
*/
|
||||
|
||||
/**
|
||||
* 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("Prüfungen ("+uid+")");
|
||||
if(data.error === 'false')
|
||||
{
|
||||
var liste = "";
|
||||
data.result.forEach(function(e){
|
||||
liste += "<li>"+e.bezeichnung+"<ul>";
|
||||
e.pruefung.lehrveranstaltungen.forEach(function(d)
|
||||
{
|
||||
d.pruefung.termine.forEach(function(f){
|
||||
liste += "<li> <a onclick='showTeilnehmer(\""+f.pruefungstermin_id+"\", \""+e.lehrveranstaltung_id+"\", \""+e.bezeichnung+"\", \""+convertDateTime(f.von)+"\");'>"+convertDateTime(f.von)+"</a></li>";
|
||||
});
|
||||
})
|
||||
liste += "</li></ul>";
|
||||
});
|
||||
$("#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 = "<select onchange='markAsUnsaved(this);'>";
|
||||
$.ajax({
|
||||
dataType: 'json',
|
||||
url: "./pruefungsbewertung.json.php",
|
||||
type: "POST",
|
||||
data: {
|
||||
method: "getNoten"
|
||||
},
|
||||
error: loadError
|
||||
}).success(function(data){
|
||||
data.result.forEach(function(d)
|
||||
{
|
||||
noten += "<option value="+d.note+">"+d.bezeichnung+"</option>";
|
||||
});
|
||||
noten += "</select>";
|
||||
}).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 = "<div class='anmeldung' id="+d.student.uid+"><div>"+d.student.vorname+" "+d.student.nachname+"</div>"+notenSelect+"<input type='button' onclick='saveBeurteilung(this,\""+datum[0]+"\",\""+d.pruefungsanmeldung_id+"\",\""+d.pruefung_id+"\",\""+d.lehrveranstaltung_id+"\");' value='speichern'/></div>";
|
||||
}
|
||||
else
|
||||
{
|
||||
entry = "<div class='anmeldung' id="+d.student.uid+"><div>"+d.student.vorname+" "+d.student.nachname+"</div>"+notenSelect+"<input type='button' onclick='updateBeurteilung(this,\""+d.pruefung.pruefung_id+"\");' value='speichern'/></div>";
|
||||
}
|
||||
$("#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);
|
||||
}
|
||||
}
|
||||
});
|
||||
if(entry === "")
|
||||
{
|
||||
entry = "<div><div>Keine Anmeldungen vorhanden.</div></div>";
|
||||
$("#anmeldeDaten").html(entry);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
entry = "<div><div>"+data.errormsg+"</div></div>";
|
||||
$("#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();
|
||||
var anmerkung = "";
|
||||
|
||||
$.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){
|
||||
markAsSaved(ele);
|
||||
$(ele).attr("onclick", "updateBeurteilung(this,\""+data.result+"\")");
|
||||
}).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 = "";
|
||||
|
||||
$.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){
|
||||
markAsSaved(ele);
|
||||
}).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");
|
||||
}
|
||||
@@ -0,0 +1,285 @@
|
||||
<?php
|
||||
header( 'Expires: -1' );
|
||||
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
|
||||
header( 'Cache-Control: no-store, no-cache, must-revalidate' );
|
||||
header( 'Pragma: no-cache' );
|
||||
header('Content-Type: text/html;charset=UTF-8');
|
||||
|
||||
require_once('../../../../config/cis.config.inc.php');
|
||||
require_once('../../../../include/functions.inc.php');
|
||||
require_once('../../../../include/pruefungCis.class.php');
|
||||
require_once('../../../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../../include/studiensemester.class.php');
|
||||
require_once('../../../../include/note.class.php');
|
||||
require_once('../../../../include/pruefung.class.php');
|
||||
require_once('../../../../include/pruefungsanmeldung.class.php');
|
||||
require_once('../../../../include/student.class.php');
|
||||
|
||||
$uid = get_uid();
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
$studiensemester = new studiensemester();
|
||||
$aktStudiensemester = $studiensemester->getakt();
|
||||
|
||||
$method = isset($_REQUEST['method'])?$_REQUEST['method']:'';
|
||||
|
||||
switch($method)
|
||||
{
|
||||
case 'getPruefungMitarbeiter':
|
||||
if($rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin'))
|
||||
{
|
||||
$mitarbeiter_uid = $_REQUEST["mitarbeiter_uid"];
|
||||
}
|
||||
else
|
||||
{
|
||||
$mitarbeiter_uid = $uid;
|
||||
}
|
||||
$data = getPruefungMitarbeiter($mitarbeiter_uid);
|
||||
break;
|
||||
case 'getNoten':
|
||||
$data = getNoten();
|
||||
break;
|
||||
case 'saveBeurteilung':
|
||||
$lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"];
|
||||
$student_uid = $_REQUEST["student_uid"];
|
||||
if($rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin'))
|
||||
{
|
||||
$mitarbeiter_uid = $_REQUEST["mitarbeiter_uid"];
|
||||
}
|
||||
else
|
||||
{
|
||||
$mitarbeiter_uid = $uid;
|
||||
}
|
||||
$note = $_REQUEST["note"];
|
||||
$pruefung_id = $_REQUEST["pruefung_id"];
|
||||
$datum = $_REQUEST["datum"];
|
||||
$anmerkung = $_REQUEST["anmerkung"];
|
||||
$pruefungsanmeldung_id = $_REQUEST["pruefungsanmeldung_id"];
|
||||
$data = saveBeurteilung($lehrveranstaltung_id, $student_uid, $mitarbeiter_uid, $note, $pruefung_id, $datum, $anmerkung, $pruefungsanmeldung_id, $uid);
|
||||
break;
|
||||
case 'updateBeurteilung':
|
||||
$pruefung_id = $_REQUEST["pruefung_id"];
|
||||
$note = $_REQUEST["note"];
|
||||
$data = updateBeurteilung($pruefung_id, $note, $uid);
|
||||
break;
|
||||
case 'loadPruefung':
|
||||
$pruefung_id=$_REQUEST["pruefung_id"];
|
||||
$data = loadPruefung($pruefung_id);
|
||||
break;
|
||||
case 'getBeurteilung':
|
||||
$pruefungsanmeldung_id = $_REQUEST["pruefungsanmeldung_id"];
|
||||
$data = getBeurteilung($pruefungsanmeldung_id);
|
||||
break;
|
||||
case 'getAnmeldungenTermin':
|
||||
$lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"];
|
||||
$pruefungstermin_id = $_REQUEST["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;
|
||||
$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');
|
||||
if($pruefung->save())
|
||||
{
|
||||
$data['result']=$pruefung->pruefung_id;
|
||||
$data['error']='false';
|
||||
$data['errormsg']='';
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['error']='true';
|
||||
$data['errormsg']=$pruefung->errormsg;
|
||||
}
|
||||
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)
|
||||
{
|
||||
$pruefung = new pruefung($pruefung_id);
|
||||
$pruefung->new = FALSE;
|
||||
$pruefung->note = $note;
|
||||
$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;
|
||||
}
|
||||
@@ -0,0 +1,256 @@
|
||||
<!DOCTYPE html>
|
||||
<?php
|
||||
/*
|
||||
* Copyright 2014 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*
|
||||
*
|
||||
* Authors: Stefan Puraner <puraner@technikum-wien.at>
|
||||
*/
|
||||
|
||||
require_once('../../../../config/cis.config.inc.php');
|
||||
require_once('../../../../include/functions.inc.php');
|
||||
require_once('../../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../../include/studiensemester.class.php');
|
||||
require_once('../../../../include/datum.class.php');
|
||||
require_once('../../../../include/pruefungsfenster.class.php');
|
||||
require_once('../../../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../../../include/pruefungstermin.class.php');
|
||||
require_once('../../../../include/studiengang.class.php');
|
||||
require_once('../../../../include/pruefungCis.class.php');
|
||||
require_once('../../../../include/mitarbeiter.class.php');
|
||||
|
||||
$uid = get_uid();
|
||||
$db = new basis_db();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
if(!$rechte->isBerechtigt('lehre/pruefungsbeurteilung'))
|
||||
die('Sie haben keine Berechtigung für diese Seite');
|
||||
|
||||
?>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Prüfungsbewertung</title>
|
||||
<script src="../../../../include/js/datecheck.js"></script>
|
||||
<script src="../../../../include/js/jquery1.9.min.js"></script>
|
||||
<script src="../../../../include/js/jquery.tablesorter.min.js"></script>
|
||||
<script src="./pruefung.js"></script>
|
||||
<script src="./pruefungsbewertung.js"></script>
|
||||
<link rel="stylesheet" href="../../../../skin/jquery-ui-1.9.2.custom.min.css">
|
||||
<link rel="stylesheet" href="../../../../skin/fhcomplete.css">
|
||||
<link rel="stylesheet" href="../../../../skin/style.css.php">
|
||||
<link rel="stylesheet" href="../../../../skin/tablesort.css">
|
||||
<style type="text/css">
|
||||
body {
|
||||
padding: 10px 0 0 10px;
|
||||
}
|
||||
|
||||
#prfWrapper {
|
||||
position: absolute;
|
||||
height: 80%;
|
||||
width: 300px;
|
||||
padding: 1.8em 1.5em 1.8em 1em;
|
||||
border-radius: 25px;
|
||||
/*border: 1px solid black;*/
|
||||
box-shadow: 0em 0em 2em 0.5em #888888 inset;
|
||||
}
|
||||
|
||||
#pruefungen {
|
||||
/*border: 1px solid black;*/
|
||||
width: 94%;
|
||||
position: relative;
|
||||
float: left;
|
||||
padding: 0 1em 0em 1em;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
#anmWrapper {
|
||||
position: absolute;
|
||||
/*top: 45px;*/
|
||||
left: 360px;
|
||||
width: 600px;
|
||||
height: 80%;
|
||||
padding: 1.8em 1.5em 1.8em 1em;
|
||||
border-radius: 25px;
|
||||
/*border: 1px solid black;*/
|
||||
box-shadow: 0em 0em 2em 0.5em #888888 inset;
|
||||
}
|
||||
|
||||
#anmeldungen {
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
#anmeldungen > div, h2 {
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
#message {
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
right: 0px;
|
||||
width: 50%;
|
||||
height: 2em;
|
||||
font-size: 1.5em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.missingFormData {
|
||||
border: 2px solid red;
|
||||
outline: 2px solid red;
|
||||
}
|
||||
|
||||
.modalOverlay {
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
background-color: rgba(0,0,0,0.3); /* black semi-transparent */
|
||||
}
|
||||
|
||||
.anmeldung {
|
||||
font-size: 1.2em;
|
||||
border-bottom: 1px solid black;
|
||||
height: 1.8em;
|
||||
clear: both;
|
||||
padding: 0.5em 0 0 0.5em;
|
||||
}
|
||||
.anmeldung > *{
|
||||
margin: 0 1em 0 0;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.anmeldung:last-child {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.anmeldung div:first-child {
|
||||
width: 250px;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.saved {
|
||||
background-color: green;
|
||||
}
|
||||
|
||||
.unsaved {
|
||||
background-color: red;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#lektor {
|
||||
margin: 0 0 1em 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
var isFormHidden = true;
|
||||
$("#lektor").autocomplete({
|
||||
source: "lektor_autocomplete.php?autocomplete=lektor",
|
||||
minLength:2,
|
||||
response: function(event, ui)
|
||||
{
|
||||
//Value und Label fuer die Anzeige setzen
|
||||
for(i in ui.content)
|
||||
{
|
||||
ui.content[i].value=ui.content[i].vorname+" "+ui.content[i].nachname+" ("+ui.content[i].uid+")";
|
||||
ui.content[i].label=ui.content[i].vorname+" "+ui.content[i].nachname+" ("+ui.content[i].uid+")";
|
||||
}
|
||||
},
|
||||
select: function(event, ui)
|
||||
{
|
||||
//Ausgeaehlte Ressource zuweisen und Textfeld wieder leeren
|
||||
if (ui.item.mitarbeiter_uid=='')
|
||||
{
|
||||
$("#mitarbeiter_uid").val(ui.item.uid);
|
||||
$("#uid").val("student");
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#mitarbeiter_uid").val(ui.item.uid);
|
||||
$("#uid").val("lektor");
|
||||
}
|
||||
if(isFormHidden)
|
||||
{
|
||||
isFormHidden = false;
|
||||
$("#wrapper").slideToggle("slow");
|
||||
}
|
||||
loadPruefungenMitarbeiter();
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<div>
|
||||
<h1>Prüfungsbewertung</h1>
|
||||
<div>
|
||||
<?php
|
||||
if(!$rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin'))
|
||||
{
|
||||
echo '<input id="mitarbeiter_uid" type="hidden" value="'.$uid.'"/>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$("#wrapper").attr("style", "display: block");
|
||||
loadPruefungenMitarbeiter();
|
||||
});
|
||||
</script>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<span width="116px">Lektor: </span>';
|
||||
echo '<input placeholder="UID" type="text" id="lektor" value="" size="30"/>';
|
||||
echo '<input type="hidden" id="uid" value="" />';
|
||||
echo '<input type="hidden" id="mitarbeiter_uid" value="" />';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<div id="wrapper">
|
||||
<div id='prfWrapper'>
|
||||
<div id='pruefungen'>
|
||||
<h2>Prüfungen</h2>
|
||||
<ul id="pruefungenListe">
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id='anmWrapper'>
|
||||
<div id="anmeldungen">
|
||||
<h2>Anmeldungen</h2>
|
||||
<div id="anmeldeDaten">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="message"></div>
|
||||
<div id="progressbar"></div>
|
||||
<div id="modalOverlay"></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -35,9 +35,6 @@ $db = new basis_db();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
/**
|
||||
* TODO
|
||||
*/
|
||||
if(!$rechte->isBerechtigt('lehre/pruefungsfenster'))
|
||||
die('Sie haben keine Berechtigung für diese Seite');
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ switch($method)
|
||||
$einzeln = (isset($_POST["einzeln"]) && $_POST["einzeln"] ==="true")?true:false;
|
||||
$lehrveranstaltungen = isset($_POST["lehrveranstaltungen"]) ? $_POST["lehrveranstaltungen"] : null;
|
||||
$termine = isset($_POST["termine"])?$_POST["termine"]:null;
|
||||
if($rechte->isBerechtigt('lehre/pruefungsterminAll'))
|
||||
if($rechte->isBerechtigt('lehre/pruefungsterminAdmin'))
|
||||
{
|
||||
$mitarbeiter_uid = $_REQUEST["mitarbeiter_uid"];
|
||||
}
|
||||
@@ -76,7 +76,7 @@ switch($method)
|
||||
$lehrveranstaltungen = isset($_POST["lehrveranstaltungen"]) ? $_POST["lehrveranstaltungen"] : null;
|
||||
$termine = isset($_POST["termine"])?$_POST["termine"]:null;
|
||||
$termineNeu = isset($_POST["termineNeu"])?$_POST["termineNeu"]:null;
|
||||
if($rechte->isBerechtigt('lehre/pruefungsterminAll'))
|
||||
if($rechte->isBerechtigt('lehre/pruefungsterminAdmin'))
|
||||
{
|
||||
$mitarbeiter_uid = $_REQUEST["mitarbeiter_uid"];
|
||||
}
|
||||
@@ -101,7 +101,7 @@ switch($method)
|
||||
$data = deleteTermin($pruefung_id, $pruefungstermin_id);
|
||||
break;
|
||||
case 'getAllPruefungen':
|
||||
if($rechte->isBerechtigt('lehre/pruefungsterminAll'))
|
||||
if($rechte->isBerechtigt('lehre/pruefungsterminAdmin'))
|
||||
{
|
||||
$data = getAllPruefungen($_REQUEST["uid"]);
|
||||
}
|
||||
@@ -116,7 +116,11 @@ switch($method)
|
||||
echo json_encode($data);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Lädt alle Prüfungstypen aus der Datenbank
|
||||
* @param boolean $abschluss Gibt an ob Prüfungstypen einer Abschlussprüfunge geladen werden sollen oder nicht
|
||||
* @return Array
|
||||
*/
|
||||
function loadPruefungstypen($abschluss)
|
||||
{
|
||||
$pruefungstermin = new pruefungstermin();
|
||||
@@ -135,6 +139,11 @@ function loadPruefungstypen($abschluss)
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Lädt alle Studiensemester aus der Datenbank
|
||||
* @param String $aktStudiensemester das Aktuelle Studiensemester
|
||||
* @return Array
|
||||
*/
|
||||
function loadStudiensemester($aktStudiensemester = null)
|
||||
{
|
||||
$studiensemester = new studiensemester();
|
||||
@@ -156,6 +165,11 @@ function loadStudiensemester($aktStudiensemester = null)
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Lädt alle Prüfungsfenster eines Studiensemesters
|
||||
* @param String $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters
|
||||
* @return Array
|
||||
*/
|
||||
function getPruefungsfensterByStudiensemester($studiensemester_kurzbz)
|
||||
{
|
||||
$pruefungsfenster = new pruefungsfenster();
|
||||
@@ -173,6 +187,20 @@ function getPruefungsfensterByStudiensemester($studiensemester_kurzbz)
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichet einen Prüfungstermin
|
||||
* @param int $uid UID des Lektors
|
||||
* @param String $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters
|
||||
* @param int $pruefungsfenster_id ID des Prüfungsfensters
|
||||
* @param String $pruefungstyp_kurzbz Kurzbezeichnung des Prüfungstyps
|
||||
* @param String $titel Titel der Prüfung
|
||||
* @param String $beschreibung Beschreibung zur Prüfung
|
||||
* @param String $methode Methode der Prüfung
|
||||
* @param boolen $einzeln TRUE, wenn Einzelprüfung
|
||||
* @param Array $lehrveranstaltungen Lehrveranstaltungen zur Prüfung
|
||||
* @param Array $termine Termine zur Prüfung
|
||||
* @return Array
|
||||
*/
|
||||
function savePruefungstermin($uid, $studiensemester_kurzbz, $pruefungsfenster_id, $pruefungstyp_kurzbz, $titel, $beschreibung, $methode, $einzeln, $lehrveranstaltungen, $termine)
|
||||
{
|
||||
if($lehrveranstaltungen === null)
|
||||
@@ -268,6 +296,12 @@ function savePruefungstermin($uid, $studiensemester_kurzbz, $pruefungsfenster_id
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Lädt alle Lehrveranstaltungen eines Mitarbeiters
|
||||
* @param int $mitarbeiter_uid UID des Mitarbeiters
|
||||
* @param String $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters
|
||||
* @return Array
|
||||
*/
|
||||
function getLehrveranstaltungenByMitarbeiter($mitarbeiter_uid, $studiensemester_kurzbz)
|
||||
{
|
||||
$lehrveranstaltung = new lehrveranstaltung();
|
||||
@@ -291,6 +325,21 @@ function getLehrveranstaltungenByMitarbeiter($mitarbeiter_uid, $studiensemester_
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichet einen Prüfungstermin
|
||||
* @param int $uid UID des Lektors
|
||||
* @param String $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters
|
||||
* @param int $pruefungsfenster_id ID des Prüfungsfensters
|
||||
* @param String $pruefungstyp_kurzbz Kurzbezeichnung des Prüfungstyps
|
||||
* @param String $titel Titel der Prüfung
|
||||
* @param String $beschreibung Beschreibung zur Prüfung
|
||||
* @param String $methode Methode der Prüfung
|
||||
* @param boolen $einzeln TRUE, wenn Einzelprüfung
|
||||
* @param Array $lehrveranstaltungen Lehrveranstaltungen zur Prüfung
|
||||
* @param Array $termine Termine zur Prüfung (bestehende)
|
||||
* @param type $termineNeu Neu hinzugefügte Termine
|
||||
* @return Array
|
||||
*/
|
||||
function updatePruefungstermin($uid, $pruefung_id, $studiensemester_kurzbz, $pruefungsfenster_id, $pruefungstyp_kurzbz, $titel, $beschreibung, $methode, $einzeln, $lehrveranstaltungen, $termine, $termineNeu)
|
||||
{
|
||||
$pruefungsfenster = new pruefungsfenster();
|
||||
@@ -370,11 +419,6 @@ function updatePruefungstermin($uid, $pruefung_id, $studiensemester_kurzbz, $pru
|
||||
$pruefung->termine = $termineArray;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$pruefung->mitarbeiter_uid = $uid;
|
||||
$pruefung->studiensemester_kurzbz = $studiensemester_kurzbz;
|
||||
$pruefung->pruefungsfenster_id = $pruefungsfenster_id;
|
||||
@@ -410,6 +454,12 @@ function updatePruefungstermin($uid, $pruefung_id, $studiensemester_kurzbz, $pru
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Löscht Lehrveranstaltungen von einer Prüfung
|
||||
* @param int $lvId ID der Lehrveranstaltung
|
||||
* @param int $pruefung_id ID der Prüfung
|
||||
* @return Array
|
||||
*/
|
||||
function deleteLehrveranstaltungFromPruefung($lvId, $pruefung_id)
|
||||
{
|
||||
$pruefung = new pruefungCis();
|
||||
@@ -428,6 +478,11 @@ function deleteLehrveranstaltungFromPruefung($lvId, $pruefung_id)
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Storniert eine Prüfung
|
||||
* @param int $pruefung_id ID der Prüfung
|
||||
* @return Array
|
||||
*/
|
||||
function stornoPruefung($pruefung_id)
|
||||
{
|
||||
$pruefung = new pruefungCis();
|
||||
@@ -445,6 +500,12 @@ function stornoPruefung($pruefung_id)
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Löscht einen Termin einer Prüfung
|
||||
* @param int $pruefung_id ID der Prüfung
|
||||
* @param int $pruefungstermin_id ID des Termins
|
||||
* @return Array
|
||||
*/
|
||||
function deleteTermin($pruefung_id, $pruefungstermin_id)
|
||||
{
|
||||
$pruefung = new pruefungCis();
|
||||
@@ -463,6 +524,11 @@ function deleteTermin($pruefung_id, $pruefungstermin_id)
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Lädt alle Prüfungen eines Mitarbeiters
|
||||
* @param String $mitarbeiter_uid UID des Mitarbeiters
|
||||
* @return Array
|
||||
*/
|
||||
function getAllPruefungen($mitarbeiter_uid)
|
||||
{
|
||||
$pruefung = new pruefungCis();
|
||||
@@ -491,6 +557,12 @@ function getAllPruefungen($mitarbeiter_uid)
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Überprüft ob das angegebene Datum innerhalb eines Prüfungsfensters ist
|
||||
* @param int $pruefungsfenster_id ID des Prüfungsfensters
|
||||
* @param String $datum
|
||||
* @return boolean
|
||||
*/
|
||||
function checkTerminPruefungsfenster($pruefungsfenster_id, $datum)
|
||||
{
|
||||
$pruefungsfenster = new pruefungsfenster($pruefungsfenster_id);
|
||||
@@ -502,6 +574,13 @@ function checkTerminPruefungsfenster($pruefungsfenster_id, $datum)
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Überprüft ob es eine Kollision zu anderen Prüfungen des Mitarbeiters gibt
|
||||
* @param String $uid UID des Mitarbeiters
|
||||
* @param String $beginn Beginn des Termins
|
||||
* @param String $ende Ende des Termins
|
||||
* @return boolean
|
||||
*/
|
||||
function checkCollision($uid, $beginn, $ende)
|
||||
{
|
||||
$collision = false;
|
||||
|
||||
@@ -132,7 +132,7 @@ if(!$rechte->isBerechtigt('lehre/pruefungstermin'))
|
||||
<table>
|
||||
<tr>
|
||||
<?php
|
||||
if(!$rechte->isBerechtigt('lehre/pruefungsterminAll'))
|
||||
if(!$rechte->isBerechtigt('lehre/pruefungsterminAdmin'))
|
||||
{
|
||||
echo '<input id="mitarbeiter_uid" type="hidden" value="'.$uid.'"/>
|
||||
<script>
|
||||
|
||||
Reference in New Issue
Block a user