mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +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>
|
||||
|
||||
@@ -1937,7 +1937,7 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->semesterwochen = $row->semesterwochen;
|
||||
$lv_obj->lvnr = $row->lvnr;
|
||||
$lv_obj->semester_alternativ = $row->semester_alternativ;
|
||||
$lv_obj->farbe = $row->farbe;
|
||||
$lv_obj->farbe = $row->farbe;
|
||||
|
||||
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
|
||||
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
|
||||
@@ -2048,5 +2048,42 @@ class lehrveranstaltung extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Lädt alle Lehreinheit_IDs eine Lehrveranstaltung (optional mit Studiensemester)
|
||||
* @param integer $lehrveranstaltung_id ID der Lehrveranstaltung
|
||||
* @param string $uid UID eines Studenten
|
||||
* @param string $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters
|
||||
* @return boolean|array false, wenn eine Fehler auftritt; Array mit UIDs wenn erfolgreich
|
||||
*/
|
||||
public function getLehreinheitenOfLv($lehrveranstaltung_id, $uid, $studiensemester_kurzbz=null)
|
||||
{
|
||||
if(!is_numeric($lehrveranstaltung_id))
|
||||
{
|
||||
$this->errormsg = "Lehrveranstaltung ID muss eine gültige Zahl sein.";
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'SELECT lehreinheit_id FROM campus.vw_student_lehrveranstaltung WHERE '
|
||||
. 'lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id)
|
||||
. ' AND uid='.$this->db_add_param($uid);
|
||||
|
||||
if(!is_null($studiensemester_kurzbz))
|
||||
{
|
||||
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz);
|
||||
}
|
||||
$qry .= ' ORDER BY lehreinheit_id;';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
$result = array();
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
array_push($result, $row->lehreinheit_id);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
+416
-367
@@ -24,381 +24,430 @@ require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class pruefung extends basis_db
|
||||
{
|
||||
public $new; // boolean
|
||||
public $result = array(); // pruefung Objekt
|
||||
public $new; // boolean
|
||||
public $result = array(); // pruefung Objekt
|
||||
|
||||
public $pruefung_id;
|
||||
public $lehreinheit_id; // integer
|
||||
public $student_uid; // varchar(16)
|
||||
public $mitarbeiter_uid; // varchar(16)
|
||||
public $note; // smallint
|
||||
public $pruefungstyp_kurzbz; // varchar(16)
|
||||
public $datum; // Date
|
||||
public $anmerkung; // varchar(256)
|
||||
public $insertamum; // timestamp)
|
||||
public $insertvon; // varchar(16)
|
||||
public $updateamum; // timestamp
|
||||
public $updatevon; // varchar(16)
|
||||
public $ext_id; // bigint
|
||||
public $pruefung_id;
|
||||
public $lehreinheit_id; // integer
|
||||
public $student_uid; // varchar(16)
|
||||
public $mitarbeiter_uid; // varchar(16)
|
||||
public $note; // smallint
|
||||
public $pruefungstyp_kurzbz; // varchar(16)
|
||||
public $datum; // Date
|
||||
public $anmerkung; // varchar(256)
|
||||
public $insertamum; // timestamp)
|
||||
public $insertvon; // varchar(16)
|
||||
public $updateamum; // timestamp
|
||||
public $updatevon; // varchar(16)
|
||||
public $ext_id; // bigint
|
||||
public $pruefungsanmeldung_id; // bigint
|
||||
|
||||
public $lehrveranstaltung_bezeichnung;
|
||||
public $lehrveranstaltung_id;
|
||||
public $note_bezeichnung;
|
||||
public $pruefungstyp_beschreibung;
|
||||
public $studiensemester_kurzbz;
|
||||
public $lehrveranstaltung_bezeichnung;
|
||||
public $lehrveranstaltung_id;
|
||||
public $note_bezeichnung;
|
||||
public $pruefungstyp_beschreibung;
|
||||
public $studiensemester_kurzbz;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param pruefung_id ID der zu ladenden Pruefung
|
||||
*/
|
||||
public function __construct($pruefung_id=null)
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param pruefung_id ID der zu ladenden Pruefung
|
||||
*/
|
||||
public function __construct($pruefung_id=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if($pruefung_id!=null)
|
||||
$this->load($pruefung_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Prüfungsdatensatz
|
||||
* @param pruefung_id ID
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function load($pruefung_id)
|
||||
{
|
||||
if(!is_numeric($pruefung_id))
|
||||
{
|
||||
$this->errormsg = 'pruefung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT tbl_pruefung.*, tbl_lehreinheit.lehrveranstaltung_id, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz
|
||||
FROM lehre.tbl_pruefung JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) WHERE pruefung_id=$pruefung_id";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->pruefung_id = $row->pruefung_id;
|
||||
$this->lehreinheit_id=$row->lehreinheit_id;
|
||||
$this->student_uid=$row->student_uid;
|
||||
$this->mitarbeiter_uid=$row->mitarbeiter_uid;
|
||||
$this->note=$row->note;
|
||||
$this->pruefungstyp_kurzbz=$row->pruefungstyp_kurzbz;
|
||||
$this->datum=$row->datum;
|
||||
$this->anmerkung=$row->anmerkung;
|
||||
$this->insertamum=$row->insertamum;
|
||||
$this->insertvon=$row->insertvon;
|
||||
$this->updateamum=$row->updateamum;
|
||||
$this->updatevon=$row->updatevon;
|
||||
$this->ext_id=$row->ext_id;
|
||||
$this->pruefungsanmeldung_id=$row->pruefungsanmeldung_id;
|
||||
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert alle Pruefungen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function getAll($order=null, $student=null)
|
||||
{
|
||||
$qry = 'SELECT * FROM lehre.tbl_pruefung';
|
||||
if ($student)
|
||||
$qry.=' WHERE student ="'.addslashes($student).'"';
|
||||
|
||||
if($order!=null)
|
||||
$qry .=" ORDER BY $order";
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$pruef_obj = new pruefung();
|
||||
$pruef_obj->lehreinheit_id=$row->lehreinheit_id;
|
||||
$pruef_obj->student_uid=$row->student_uid;
|
||||
$pruef_obj->mitarbeiter_uid=$row->mitarbeiter_uid;
|
||||
$pruef_obj->note=$row->note;
|
||||
$pruef_obj->pruefungstyp_kurzbz=$row->pruefungstyp_kurzbz;
|
||||
$pruef_obj->datum=$row->datum;
|
||||
$pruef_obj->anmerkung=$row->anmerkung;
|
||||
$pruef_obj->insertamum=$row->insertamum;
|
||||
$pruef_obj->insertvon=$row->insertvon;
|
||||
$pruef_obj->updateamum=$row->updateamum;
|
||||
$pruef_obj->updatevon=$row->updatevon;
|
||||
$pruef_obj->ext_id=$row->ext_id;
|
||||
$pruef_obj->pruefungsanmeldung_id=$row->pruefungsanmeldung_id;
|
||||
|
||||
$this->result[] = $pruef_obj;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht eine Pruefung
|
||||
* @param $preufung_id ID der zu loeschenden Pruefung
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function delete($pruefung_id)
|
||||
{
|
||||
if(!is_numeric($pruefung_id))
|
||||
{
|
||||
$this->errormsg = 'Pruefung_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM lehre.tbl_pruefung WHERE pruefung_id='$pruefung_id'";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Loeschen der Pruefung';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Gueltigkeit der Variablen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function validate()
|
||||
{
|
||||
//Laenge Pruefen
|
||||
if(mb_strlen($this->anmerkung)>256)
|
||||
{
|
||||
$this->errormsg = 'Anmerkung darf nicht laenger als 256 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function save()
|
||||
{
|
||||
//Gueltigkeit der Variablen pruefen
|
||||
if(!$this->validate())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = 'BEGIN;INSERT INTO lehre.tbl_pruefung (lehreinheit_id, student_uid, mitarbeiter_uid, note, pruefungstyp_kurzbz, datum, anmerkung, insertamum, insertvon, updateamum, updatevon, ext_id, pruefungsanmeldung_id) VALUES ('.
|
||||
$this->addslashes($this->lehreinheit_id).', '.
|
||||
$this->addslashes($this->student_uid).', '.
|
||||
$this->addslashes($this->mitarbeiter_uid).', '.
|
||||
$this->addslashes($this->note).', '.
|
||||
$this->addslashes($this->pruefungstyp_kurzbz).', '.
|
||||
$this->addslashes($this->datum).', '.
|
||||
$this->addslashes($this->anmerkung).', '.
|
||||
$this->addslashes($this->insertamum).', '.
|
||||
$this->addslashes($this->insertvon).', '.
|
||||
$this->addslashes($this->updateamum).', '.
|
||||
$this->addslashes($this->updatevon).', '.
|
||||
$this->addslashes($this->ext_id).', '.
|
||||
$this->addslashes($this->pruefungsanmeldung_id).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
//bestehenden Datensatz akualisieren
|
||||
|
||||
//Pruefen ob pruefung_id gueltig ist
|
||||
if(!is_numeric($this->pruefung_id))
|
||||
{
|
||||
$this->errormsg = 'pruefung_id ist ungueltig.';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'UPDATE lehre.tbl_pruefung SET '.
|
||||
'lehreinheit_id='.$this->addslashes($this->lehreinheit_id).', '.
|
||||
'student_uid='.$this->addslashes($this->student_uid).', '.
|
||||
'mitarbeiter_uid='.$this->addslashes($this->mitarbeiter_uid).', '.
|
||||
'note='.$this->addslashes($this->note).', '.
|
||||
'pruefungstyp_kurzbz='.$this->addslashes($this->pruefungstyp_kurzbz).', '.
|
||||
'datum='.$this->addslashes($this->datum).', '.
|
||||
'anmerkung='.$this->addslashes($this->anmerkung).', '.
|
||||
'insertamum='.$this->addslashes($this->insertamum).', '.
|
||||
'insertvon='.$this->addslashes($this->insertvon).', '.
|
||||
'updateamum='.$this->addslashes($this->updateamum).', '.
|
||||
'updatevon='.$this->addslashes($this->updatevon).', '.
|
||||
'ext_id='.$this->addslashes($this->ext_id).', '.
|
||||
'pruefungsanmeldung_id='.$this->addslashes($this->pruefungsanmeldung_id).' '.
|
||||
'WHERE pruefung_id='.$this->addslashes($this->pruefung_id).';';
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->new)
|
||||
{
|
||||
//Sequence auslesen
|
||||
$qry = "SELECT currval('lehre.tbl_pruefung_pruefung_id_seq') as id";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->pruefung_id = $row->id;
|
||||
$this->db_query('COMMIT');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db_query('ROLLBACK');
|
||||
$this->errormsg = 'Fehler beim Speichern der Pruefung:'.$this->db_last_error();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert alle Pruefungen eines Studenten
|
||||
* @param student_uid
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function getPruefungen($student_uid, $pruefungstyp=null,$lv_id=null,$stsem=null)
|
||||
{
|
||||
$qry = "SELECT tbl_pruefung.*, tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id,
|
||||
tbl_note.bezeichnung as note_bezeichnung, tbl_pruefungstyp.beschreibung as typ_beschreibung, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz
|
||||
FROM lehre.tbl_pruefung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_note, lehre.tbl_pruefungstyp
|
||||
WHERE student_uid='".addslashes($student_uid)."'
|
||||
AND tbl_pruefung.lehreinheit_id=tbl_lehreinheit.lehreinheit_id
|
||||
AND tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
|
||||
AND tbl_pruefung.note = tbl_note.note
|
||||
AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz";
|
||||
if ($pruefungstyp != null)
|
||||
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = '".addslashes($pruefungstyp)."'";
|
||||
if ($lv_id != null)
|
||||
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = '".addslashes($lv_id)."'";
|
||||
if ($stsem != null)
|
||||
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = '".addslashes($stsem)."'";
|
||||
|
||||
$qry .= " ORDER BY datum DESC";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new pruefung();
|
||||
|
||||
$obj->pruefung_id = $row->pruefung_id;
|
||||
$obj->lehreinheit_id = $row->lehreinheit_id;
|
||||
$obj->student_uid = $row->student_uid;
|
||||
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$obj->note = $row->note;
|
||||
$obj->note_bezeichnung = $row->note_bezeichnung;
|
||||
$obj->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
|
||||
$obj->pruefungstyp_beschreibung = $row->typ_beschreibung;
|
||||
$obj->datum = $row->datum;
|
||||
$obj->anmerkung = $row->anmerkung;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->lehrveranstaltung_bezeichnung = $row->lehrveranstaltung_bezeichnung;
|
||||
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Pruefungen zu einer Lehrveranstaltung
|
||||
*
|
||||
* @param $lv_id
|
||||
* @param $pruefungstyp
|
||||
* @param $stsem
|
||||
* @return boolean
|
||||
*/
|
||||
public function getPruefungenLV($lv_id, $pruefungstyp=null, $stsem=null)
|
||||
{
|
||||
$qry = "SELECT tbl_pruefung.*, tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id,
|
||||
tbl_note.bezeichnung as note_bezeichnung, tbl_pruefungstyp.beschreibung as typ_beschreibung, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz
|
||||
FROM lehre.tbl_pruefung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_note, lehre.tbl_pruefungstyp
|
||||
WHERE tbl_pruefung.lehreinheit_id=tbl_lehreinheit.lehreinheit_id
|
||||
AND tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
|
||||
AND tbl_pruefung.note = tbl_note.note
|
||||
AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz";
|
||||
if ($pruefungstyp != null)
|
||||
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = '".addslashes($pruefungstyp)."'";
|
||||
if ($lv_id != null)
|
||||
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = '".addslashes($lv_id)."'";
|
||||
if ($stsem != null)
|
||||
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = '".addslashes($stsem)."'";
|
||||
|
||||
$qry .= " ORDER BY datum DESC";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new pruefung();
|
||||
|
||||
$obj->pruefung_id = $row->pruefung_id;
|
||||
$obj->lehreinheit_id = $row->lehreinheit_id;
|
||||
$obj->student_uid = $row->student_uid;
|
||||
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$obj->note = $row->note;
|
||||
$obj->note_bezeichnung = $row->note_bezeichnung;
|
||||
$obj->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
|
||||
$obj->pruefungstyp_beschreibung = $row->typ_beschreibung;
|
||||
$obj->datum = $row->datum;
|
||||
$obj->anmerkung = $row->anmerkung;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->lehrveranstaltung_bezeichnung = $row->lehrveranstaltung_bezeichnung;
|
||||
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Lädt die Prüfunge zur übergebenen Prüfungsanmeldung
|
||||
* @param int $pruefungsanmeldung_id ID der Prüfungsanmeldung
|
||||
* @return boolean
|
||||
*/
|
||||
public function getPruefungByAnmeldung($pruefungsanmeldung_id)
|
||||
{
|
||||
if(!is_numeric($pruefungsanmeldung_id))
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if($pruefung_id!=null)
|
||||
$this->load($pruefung_id);
|
||||
$this->errormsg = 'pruefungsanmeldung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Prüfungsdatensatz
|
||||
* @param pruefung_id ID
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function load($pruefung_id)
|
||||
$qry = "SELECT * FROM lehre.tbl_pruefung WHERE pruefungsanmeldung_id=".$this->db_add_param($pruefungsanmeldung_id).";";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if(!is_numeric($pruefung_id))
|
||||
{
|
||||
$this->errormsg = 'pruefung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT tbl_pruefung.*, tbl_lehreinheit.lehrveranstaltung_id, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz
|
||||
FROM lehre.tbl_pruefung JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) WHERE pruefung_id=$pruefung_id";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->pruefung_id = $row->pruefung_id;
|
||||
$this->lehreinheit_id=$row->lehreinheit_id;
|
||||
$this->student_uid=$row->student_uid;
|
||||
$this->mitarbeiter_uid=$row->mitarbeiter_uid;
|
||||
$this->note=$row->note;
|
||||
$this->pruefungstyp_kurzbz=$row->pruefungstyp_kurzbz;
|
||||
$this->datum=$row->datum;
|
||||
$this->anmerkung=$row->anmerkung;
|
||||
$this->insertamum=$row->insertamum;
|
||||
$this->insertvon=$row->insertvon;
|
||||
$this->updateamum=$row->updateamum;
|
||||
$this->updatevon=$row->updatevon;
|
||||
$this->ext_id=$row->ext_id;
|
||||
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->pruefung_id = $row->pruefung_id;
|
||||
$this->lehreinheit_id=$row->lehreinheit_id;
|
||||
$this->student_uid=$row->student_uid;
|
||||
$this->mitarbeiter_uid=$row->mitarbeiter_uid;
|
||||
$this->note=$row->note;
|
||||
$this->pruefungstyp_kurzbz=$row->pruefungstyp_kurzbz;
|
||||
$this->datum=$row->datum;
|
||||
$this->anmerkung=$row->anmerkung;
|
||||
$this->insertamum=$row->insertamum;
|
||||
$this->insertvon=$row->insertvon;
|
||||
$this->updateamum=$row->updateamum;
|
||||
$this->updatevon=$row->updatevon;
|
||||
$this->ext_id=$row->ext_id;
|
||||
$this->pruefungsanmeldung_id=$row->pruefungsanmeldung_id;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert alle Pruefungen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function getAll($order=null, $student=null)
|
||||
{
|
||||
$qry = 'SELECT * FROM lehre.tbl_pruefung';
|
||||
if ($student)
|
||||
$qry.=' WHERE student ="'.addslashes($student).'"';
|
||||
|
||||
if($order!=null)
|
||||
$qry .=" ORDER BY $order";
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$pruef_obj = new pruefung();
|
||||
$pruef_obj->lehreinheit_id=$row->lehreinheit_id;
|
||||
$pruef_obj->student_uid=$row->student_uid;
|
||||
$pruef_obj->mitarbeiter_uid=$row->mitarbeiter_uid;
|
||||
$pruef_obj->note=$row->note;
|
||||
$pruef_obj->pruefungstyp_kurzbz=$row->pruefungstyp_kurzbz;
|
||||
$pruef_obj->datum=$row->datum;
|
||||
$pruef_obj->anmerkung=$row->anmerkung;
|
||||
$pruef_obj->insertamum=$row->insertamum;
|
||||
$pruef_obj->insertvon=$row->insertvon;
|
||||
$pruef_obj->updateamum=$row->updateamum;
|
||||
$pruef_obj->updatevon=$row->updatevon;
|
||||
$pruef_obj->ext_id=$row->ext_id;
|
||||
|
||||
$this->result[] = $pruef_obj;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht eine Pruefung
|
||||
* @param $preufung_id ID der zu loeschenden Pruefung
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function delete($pruefung_id)
|
||||
{
|
||||
if(!is_numeric($pruefung_id))
|
||||
{
|
||||
$this->errormsg = 'Pruefung_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM lehre.tbl_pruefung WHERE pruefung_id='$pruefung_id'";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Loeschen der Pruefung';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Gueltigkeit der Variablen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function validate()
|
||||
{
|
||||
//Laenge Pruefen
|
||||
if(mb_strlen($this->anmerkung)>256)
|
||||
{
|
||||
$this->errormsg = 'Anmerkung darf nicht laenger als 256 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function save()
|
||||
{
|
||||
//Gueltigkeit der Variablen pruefen
|
||||
if(!$this->validate())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = 'BEGIN;INSERT INTO lehre.tbl_pruefung (lehreinheit_id, student_uid, mitarbeiter_uid, note, pruefungstyp_kurzbz, datum, anmerkung, insertamum, insertvon, updateamum, updatevon, ext_id) VALUES ('.
|
||||
$this->addslashes($this->lehreinheit_id).', '.
|
||||
$this->addslashes($this->student_uid).', '.
|
||||
$this->addslashes($this->mitarbeiter_uid).', '.
|
||||
$this->addslashes($this->note).', '.
|
||||
$this->addslashes($this->pruefungstyp_kurzbz).', '.
|
||||
$this->addslashes($this->datum).', '.
|
||||
$this->addslashes($this->anmerkung).', '.
|
||||
$this->addslashes($this->insertamum).', '.
|
||||
$this->addslashes($this->insertvon).', '.
|
||||
$this->addslashes($this->updateamum).', '.
|
||||
$this->addslashes($this->updatevon).', '.
|
||||
$this->addslashes($this->ext_id).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
//bestehenden Datensatz akualisieren
|
||||
|
||||
//Pruefen ob pruefung_id gueltig ist
|
||||
if(!is_numeric($this->pruefung_id))
|
||||
{
|
||||
$this->errormsg = 'pruefung_id ist ungueltig.';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'UPDATE lehre.tbl_pruefung SET '.
|
||||
'lehreinheit_id='.$this->addslashes($this->lehreinheit_id).', '.
|
||||
'student_uid='.$this->addslashes($this->student_uid).', '.
|
||||
'mitarbeiter_uid='.$this->addslashes($this->mitarbeiter_uid).', '.
|
||||
'note='.$this->addslashes($this->note).', '.
|
||||
'pruefungstyp_kurzbz='.$this->addslashes($this->pruefungstyp_kurzbz).', '.
|
||||
'datum='.$this->addslashes($this->datum).', '.
|
||||
'anmerkung='.$this->addslashes($this->anmerkung).', '.
|
||||
'insertamum='.$this->addslashes($this->insertamum).', '.
|
||||
'insertvon='.$this->addslashes($this->insertvon).', '.
|
||||
'updateamum='.$this->addslashes($this->updateamum).', '.
|
||||
'updatevon='.$this->addslashes($this->updatevon).', '.
|
||||
'ext_id='.$this->addslashes($this->ext_id).' '.
|
||||
'WHERE pruefung_id='.$this->addslashes($this->pruefung_id).';';
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->new)
|
||||
{
|
||||
//Sequence auslesen
|
||||
$qry = "SELECT currval('lehre.tbl_pruefung_pruefung_id_seq') as id";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->pruefung_id = $row->id;
|
||||
$this->db_query('COMMIT');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db_query('ROLLBACK');
|
||||
$this->errormsg = 'Fehler beim Speichern der Pruefung:'.$this->db_last_error();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert alle Pruefungen eines Studenten
|
||||
* @param student_uid
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function getPruefungen($student_uid, $pruefungstyp=null,$lv_id=null,$stsem=null)
|
||||
{
|
||||
$qry = "SELECT tbl_pruefung.*, tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id,
|
||||
tbl_note.bezeichnung as note_bezeichnung, tbl_pruefungstyp.beschreibung as typ_beschreibung, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz
|
||||
FROM lehre.tbl_pruefung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_note, lehre.tbl_pruefungstyp
|
||||
WHERE student_uid='".addslashes($student_uid)."'
|
||||
AND tbl_pruefung.lehreinheit_id=tbl_lehreinheit.lehreinheit_id
|
||||
AND tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
|
||||
AND tbl_pruefung.note = tbl_note.note
|
||||
AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz";
|
||||
if ($pruefungstyp != null)
|
||||
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = '".addslashes($pruefungstyp)."'";
|
||||
if ($lv_id != null)
|
||||
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = '".addslashes($lv_id)."'";
|
||||
if ($stsem != null)
|
||||
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = '".addslashes($stsem)."'";
|
||||
|
||||
$qry .= " ORDER BY datum DESC";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new pruefung();
|
||||
|
||||
$obj->pruefung_id = $row->pruefung_id;
|
||||
$obj->lehreinheit_id = $row->lehreinheit_id;
|
||||
$obj->student_uid = $row->student_uid;
|
||||
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$obj->note = $row->note;
|
||||
$obj->note_bezeichnung = $row->note_bezeichnung;
|
||||
$obj->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
|
||||
$obj->pruefungstyp_beschreibung = $row->typ_beschreibung;
|
||||
$obj->datum = $row->datum;
|
||||
$obj->anmerkung = $row->anmerkung;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->lehrveranstaltung_bezeichnung = $row->lehrveranstaltung_bezeichnung;
|
||||
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Pruefungen zu einer Lehrveranstaltung
|
||||
*
|
||||
* @param $lv_id
|
||||
* @param $pruefungstyp
|
||||
* @param $stsem
|
||||
* @return boolean
|
||||
*/
|
||||
public function getPruefungenLV($lv_id, $pruefungstyp=null, $stsem=null)
|
||||
{
|
||||
$qry = "SELECT tbl_pruefung.*, tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id,
|
||||
tbl_note.bezeichnung as note_bezeichnung, tbl_pruefungstyp.beschreibung as typ_beschreibung, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz
|
||||
FROM lehre.tbl_pruefung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_note, lehre.tbl_pruefungstyp
|
||||
WHERE tbl_pruefung.lehreinheit_id=tbl_lehreinheit.lehreinheit_id
|
||||
AND tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
|
||||
AND tbl_pruefung.note = tbl_note.note
|
||||
AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz";
|
||||
if ($pruefungstyp != null)
|
||||
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = '".addslashes($pruefungstyp)."'";
|
||||
if ($lv_id != null)
|
||||
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = '".addslashes($lv_id)."'";
|
||||
if ($stsem != null)
|
||||
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = '".addslashes($stsem)."'";
|
||||
|
||||
$qry .= " ORDER BY datum DESC";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new pruefung();
|
||||
|
||||
$obj->pruefung_id = $row->pruefung_id;
|
||||
$obj->lehreinheit_id = $row->lehreinheit_id;
|
||||
$obj->student_uid = $row->student_uid;
|
||||
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$obj->note = $row->note;
|
||||
$obj->note_bezeichnung = $row->note_bezeichnung;
|
||||
$obj->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
|
||||
$obj->pruefungstyp_beschreibung = $row->typ_beschreibung;
|
||||
$obj->datum = $row->datum;
|
||||
$obj->anmerkung = $row->anmerkung;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->lehrveranstaltung_bezeichnung = $row->lehrveranstaltung_bezeichnung;
|
||||
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -641,6 +641,11 @@ class pruefungCis extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Lädt alle Prüfungen
|
||||
* @param String $mitarbeiter_uid UID des Mitarbeiters (optional)
|
||||
* @return boolean
|
||||
*/
|
||||
public function getAllPruefungen($mitarbeiter_uid = NULL)
|
||||
{
|
||||
$qry = 'SELECT * FROM campus.tbl_pruefung';
|
||||
|
||||
Reference in New Issue
Block a user