diff --git a/CHANGELOG.md b/CHANGELOG.md old mode 100644 new mode 100755 index ae444eef4..3e0abb406 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,16 +9,18 @@ - **[CORE]** Reihungstest Punkteübernahme oder Prozentpunkte ist konfigurierbar - **[CIS]** LVPlan Export für Excel - **[FAS]** Termine Karteireiter im FAS zeigt die Anmerkung aus dem LVPlan an +- **[CIS]** Onlinebewerbungstool greift auf mehrsprachige Statusbezeichnungen zu. ### Changed - **[FAS]** Dokumente Menü im FAS neu sortiert um den Lebenszyklus des Studierenden abzubilden - **[CORE]** LVPlan Update Mail ist nun zweisprachig Deutsch/Englisch - **[FAS]** Prüfungen im FAS werden nur noch vom aktuell ausgewählten Studiensemester angezeigt. Umschalten auf volle Ansicht möglich -- **[CIS]** LVPlan Begrenzung der 4er Blockung aufgehoben. +- **[CIS]** LVPlan Begrenzung der 4er Blockung aufgehoben. - **[CIS]** Im Menü 'Zeitsperren' Link zu Resturlaubsübersicht entfernt. Falls benötigt Verlinkung über CMS möglich. - + ### Updateinfo -- **[FAS]** Für Lehraufträge muss eine Unoconv-Vorlage erstellt werden, da der für xsl-fo notwendige Seitenumbruch-Tag aus dem RDF entfernt wurde. +- **[FAS]** Für Lehraufträge muss eine Unoconv-Vorlage erstellt werden, da der für xsl-fo notwendige Seitenumbruch-Tag aus dem RDF entfernt wurde. +- **[FAS]** Mehrsprachigkeitsspalte tbl_status.bezeichnung_mehrsprachig wird durch das Updatescript automatisch in den ersten beiden Sprachen mit der status_kurzbz vorbefüllt. Übersetzungen sind anzupassen. ## [3.1.0] - 2015-11-12 ### Added @@ -26,7 +28,7 @@ - **[FAS]** Bei Noten können zusätzlich Punkte gespeichert werden. Notenschlüssel für Gesamtnote kann hinterlegt werden - **[FAS]** Anwesenheiten von Studierenden können erfasst werden - **[FAS]** Vertragsverwaltung bei Mitarbeiter -- **[FAS]** Dokumente im FAS können mit SHIFT bzw STRG statt als PDF auch als DOC oder ODT erstellt werden +- **[FAS]** Dokumente im FAS können mit SHIFT bzw STRG statt als PDF auch als DOC oder ODT erstellt werden - **[BERECHTIGUNG]** system/changeoutputformat Legt fest ob Dokumente als DOC/ODT exportiert werden dürfen - **[FAS]** Termine Karteireiter im FAS zeigt den LVPlan von Studierenden/Lehrveranstaltungen - **[FAS]** Bereits verplante Lektoren können vom FAS aus, aus dem LVPlan gelöscht werden. Zusätzlich wird im FAS angezeigt ob dieser Lektor bereits verplant ist @@ -38,7 +40,7 @@ - **[CORE]** Mehrsprachigkeit bei diversen Tabellen (Dokumente, ZGV, ...) hinzugefügt ### Fixed -- **[TEMPUS]** Kollisionsfreie User werden in Verbandsansicht nicht mehr als Kollision angezeigt +- **[TEMPUS]** Kollisionsfreie User werden in Verbandsansicht nicht mehr als Kollision angezeigt ### Changed - **[FAS]** Stundenobergrenze für Lektoren kann jetzt pro Organisationseinheit festgelegt werden. (warn_semesterstunden_frei/fix tbl_organisationseinheit) diff --git a/cis/private/lehre/pruefung/pruefung.js b/cis/private/lehre/pruefung/pruefung.js index 8708d574f..a68c07d08 100644 --- a/cis/private/lehre/pruefung/pruefung.js +++ b/cis/private/lehre/pruefung/pruefung.js @@ -436,9 +436,10 @@ function openDialog(lehrveranstaltung_id, termin_id, lvBezeichnung, terminVon, t error: loadError }).success(function(data){ var html = ""; + html += '"; data.result.forEach(function(v, i){ - console.log(i); - console.log(v); html += '"; @@ -486,8 +487,6 @@ function saveAnmeldung(lehrveranstaltung_id, termin_id) var studienverpflichtung_id = null; if($("#studienverpflichtung").length) studienverpflichtung_id = $("#studienverpflichtung option:selected").val(); - - console.log(studienverpflichtung_id); $.ajax({ dataType: 'json', diff --git a/cis/private/lehre/pruefung/pruefung.js.php b/cis/private/lehre/pruefung/pruefung.js.php new file mode 100755 index 000000000..08d718d9c --- /dev/null +++ b/cis/private/lehre/pruefung/pruefung.js.php @@ -0,0 +1,2047 @@ + + */ + +require_once('../../../../config/cis.config.inc.php'); +require_once('../../../../include/phrasen.class.php'); +require_once('../../../../include/globals.inc.php'); +require_once('../../../../include/sprache.class.php'); + +$sprache = getSprache(); +$lang = new sprache(); +$lang->load($sprache); +$p = new phrasen($sprache); +?> + +/* Copyright (C) 2013 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 + */ + +/** + * Liest GET Variablen einer URL aus + * @returns {String|value|Element.value|document@arr;all.value} + */ +function getUrlVars() { + var vars = {}; + var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) { + vars[key] = value; + }); + return vars; +} + +/** + * Initialisiert den Datepicker + * @param {type} ele + * @returns {undefined} + */ +function setDatePicker(ele) +{ + var start = $("#pruefungsfenster option:selected").attr("start"); + start = start.split('-'); + var ende = $("#pruefungsfenster option:selected").attr("ende"); + ende = ende.split('-'); + $("#prfTermin input[type=text]").each(function(i,v){ + $("#"+v.id).datepicker("destroy"); + $("#"+v.id).datepicker({ + minDate: new Date(start[0],start[1]-1,start[2]), + maxDate: new Date(ende[0],ende[1]-1,ende[2]) + }); + }); + $("#pruefungsfenster").attr("onchange", "setDatePicker()"); +} + +/** + * Fügt ein neunes Formularfeld für einen zusätzlichen Termin hinzu + * @param {type} htmlTag + * @returns {undefined} + */ +function terminHinzufuegen(htmlTag) +{ + htmlTag = (htmlTag===undefined ? "input" : htmlTag); + switch(htmlTag) + { + case 'input': + var count = $("#prfTermin tr").length+1; + $("#prfTermin").append(''); + setDatePicker(); + break; + case 'span': + var count = $("#prfTermin tr").length+1; + $("#prfTermin").append(''); + break; + } + +} + +/** + * Fügt ein neues Dropdownfeld zur Auswahl der Lehrveranstaltung hinzu + * @param {type} element + * @param {type} isChanged + * @returns {undefined} + */ +function lehrveranstaltungDropdownhinzufuegen(element, isChanged) +{ + if(!isChanged) + { + var newSelect = $("#lvDropdown1").clone(); + newSelect.attr("onchange", "lehrveranstaltungDropdownhinzufuegen(this, false);"); + var id = $("#lvDropdowns select").length+1; + newSelect.attr("id", "lvDropdown"+id); + element.setAttribute("onchange", "lehrveranstaltungDropdownhinzufuegen(this, true);"); + newSelect.appendTo("#lvDropdowns"); + $("#lvDropdowns").append("
"); + } + +} + +/** + * 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 die Prüfungstenster eines Studiensemesters + * @returns {undefined} + */ +function loadPruefungsfenster() +{ + var studiensemester_kurzbz = $("#studiensemester option:selected").val(); + $.ajax({ + dataType: 'json', + url: "./pruefungstermin.json.php", + type: "POST", + data: { + method: "getPruefungsfensterByStudiensemester", + studiensemester_kurzbz: studiensemester_kurzbz + }, + error: loadError + }).success(function(data){ + if(data.result.length === 0) + { + messageBox("message", "t('pruefung/keinFensterVorhanden'); ?>", "red", "highlight", 1000); + $("#pruefungsfenster").html(""); + } + else + { + writePruefungsfenster(data); + setDatePicker(); + } + }).complete(function(){ + + }); +} + +/** + * Schreibt die Daten des geladenen Prüfungsfensters + * @param {type} data + * @returns {undefined} + */ +function writePruefungsfenster(data) +{ + var prfFensterId = getUrlVars()["prfFensterId"]; + $("#pruefungsfenster").empty(); + $.each(data.result, function(i, v) + { + if(v.oe_kurzbz !== null) + { + var start = v.start; + var ende = v.ende; + start = start.split('-'); + ende = ende.split('-'); + start = new Date(start[0], start[1]-1,start[2]); + ende = new Date(ende[0], ende[1]-1,ende[2]); + start = start.getDate()+"."+(start.getMonth()+1)+"."+start.getFullYear(); + ende = ende.getDate()+"."+(ende.getMonth()+1)+"."+ende.getFullYear(); + if(v.pruefungsfenster_id === prfFensterId) + { + $("#pruefungsfenster").append(""); + } + else + { + $("#pruefungsfenster").append(""); + } + } + else + { + $("#pruefungsfenster").html(""); + } + + }); +} + +/** + * Lädt alle Prüfungen eines Studenten zu deren LVs er angemeldet ist + * @returns {undefined} + */ +function loadPruefungen() +{ + $.ajax({ + dataType: 'json', + url: "./pruefungsanmeldung.json.php", + type: "POST", + data: { + method: "getPruefungByLv", + studiensemester: $("#filter_studiensemester").val() + }, + error: loadError + }).success(function(data){ + $("#pruefungen").empty(); + if(data.error === 'false') + { + data.result.pruefungen.forEach(function(e){ + if(e.pruefung.storniert === false) + { + var table = writePruefungsTable(e, data, true); + $("#pruefungen").append(table); + } + }); + } + else + { + $("#pruefungen").append("t('pruefung/keineDatenVorhanden'); ?>"); + } + }).complete(function(event, xhr, settings){ + setTablesorter("table1"); + }); +} + +/** + * Lädt alle Prüfungen eines Studienganges + * @returns {undefined} + */ +function loadPruefungenOfStudiengang() +{ + $.ajax({ + dataType: 'json', + url: "./pruefungsanmeldung.json.php", + type: "POST", + data: { + method: "getPruefungByLvFromStudiengang", + studiensemester: $("#filter_studiensemester").val() + }, + error: loadError + }).success(function(data){ + if(data.error === 'false') + { + data.result.pruefungen.forEach(function(e){ + if(e.pruefung.storniert === false) + { + var table = writePruefungsTable(e, data, true); + $("#pruefungenStudiengang").append(table); + } + }); + } + else + { + $("#pruefungenStudiengang").append("t('pruefung/keineDatenVorhanden'); ?>"); + } + }).complete(function(event, xhr, settings){ + setTablesorter("table2"); + }); +} + +/** + * Lädt alle Prüfungen + * @returns {undefined} + */ +function loadPruefungenGesamt() +{ + $.ajax({ + dataType: 'json', + url: "./pruefungsanmeldung.json.php", + type: "POST", + data: { + method: "getAllPruefungen", + }, + error: loadError + }).success(function(data){ + data.result.pruefungen.forEach(function(e){ + if(e.pruefung.storniert === false) + { + var table = writePruefungsTable(e, data, false); + $("#pruefungenGesamt").append(table); + } + }); + }).complete(function(event, xhr, settings){ + setTablesorter("table3"); + }); +} + +/** + * Schreibt die Daten der Prüfungen in eine Tabelle + * @param {type} e Daten der Prüfungen + * @param {type} data Daten der Anmeldungen + * @returns {String} + */ +function writePruefungsTable(e, data, anmeldung) +{ + var row = ""; + var teilnehmer = ""; + var button = ""; + row += ""+e.organisationseinheit+""+e.lehrveranstaltung[0].bezeichnung+""; + e.pruefung.termine.forEach(function(d){ + var storno = false; + var anmeldung_id = null; + data.result.anmeldungen.forEach(function(anmeldung){ + if((anmeldung.pruefungstermin_id === d.pruefungstermin_id) && (anmeldung.lehrveranstaltung_id === e.lehrveranstaltung[0].lehrveranstaltung_id)) + { + storno = true; + anmeldung_id= anmeldung.pruefungsanmeldung_id; + } + }); + var termin = d.von.split(" "); + var time = termin[1].substring(0,5); + termin = termin[0].split("-"); + termin = new Date(termin[0], termin[1]-1,termin[2]); + var frist = termin; + termin = termin.getDate()+"."+(termin.getMonth()+1)+"."+termin.getFullYear(); + frist = frist.getTime(); + frist = frist - (3*24*60*60*1000); + var fristDate = new Date(frist); + frist = fristDate.getDate()+"."+(fristDate.getMonth()+1)+"."+fristDate.getFullYear(); + + if(fristDate < new Date()) + { + if(!storno) + button = "

t('pruefung/anmeldefristAbgelaufen'); ?>
"; + else + button = "

Storno nicht mehr möglich.
"; + } + else if(anmeldung || e.lehrveranstaltung[0].angemeldet) + { + if(storno) + { + //button = "

Stornieren (bis "+frist+"):
"; + button = "

"+frist+"'>

"; + + } + else + { + //button = "

Anmelden (bis "+frist+"):

"; + button = "

"+frist+"';>

"; + } + } + else + { + button = "

' onclick='openAnmeldung(\""+e.lehrveranstaltung[0].lehrveranstaltung_id+"\", \""+e.pruefung.studiensemester_kurzbz+"\");'>

"; + } + + row += button; + + if(d.max === null) + { + teilnehmer += "unbegrenzt
"; + } + else + { + teilnehmer += "

"+(d.max - d.teilnehmer)+"/"+d.max+"

"; + } + }); + row += ""+teilnehmer+""; + return row; +} + +/** + * Lädt die Details zu einer Prüfung + * @param {type} prfId ID einer Prüfung + * @param {type} lvId ID einer Lehrveranstaltung + * @returns {undefined} + */ +function showPruefungsDetails(prfId, lvId) +{ + var prfId = prfId; + if(prfId!=="null") + { + $.ajax({ + dataType: 'json', + url: "./pruefungsanmeldung.json.php", + type: "POST", + data: { + method: "loadPruefung", + pruefung_id: prfId + }, + error: loadError + }).success(function(data){ + data.result.forEach(function(e){ + if(e.lehrveranstaltung.lehrveranstaltung_id === lvId) + { + var p = e.pruefung; + var l = e.lehrveranstaltung +// $("#prfTyp").html(p.pruefungstyp_kurzbz); + $("#prfMethode").html(p.methode); + $("#prfBeschreibung").html(p.beschreibung); + if(p.einzeln === true) + { + $("#prfEinzeln").html("Einzelprüfung!"); + $("#prfIntervall").html(p.pruefungsintervall+" min"); + $("#prfIntervall").prev().css("visibility", "visible"); + } + else + { + $("#prfEinzeln").html(""); + $("#prfIntervall").html(""); + $("#prfIntervall").prev().css("visibility", "hidden"); + } + $("#lvBez").html(l.bezeichnung); + if(l.ects !== null) + { + $("#lvEcts").html(l.ects); + } + else + { + $("#lvEcts").html("0"); + } + } + }); + $("#details").dialog("open"); + }); + } + else + { + $("#prfTermine").attr("disabled", true); + $("#prfTermine").html(""); + clearPrfDetails(); + } +} + +/** + * Öffnet einen Dialog zur Anmeldung zu einer Prüfung + * @param {type} lehrveranstaltung_id ID einer Lehrveransaltung + * @param {type} termin_id ID des Prüfungstermines + * @param {type} lvBezeichnung Bezeichnung der Lehrveranstaltung + * @param {type} terminVon Beginn der Prüfung + * @param {type} terminBis Ende der Prüfung + * @returns {undefined} + */ +function openDialog(lehrveranstaltung_id, termin_id, lvBezeichnung, terminVon, terminBis) +{ + $("#lehrveranstaltungHidden").val(lehrveranstaltung_id); + $("#terminHidden").val(termin_id); + $("#lehrveranstaltung").html(lvBezeichnung); + + $.ajax({ + dataType: 'json', + url: "./pruefungsanmeldung.json.php", + type: "POST", + data: { + method: "getLvKompatibel", + lehrveranstaltung_id: lehrveranstaltung_id + }, + error: loadError + }).success(function(data){ + var html = ""; + html += '"; + data.result.forEach(function(v, i){ + html += '"; + }); + $("#studienverpflichtung").html(html); + }); + + var start = terminVon; + var ende = terminBis; + start = start.split(' '); + ende = ende.split(' '); + var startTime = start[1]; + var endeTime = ende[1]; + start = start[0].split('-'); + ende = ende[0].split('-'); + start = new Date(start[0], start[1]-1,start[2]); + ende = new Date(ende[0], ende[1]-1,ende[2]); + start = start.getDate()+"."+(start.getMonth()+1)+"."+start.getFullYear(); + ende = ende.getDate()+"."+(ende.getMonth()+1)+"."+ende.getFullYear(); + + start += " "+startTime.substr(0,5)+" Uhr"; + ende += " "+endeTime.substr(0,5)+" Uhr"; + $("#terminVon").html(start); + $("#terminBis").html(ende); + $("#saveDialog").dialog("open"); +} + +/** + * speichert eine Prüfungsanmeldung + * @param {type} lehrveranstaltung_id ID der Lehrveranstaltung + * @param {type} termin_id ID des Prüfungstermines + * @returns {undefined} + */ +function saveAnmeldung(lehrveranstaltung_id, termin_id) +{ + var uid = $("#anmeldung_hinzufuegen_uid").val(); + if(lehrveranstaltung_id === undefined) + lehrveranstaltung_id = $("#lehrveranstaltungHidden").val(); + if(termin_id === undefined) + termin_id = $("#terminHidden").val(); + var bemerkungen = $("#anmeldungBemerkung").val(); + if(bemerkungen === undefined) + bemerkungen = "t('pruefung/bemerkungVonLektorHinzugefuegt'); ?>"; + + var studienverpflichtung_id = null; + if($("#studienverpflichtung").length) + studienverpflichtung_id = $("#studienverpflichtung option:selected").val(); + + $.ajax({ + dataType: 'json', + url: "./pruefungsanmeldung.json.php", + type: "POST", + data: { + method: "saveAnmeldung", + termin_id: termin_id, + lehrveranstaltung_id: lehrveranstaltung_id, + bemerkung: bemerkungen, + uid: uid, + studienverpflichtung_id: studienverpflichtung_id + }, + error: loadError + }).success(function(data){ + if(data.error === 'false') + { + messageBox("message", data.result, "green", "highlight", 1000); + } + else + { + messageBox("message", data.errormsg, "red", "highlight", 1000); + } + resetForm(); + }).complete(function(event, xhr, settings){ + $("#saveDialog").dialog("close"); + + if(uid === undefined) + { + //Wenn Anmeldung durch Student + refresh(); + } + else + { + //Wenn Anmeldung durch Lektor + showAnmeldungen(termin_id, lehrveranstaltung_id); + } + }); +} + +/** + * storniert eine Prüfungsanmeldung + * @param {type} pruefungsanmeldung_id ID einer Prüfungsanmeldung + * @returns {undefined} + */ +function stornoAnmeldung(pruefungsanmeldung_id) +{ + if(confirm("Anmeldung wirklich stornieren?")) + { + $.ajax({ + dataType: 'json', + url: "./pruefungsanmeldung.json.php", + type: "POST", + data: { + method: "stornoAnmeldung", + pruefungsanmeldung_id: pruefungsanmeldung_id + }, + error: loadError + }).success(function(data){ + if(data.error === 'false') + { + messageBox("message", data.result, "green", "highlight", 1000); + } + else + { + messageBox("message", data.errormsg, "red", "highlight", 1000); + } + }).complete(function(event, xhr, settings){ + refresh(); + }); + } +} + +/** + * Leer das DIV-Element der Prüfungsdetails + * @returns {undefined} + */ +function clearPrfDetails() +{ + $("#prfTyp").empty(); + $("#prfMethode").empty(); + $("#prfBeschreibung").empty(); + $("#prfEinzeln").empty(); +} + +/** + * Setzt ein Formular auf den Urzustand zurück + * @returns {undefined} + */ +function resetForm() +{ + $("form").find("input[type=text], textarea").val(""); + clearPrfDetails(); +} + +/** + * Initialisiert den tablesorter für eine Tabelle + * @param {type} tableId ID eines "table"-Elements + * @returns {undefined} + */ +function setTablesorter(tableId) +{ + if($("#"+tableId)[0].hasInitialized !== true) + { + $("#"+tableId).tablesorter({ + widgets: ["zebra"], + sortList: [[1,0]] + }); + } + else + { + $("#"+tableId).trigger("updateAll"); + var sorting = [[1,0],[0,0]]; + $("#"+tableId).trigger("sorton",[sorting]); + } +} + +/** + * Leert die Daten eines table-bodys + * @returns {undefined} + */ +function clearAccordion() +{ + $("#accordion tbody").each(function(i, v){ + $("#"+v.id).empty(); + }); +} + +/** + * Lädt die Seite der Prüfungsanmeldung neu + * @returns {undefined} + */ +function refresh() +{ + clearAccordion(); + loadPruefungen(); + loadPruefungenOfStudiengang(); + loadPruefungenGesamt(); +} + +/** + * 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 + * @param {String} type spezifiziet die Ausgabe ("time"|"date") + * @returns {String} Format: date: DD.MM.JJJJ; time: HH:MM + */ +function convertDateTime(string, type) +{ + switch (type) + { + case 'date': + string = string.split(' '); + string = string[0].split('-'); + string = new Date(string[0], string[1]-1,string[2]); + string = string.getDate()+"."+(string.getMonth()+1)+"."+string.getFullYear(); + break; + case 'time': + string = string.split(' '); + string = string[1].split(':'); + string = string[0]+":"+string[1]; + break; + default: + string = string.split(' '); + string = string[0].split('-'); + string = new Date(string[0], string[1]-1,string[2]); + string = string.getDate()+"."+(string.getMonth()+1)+"."+string.getFullYear(); + break; + } + return string; +} + +/** + * 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 showAnmeldungen(pruefungstermin_id, lehrveranstaltung_id) +{ + $("#kommentar").empty(); + $("#kommentarSpeichernButton").empty(); + $.ajax({ + dataType: 'json', + url: "./pruefungsanmeldung.json.php", + type: "POST", + data: { + method: "getAnmeldungenTermin", + pruefungstermin_id: pruefungstermin_id, + lehrveranstaltung_id: lehrveranstaltung_id + }, + error: loadError + }).success(function(data){ + writeAnmeldungen(data); + }).complete(function(event, xhr, settings){ + $("#sortable").sortable(); + $("#sortable").disableSelection(); + }); +} + +function writeAnmeldungen(data) +{ + console.log(data); + if(data.error === 'false') + { + var terminId = data.result.anmeldungen[0].pruefungstermin_id; + var pruefung_id = data.result.anmeldungen[0].pruefung_id; + var lehrveranstaltung_id = data.result.anmeldungen[0].lehrveranstaltung_id; + var ort_kurzbz = data.result.ort_kurzbz; + var liste = ""; + $("#anmeldung_hinzufuegen").html("' onclick='saveAnmeldung(\""+lehrveranstaltung_id+"\",\""+terminId+"\");'/>"); + $("#reihungSpeichernButton").html("' onclick='saveReihung(\""+terminId+"\", \""+lehrveranstaltung_id+"\");'>"); + $("#anmeldeDaten").html(liste); + $("#listeDrucken").html("t('pruefung/listeDrucken'); ?>"); + if(ort_kurzbz !== null) + { + $("#raumLink").html("t('pruefung/pruefungsraum'); ?>"+ort_kurzbz); + } + else + { + $("#raumLink").html("t('pruefung/pruefungsort'); ?>"); + } + + $(document).tooltip({ + position: { + at: "right center", + my: "left+15 center" + } + }); + } + else + { + $("#anmeldeDaten").empty(); + $("#reihungSpeichernButton").empty(); + $("#kommentar").empty(); + $("#kommentarSpeichernButton").empty(); + $("#raumLink").empty(); + $("#listeDrucken").empty(); + messageBox("message", data.errormsg, "red", "highlight", 1000); + } +} + +function openRaumDialog(terminId, lehrveranstaltung_id) +{ + getRaeume(terminId); + $("#raum").html('

t('pruefung/pruefungsraum'); ?>

t('pruefung/imBuero'); ?>
t('pruefung/raum'); ?>: '); + $("#raumSpeichernButton").html("' onclick='saveRaum(\""+terminId+"\", \""+lehrveranstaltung_id+"\");'/>"); + $("#raumDialog").dialog("open"); +} + +/** + * speichert die Reihung der Studenten einer Prüfungsanmeldung + * @param {type} terminId ID des Prüfungstermines + * @param {type} lehrveranstaltung_id ID der Lehrveranstaltung + * @returns {undefined} + */ +function saveReihung(terminId, lehrveranstaltung_id) +{ + var reihung = []; + $("#anmeldeDaten ul").children().each(function(i, v){ + var anmeldung = new Object(); + anmeldung.terminId = terminId; + anmeldung.lehrveranstaltung_id = lehrveranstaltung_id; + anmeldung.reihung = (i+1); + anmeldung.uid = v.id; + reihung.push(anmeldung); + }); + $.ajax({ + dataType: 'json', + url: "./pruefungsanmeldung.json.php", + type: "POST", + data: { + method: "saveReihung", + reihung: reihung + }, + error: loadError + }).success(function(data){ + if(data.error === 'false' && data.result === true) + { + messageBox("message", "t('pruefung/reihunghErfolgreichGeaendert'); ?>", "green", "highlight", 1000); + } + else + { + messageBox("message", data.errormsg, "red", "highlight", 1000); + } + }).complete(function(){ + showAnmeldungen(terminId, lehrveranstaltung_id); + }); +} + +/** + * Ändert den Status einer Anmeldung auf "bestätigt" + * @param {type} pruefungsanmeldung_id ID der Prüfungsanmeldung + * @param {type} termin_id ID des Prüfungstermines + * @param {type} lehrveranstaltung_id ID der Lehrveranstaltung + * @returns {undefined} + */ +function anmeldungBestaetigen(pruefungsanmeldung_id, termin_id, lehrveranstaltung_id) +{ + $.ajax({ + dataType: 'json', + url: "./pruefungsanmeldung.json.php", + type: "POST", + data: { + method: "anmeldungBestaetigen", + pruefungsanmeldung_id: pruefungsanmeldung_id + }, + error: loadError + }).success(function(data){ + if(data.error === 'false' && data.result === true) + { + if(termin_id !== 'undefined' && lehrveranstaltung_id !== 'undefined') + { + showAnmeldungen(termin_id, lehrveranstaltung_id); + } + } + else + { + messageBox("message", data.errormsg, "red", "highlight", 1000); + } + }); +} + +/** + * Anzeige eines DIVs zur Darstellung von Fehlermeldungen, etc. + * @param {type} divId ID des DIVs in dem die Meldung dargestellt werden soll + * @param {type} data Daten die angezeigt werden sollen + * @param {type} color Hintergrundfarbe des DIVs + * @param {type} effect Anzeigeeffekt (siehe jQuery UI) + * @param {type} duration Dauer des Effektes + * @returns {undefined} + */ +function messageBox(divId, data, color, effect, duration) +{ + $("#"+divId).html(data); + $("#"+divId).effect(effect, { + duration: duration, + color: color + }).delay(200).hide("clip", "fast"); +} + +/** + * Lädt alle Studiengänge + * @returns {undefined} + */ +function loadStudiengaenge() +{ + $.ajax({ + dataType: 'json', + url: "./pruefungsanmeldung.json.php", + type: "POST", + data: { + method: "getStudiengaenge" + }, + error: loadError + }).success(function(data){ + $("#stgListe").empty(); + if(data.error === 'false') + { + var liste = ""; + $("#stgListe").append(liste); + } + else + { + messageBox("message", data.errormsg, "red", "highlight", 1000); + } + }); +} + +/** + * Lädt alle Prüfungen zu einem Studiengang + * @param {type} studiengang_kz Studiengangskennzahl + * @returns {undefined} + */ +function loadPruefungStudiengang(studiengang_kz, studiensemester) +{ + if(studiengang_kz === undefined) + studiengang_kz = $("#select_studiengang option:selected").val(); + + if(studiensemester === undefined) + studiensemester = $("#filter_studiensemester option:selected").val(); + + $.ajax({ + dataType: 'json', + url: "./pruefungsanmeldung.json.php", + type: "POST", + data: { + method: "getPruefungenStudiengang", + studiengang_kz: studiengang_kz, + studiensemester: studiensemester + }, + error: loadError + }).success(function(data){ + if(data.error === 'false') + { + $("#pruefungenListe").empty(); + if(data.result.length > 0) + { + var liste = ""; + data.result.forEach(function(e){ + liste += ""; + }); + $("#pruefungenListe").append(liste); + } + else + { + $("#pruefungenListe").html("t('pruefung/keinePruefungenVorhanden'); ?>"); + } + } + else + { + messageBox("message", data.errormsg, "red", "highlight", 1000); + } + }); +} + +/** + * 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") + kommentar = ""; + $("#kommentar").html("

t('pruefung/kommentarZu'); ?>"+vorname+" "+nachname+"

"); + $("#kommentarSpeichernButton").html("' 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(); + $.ajax({ + dataType: 'json', + url: "./pruefungsanmeldung.json.php", + type: "POST", + data: { + method: "saveKommentar", + pruefungsanmeldung_id: pruefungsanmeldung_id, + kommentar: kommentar + }, + error: loadError + }).success(function(data){ + messageBox("message", "t('pruefung/kommentarErfolgreichGespeichert'); ?>", "green", "highlight", 1000); + }).complete(function(){ + showAnmeldungen(termin_id, lehrveranstaltung_id); + }); +} + +/** + * lädt alle Prüfungstypen per AJAX aus der Datenbank + * @param {boolean} abschluss + * @returns {void} + */ +function loadPruefungstypen(abschluss) +{ + $.ajax({ + dataType: 'json', + url: "./pruefungstermin.json.php", + type: "POST", + data: { + method: "loadPruefungstypen", + abschluss: abschluss + }, + error: loadError + }).success(function(data){ + var selectData = ""; + data.result.forEach(function(d){ + if(d.beschreibung === null) + d.beschreibung = ""; + selectData += ""; + }); + $('#pruefungsTyp').html(selectData); + }); +} + +/** + * Lädt alle Studiensemester per AJAX aus der Datenbank + * @returns {void} + */ +function loadStudiensemester() +{ + $.ajax({ + dataType: 'json', + url: "./pruefungstermin.json.php", + type: "POST", + data: { + method: "loadStudiensemester" + }, + error: loadError + }).success(function(data){ + var selectData = ""; + data.result.forEach(function(d){ + selectData += ""; + }); + $('#studiensemester').html(selectData); + }).complete(function(){ + loadPruefungsfenster(); + loadLehrveranstaltungen(); + }); +} + +/** + * 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) + { + return true; + } + 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) + { + return true; + } + 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) + { + return true; + } + return false; +} + +/** + * Speichert einen Prüfungstermin + * @returns {void} + */ +function savePruefungstermin() +{ + unmarkMissingFormEntry(); + var studiensemester_kurzbz = $("#studiensemester").val(); + var pruefungsfenster_id = $("#pruefungsfenster").val(); +// var pruefungstyp_kurzbz = $("#pruefungsTyp").val(); + var titel = $("#titel").val(); + var beschreibung = $("#beschreibung").val(); + var methode = $("#methode").val(); + var einzeln = $("#einzeln").prop("checked"); + var termine = []; + var lehrveranstaltungen = []; + var error = false; + var mitarbeiter_uid = $("#mitarbeiter_uid").val(); + var pruefungsintervall = $("#pruefungsintervall").val(); + $("#prfTermin tr").each(function(i,v){ + var termin = {}; + $(v).find("input").each(function(j, w){ + switch (j) { + case 0: + termin.datum = $(w).val(); + break; + case 1: + termin.beginn = $(w).val(); + break; + case 2: + termin.ende = $(w).val(); + break; + case 3: + termin.min = $(w).val(); + break; + case 4: + termin.max = $(w).val(); + break; + case 5: + termin.sammelklausur = $(w).prop("checked"); + break; + } + }); + if(!checkTermin(termin)) + { + error = true; + markMissingFormEntry($(v).attr("id")); + } + if(!checkMinMaxTeilnehmer(termin.min, termin.max)) + { + error = true; + markMissingFormEntry("termin"+(i+1)+"min"); + markMissingFormEntry("termin"+(i+1)+"max"); + } + if(einzeln) + { + if(!checkPruefungsintervall(pruefungsintervall, termin)) + { + error = true; + markMissingFormEntry("pruefungsintervall"); + markMissingFormEntry($(v).attr("id")); + } + } + else + { + pruefungsintervall = false; + } + termine.push(termin); + }); + + + $("#lvDropdowns select").each(function(i,v){ + if($(v).val() !== "null") + lehrveranstaltungen.push($(v).val()); + }); + + if(is_null(studiensemester_kurzbz) || is_undefined(studiensemester_kurzbz) || is_empty_String(studiensemester_kurzbz)) + { + error = true; + markMissingFormEntry("studiensemester"); + } + if(is_null(pruefungsfenster_id) || is_undefined(pruefungsfenster_id) || is_empty_String(pruefungsfenster_id) || (pruefungsfenster_id === "null")) + { + error = true; + markMissingFormEntry("pruefungsfenster"); + } +// if(is_null(pruefungstyp_kurzbz) || is_undefined(pruefungstyp_kurzbz) || is_empty_String(pruefungstyp_kurzbz) || (pruefungstyp_kurzbz === "undefiniert")) +// { +// error = true; +// markMissingFormEntry("pruefungsTyp"); +// } + if(is_null(titel) || is_undefined(titel) || is_empty_String(titel)) + { + error = true; + markMissingFormEntry("titel"); + } + if(is_null(beschreibung) || is_undefined(beschreibung) || is_empty_String(beschreibung)) + { + error = true; + markMissingFormEntry("beschreibung"); + } + if(is_null(methode) || is_undefined(methode) || is_empty_String(methode)) + { + error = true; + markMissingFormEntry("methode"); + } + + if(lehrveranstaltungen.length === 0) + { + error = true; + markMissingFormEntry("lvDropdowns"); + } + + if(is_null(termine) || is_undefined(termine) || is_empty_String(termine)) + { + error = true; + markMissingFormEntry("prfTermin"); + } + + if(error) + { + messageBox("message", "t('pruefung/formulardatenNichtKorrekt'); ?>", "red", "highlight", 3000); + } + else + { + $.ajax({ + dataType: 'json', + url: "./pruefungstermin.json.php", + type: "POST", + data: { + method: "savePruefungstermin", + studiensemester_kurzbz: studiensemester_kurzbz, + pruefungsfenster_id: pruefungsfenster_id, +// pruefungstyp_kurzbz: pruefungstyp_kurzbz, + titel: titel, + beschreibung: beschreibung, + methode: methode, + einzeln: einzeln, + termine: termine, + lehrveranstaltungen: lehrveranstaltungen, + mitarbeiter_uid: mitarbeiter_uid, + pruefungsintervall: pruefungsintervall + }, + error: loadError + }).success(function(data){ + unmarkMissingFormEntry(); + if(data.error === "false") + { + messageBox("message", "t('pruefung/pruefungErfolgreichGespeichert'); ?>", "green", "highlight", 1000); + resetPruefungsverwaltung(); + } + else + { + messageBox("message", data.errormsg, "red", "highlight", 1000); + } + }); + } +} + +/** + * 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"); + $(".modalOverlay").each(function(i,v){ + $(v).removeClass("modalOverlay"); + }); +} + +/** + * Entfernt die Klasse "missingFormData" von einem Element. + * @param {string} eleId ID des Formularfeldes + * @returns {void} + */ +function unmarkMissingFormEntry() +{ + $(".missingFormData").each(function(i, v){ + $(v).removeClass("missingFormData"); + }); +} + +/** + * Lädt alle Lehrveranstaltungen eine Mitarbeiters + * @returns {void} + */ +function loadLehrveranstaltungen() +{ + var studiensemester_kurzbz = $("#studiensemester").val(); + var mitarbeiter_uid = $("#mitarbeiter_uid").val(); + $.ajax({ + dataType: 'json', + url: "./pruefungstermin.json.php", + type: "POST", + data: { + method: "getLehrveranstaltungenByMitarbeiter", + mitarbeiter_uid: mitarbeiter_uid, + studiensemester_kurzbz: studiensemester_kurzbz + }, + error: loadError + }).success(function(data){ + var selectData = ''; + data.result.forEach(function(d){ + selectData += ''; + }); + $("#lvDropdown1").html(selectData); + }).complete(function(){ + + }); +} + +/** + * Lädt die Details zu eine Prüfung + * @param {int} prfId ID der Prüfung + * @returns {void} + */ +function loadPruefungsDetails(prfId) +{ + unmarkMissingFormEntry(); + $("#modalOverlay").addClass("modalOverlay"); + resetLehrveranstaltungen(); + var row = $("#row1").clone(); + resetTermine(); + $("#prfTermine").append(row); + $.ajax({ + dataType: 'json', + url: "./pruefungstermin.json.php", + type: "POST", + data: { + method: "loadStudiensemester" + }, + error: loadError + }).success(function(data){ + var selectData = ""; + data.result.forEach(function(d){ + selectData += ""; + }); + $('#studiensemester').html(selectData); + }).complete(function(){ + var studiensemester_kurzbz = $("#studiensemester option:selected").val(); + $.ajax({ + dataType: 'json', + url: "./pruefungstermin.json.php", + type: "POST", + data: { + method: "getPruefungsfensterByStudiensemester", + studiensemester_kurzbz: studiensemester_kurzbz + }, + error: loadError + }).success(function(data){ + if(data.result.length === 0) + { + messageBox("message", "t('pruefung/keinePruefungsfensterGespeichert'); ?>", "red", "highlight", 1000); + $("#pruefungsfenster").html(""); + } + else + { + writePruefungsfenster(data); + setDatePicker(); + } + }).complete(function(){ + var studiensemester_kurzbz = $("#studiensemester").val(); + var mitarbeiter_uid = $("#mitarbeiter_uid").val(); + $.ajax({ + dataType: 'json', + url: "./pruefungstermin.json.php", + type: "POST", + data: { + method: "getLehrveranstaltungenByMitarbeiter", + mitarbeiter_uid: mitarbeiter_uid, + studiensemester_kurzbz: studiensemester_kurzbz + }, + error: loadError + }).success(function(data){ + var selectData = ''; + data.result.forEach(function(d){ + selectData += ''; + }); + $("#lvDropdown1").html(selectData); + }).complete(function(){ + $.ajax({ + dataType: 'json', + url: "./pruefungsanmeldung.json.php", + type: "POST", + data: { + method: "loadPruefung", + pruefung_id: prfId + }, + error: loadError + }).success(function(data){ + var copy = $("#lvDropdown1").clone(); + $("#lvDropdowns").empty(); + $("#lvDropdowns").html(copy); + $("#lvDropdowns").append("
"); + var result = data.result[0]; + $("#titel").val(result.pruefung.titel); + $("#beschreibung").val(result.pruefung.beschreibung); + $("#studiensemester").val(result.pruefung.studiensemester_kurzbz); + $("#pruefungsfenster").val(result.pruefung.pruefungsfenster_id); +// $("#pruefungsTyp").val(result.pruefung.pruefungstyp_kurzbz); + $("#methode").val(result.pruefung.methode); + var i = 0; + $("#termin1").closest("tr").remove(); + terminHinzufuegen("span"); + data.result.forEach(function(d){ + i++; + var lv = ""; + if(d.lehrveranstaltung !== undefined) + { + lv = ""+d.lehrveranstaltung.studiengang.kurzbzlang+" | "+d.lehrveranstaltung.bezeichnung+" ("+d.lehrveranstaltung.lehrform_kurzbz+") t('global/löschen'); ?>
"; + } + else + { + lv = "t('pruefung/keineLehrveranstaltungenVorhanden'); ?>
"; + } + $("#lvDropdowns").children().first().before(lv); + var j = 0; + d.pruefung.termine.forEach(function(t){ + j++; + if(i===1) + { + var date = convertDateTime(t.von, "date"); + var von = convertDateTime(t.von, "time"); + var bis = convertDateTime(t.bis, "time"); + var min = (t.min === null) ? "" : t.min; + var max = (t.max === null) ? "" : t.max; + $("#termin"+j+"Id").text(t.pruefungstermin_id); + $("#termin"+j).text(date); + $("#termin"+j+"Beginn").text(von); + $("#termin"+j+"Ende").text(bis); + $("#termin"+j+"min").text(min); + $("#termin"+j+"max").text(max); + if(t.sammelklausur) + { + $("#termin"+j+"sammelklausur").text("true"); + } + else + { + $("#termin"+j+"sammelklausur").text("false"); + } + $("#termin"+j+"Id").closest("tr").append("t('global/löschen'); ?>"); + terminHinzufuegen("span"); + } + }); + }); + var ele = document.getElementById("lvDropdowns"); + $("#prfTermin tr").last().remove(); + if(result.pruefung.einzeln) + { + $("#einzeln").prop("checked", "checked"); + $("#pruefungsintervall").parent().parent().css("visibility", "visible"); + $("#pruefungsintervall").val(result.pruefung.pruefungsintervall); + } + else + { + $("#einzeln").removeAttr("checked"); + } + }).complete(function(){ + $("#buttonSave").attr("onclick", "updatePruefung(\""+prfId+"\");"); + if($("#buttonStorno").length === 0) + { + $("#buttonSave").after("'>"); + } + else + { + $("#buttonStorno").attr("onclick", "stornoPruefung(\""+prfId+"\");"); + } + $("#modalOverlay").removeClass("modalOverlay"); + }); + }); + }); + }); +} + +/** + * Setzt den Bereich Lehrveranstaltungen in der Anmeldungsverwaltung auf den Ausgangszustand + * @returns {void} + */ +function resetLehrveranstaltungen() +{ + $("#lvDropdown1").attr("onchange", "lehrveranstaltungDropdownhinzufuegen(this, false);") + $("#lvDropdowns").children().each(function(i,v){ + $("#lvDropdown"+(i+2)).next().remove(); + $("#lvDropdown"+(i+2)).remove(); + }); + $("#lvDropdown1").prevAll().each(function(i,v){ + $(v).remove(); + }); +} + +/** + * Setzt den Bereich Termine in der Ammeldungsverwaltung auf den Ausgangszustand + * @returns {void} + */ +function resetTermine() +{ + $("#prfTermin tr").each(function(i,v){ + $(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"); + unmarkMissingFormEntry(); + var studiensemester_kurzbz = $("#studiensemester").val(); + var pruefungsfenster_id = $("#pruefungsfenster").val(); +// var pruefungstyp_kurzbz = $("#pruefungsTyp").val(); + var titel = $("#titel").val(); + var beschreibung = $("#beschreibung").val(); + var methode = $("#methode").val(); + var einzeln = $("#einzeln").prop("checked"); + var termine = []; + var termineNeu = []; + var lehrveranstaltungen = []; + var mitarbeiter_uid = $("#mitarbeiter_uid").val(); + var pruefungsintervall = $("#pruefungsintervall").val(); + var error = false; + $('#prfTermin tr').has("span").each(function(i,v){ + var termin = {}; + $(v).find("span").each(function(j, w){ + switch (j) { + case 0: + termin.pruefungstermin_id = $(w).text(); + break; + case 1: + termin.datum = $(w).text(); + break; + case 2: + termin.beginn = $(w).text(); + break; + case 3: + termin.ende = $(w).text(); + break; + case 4: + termin.min = $(w).text(); + break; + case 5: + termin.max = $(w).text(); + break; + case 6: + termin.sammelklausur = $(w).prop("checked"); + break; + } + }); + if(!checkTermin(termin)) + { + error = true; + markMissingFormEntry($(v).attr("id")); + } + if(einzeln) + { + if(!checkPruefungsintervall(pruefungsintervall, termin)) + { + error = true; + markMissingFormEntry("pruefungsintervall"); + markMissingFormEntry($(v).attr("id")); + } + } + termine.push(termin); + }); + + $('#prfTermin tr').has("input").each(function(i,v){ + var termin = {}; + $(v).find("input").each(function(j, w){ + switch (j) { + case 0: + termin.datum = $(w).val(); + break; + case 1: + termin.beginn = $(w).val(); + break; + case 2: + termin.ende = $(w).val(); + break; + case 3: + termin.min = $(w).val(); + break; + case 4: + termin.max = $(w).val(); + break; + case 5: + termin.sammelklausur = $(w).prop("checked"); + break; + } + }); + if(!checkTermin(termin)) + { + error = true; + markMissingFormEntry($(v).attr("id")); + } + if(einzeln) + { + if(!checkPruefungsintervall(pruefungsintervall, termin)) + { + error = true; + markMissingFormEntry("pruefungsintervall"); + markMissingFormEntry($(v).attr("id")); + } + } + termineNeu.push(termin); + }); + + $("#lvDropdowns select").each(function(i,v){ + if($(v).val() !== "null") + lehrveranstaltungen.push($(v).val()); + }); + + if(is_null(studiensemester_kurzbz) || is_undefined(studiensemester_kurzbz) || is_empty_String(studiensemester_kurzbz)) + { + error = true; + markMissingFormEntry("studiensemester"); + } + if(is_null(pruefungsfenster_id) || is_undefined(pruefungsfenster_id) || is_empty_String(pruefungsfenster_id) || (pruefungsfenster_id === "null")) + { + error = true; + markMissingFormEntry("pruefungsfenster"); + } +// if(is_null(pruefungstyp_kurzbz) || is_undefined(pruefungstyp_kurzbz) || is_empty_String(pruefungstyp_kurzbz) || (pruefungstyp_kurzbz === "undefiniert")) +// { +// error = true; +// markMissingFormEntry("pruefungsTyp"); +// } + if(is_null(titel) || is_undefined(titel) || is_empty_String(titel)) + { + error = true; + markMissingFormEntry("titel"); + } + if(is_null(beschreibung) || is_undefined(beschreibung) || is_empty_String(beschreibung)) + { + error = true; + markMissingFormEntry("beschreibung"); + } + if(is_null(methode) || is_undefined(methode) || is_empty_String(methode)) + { + error = true; + markMissingFormEntry("methode"); + } + if(lehrveranstaltungen[0] === "null") + { + error = true; + markMissingFormEntry("lvDropdowns"); + } + + if(error) + { + messageBox("message", "t('pruefung/formulardatenNichtKorrekt'); ?>", "red", "highlight", 3000); + } + else + { + $.ajax({ + dataType: 'json', + url: "./pruefungstermin.json.php", + type: "POST", + data: { + method: "updatePruefungstermin", + pruefung_id: prfId, + studiensemester_kurzbz: studiensemester_kurzbz, + pruefungsfenster_id: pruefungsfenster_id, +// pruefungstyp_kurzbz: pruefungstyp_kurzbz, + titel: titel, + beschreibung: beschreibung, + methode: methode, + einzeln: einzeln, + termine: termine, + termineNeu: termineNeu, + lehrveranstaltungen: lehrveranstaltungen, + mitarbeiter_uid: mitarbeiter_uid, + pruefungsintervall: pruefungsintervall + }, + error: loadError + }).success(function(data){ + unmarkMissingFormEntry(); + if(data.error === "false") + { + messageBox("message", "t('pruefung/pruefungErfolgreichGespeichert'); ?>", "green", "highlight", 1000); + resetPruefungsverwaltung(); + } + else + { + messageBox("message", data.errormsg, "red", "highlight", 1000); + } + }).complete(function(){ + loadAllPruefungen(); + $("#modalOverlay").removeClass("modalOverlay"); + }); + } +} + +/** + * 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({ + dataType: 'json', + url: "./pruefungstermin.json.php", + type: "POST", + data: { + method: "deleteLehrveranstaltungFromPruefung", + pruefung_id: pruefung_id, + lehrveranstaltung_id: lvId + }, + error: loadError + }).success(function(data){ + if(data.error === "false") + { + messageBox("message", "t('pruefung/lvErfolgreichEntfernt'); ?>", "green", "highlight", 1000); + } + else + { + messageBox("message", data.errormsg, "red", "highlight", 1000); + } + }).complete(function(){ + loadPruefungsDetails(pruefung_id); + }); +} + +/** + * Storniert eine Prüfung + * @param {int} pruefung_id ID der Prüfung + * @returns {void} + */ +function stornoPruefung(pruefung_id) +{ + $("#modalOverlay").addClass("modalOverlay"); + $.ajax({ + dataType: 'json', + url: "./pruefungstermin.json.php", + type: "POST", + data: { + method: "stornoPruefung", + pruefung_id: pruefung_id + }, + error: loadError + }).success(function(data){ + if(data.error === "false") + { + messageBox("message", "t('pruefung/pruefungStorniert'); ?>", "green", "highlight", 1000); + } + else + { + messageBox("message", data.errormsg, "red", "highlight", 1000); + } + }).complete(function(){ + loadAllPruefungen(); + resetPruefungsverwaltung(); + }); +} + +/** + * 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({ + dataType: 'json', + url: "./pruefungstermin.json.php", + type: "POST", + data: { + method: "deleteTermin", + pruefung_id: pruefung_id, + pruefungstermin_id: pruefungstermin_id + }, + error: loadError + }).success(function(data){ + if(data.error === "false") + { + messageBox("message", "t('pruefung/terminGeloescht'); ?>", "green", "highlight", 1000); + } + else + { + messageBox("message", data.errormsg, "red", "highlight", 1000); + } + }).complete(function(){ + loadPruefungsDetails(pruefung_id); + loadAllPruefungen(); + }); +} + +/** + * Lädt alle Prüfungen + * @returns {void} + */ +function loadAllPruefungen() +{ + var uid = $("#mitarbeiter_uid").val(); + $.ajax({ + dataType: 'json', + url: "./pruefungstermin.json.php", + type: "POST", + data: { + method: "getAllPruefungen", + uid: uid + }, + error: loadError + }).success(function(data){ + if(data.error != 'true') + { + $("#prfTable tbody").first().html(""); + var tableRow = ""; + data.result.forEach(function(e){ + if(e.storniert === false) + { + tableRow = ""+e.titel+""; + tableRow += ""+e.studiensemester_kurzbz+""; + tableRow += ""; + e.lehrveranstaltungen.forEach(function(f){ + tableRow += f.bezeichnung+"
"; + }); + tableRow+=""; + tableRow+=""; + e.termine.forEach(function(f){ + tableRow += convertDateTime(f.von, "date")+" von "+convertDateTime(f.von, "time")+" bis "+convertDateTime(f.bis, "time")+"
"; + }); + tableRow+=""; + tableRow += ""+e.methode+""; +// tableRow += ""+e.pruefungstyp_kurzbz+""; + tableRow += ""+e.einzeln+""; + tableRow += ""+e.mitarbeiter_uid+""; + tableRow += ""+e.storniert+""; + tableRow += ""; + $("#prfTable tbody").first().append(tableRow); + } + }); + } + else + { + messageBox("message", data.errormsg, "red", "highlight", 1000); + } + }).complete(function(event, xhr, settings){ + if($("#prfTable")[0].hasInitialized !== true) + { + $("#prfTable").tablesorter({ + widgets: ["zebra"], + sortList: [[1,0]] + }); + } + else + { + $("#prfTable").trigger("updateAll"); + var sorting = [[1,0],[0,0]]; + $("#prfTable").trigger("sorton",[sorting]); + } + }); +} + +/** + * Prüft die Daten eines Termins auf deren Richtigkeit + * Prüft ob die Beginnzeit vor der Endzeit liegt und ob beide Daten mindestens 14 Tage 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 heute = new Date(); + var aktTime = new Date(heute.getTime() + (14*24*60*60*1000)); + var vonTime = stringToDate(termin.datum, termin.beginn); + var bisTime = stringToDate(termin.datum, termin.ende); + + if(!(aktTime < vonTime)) + { + return false; + } + else if(!(vonTime < bisTime)) + { + return false; + } + return true; +} + +function checkPruefungsintervall(intervall, termin) +{ + var beginn = stringToDate(termin.datum, termin.beginn); + var ende = stringToDate(termin.datum, termin.ende); + var maxTeilnehmer = ((ende - beginn) / 1000 / 60 / intervall); + if(maxTeilnehmer < termin.max) + { + return false; + } + 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("."); + time = time.split(":"); + time = new Date(datum[2], (datum[1]-1), datum[0], time[0], time[1]); + return time; +} + +/** + * Setzt die Oberfläche der Prüfungsverwaltung auf den Ausgangszustand zurück + * @returns {void} + */ +function resetPruefungsverwaltung() +{ + loadAllPruefungen(); + $("#titel").val(""); + $("#beschreibung").val(""); +// loadPruefungstypen("false"); + loadStudiensemester(); + $("#methode").val(""); + resetLehrveranstaltungen(); + resetTermine(); + $("#pruefungsintervall").val("15"); + $("#einzeln").removeAttr("checked"); + $("#pruefungsintervall").closest("tr").css("visibility", "hidden"); + $("#modalOverlay").removeClass("modalOverlay"); + $("#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) +{ + if(((min !== null) && (max !== null)) && ((min !== "") && (max !== ""))) + { + min = parseInt(min); + max = parseInt(max); + if(max < min) + { + return false; + } + if(max < 0) + { + return false; + } + if(min < 0) + { + return false; + } + if(isNaN(min)) + { + return false; + } + if(isNaN(max)) + { + return false; + } + } + return true; +} + +function changeStateOfRaumDropdown() +{ + if($("#raum input[type=checkbox]").prop("checked") === true) + { + $("#raeumeDropdown").css("visibility", "hidden"); + $("#raeumeDropdown").prev().css("visibility", "hidden"); + } + else + { + $("#raeumeDropdown").css("visibility", "visible"); + $("#raeumeDropdown").prev().css("visibility", "visible"); + } +} + +function saveRaum(terminId, lehrveranstaltung_id) +{ + var ort_kurzbz; + if($("#raum input[type=checkbox]").prop("checked") === true) + { + ort_kurzbz = "buero"; + } + else + { + ort_kurzbz = $("#raeumeDropdown").val(); + } + $.ajax({ + dataType: 'json', + url: "./pruefungsanmeldung.json.php", + type: "POST", + data: { + method: "saveRaum", + ort_kurzbz: ort_kurzbz, + terminId: terminId + }, + error: loadError + }).success(function(data){ + $("#raumDialog").dialog("close"); + showAnmeldungen(terminId, lehrveranstaltung_id); + }); +} + +function getRaeume(terminId) +{ + $.ajax({ + dataType: 'json', + url: "./pruefungsanmeldung.json.php", + type: "POST", + data: { + method: "getAllFreieRaeume", + terminId: terminId + }, + error: loadError + }).success(function(data){ + var liste = ""; + data.result.forEach(function(d){ + liste += "" + }); + $("#raeumeDropdown").html(liste); + }); +} diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php old mode 100644 new mode 100755 index 89b72e837..bd093c2a5 --- a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php @@ -49,7 +49,7 @@ switch($method) $data = getPruefungByLv($studiensemester, $uid); break; case 'getPruefungByLvFromStudiengang': - $studiensemester = isset($_REQUEST['studiensemester']) ? $_REQUEST['studiensemester'] : NULL; + $studiensemester = isset($_REQUEST['studiensemester']) ? $_REQUEST['studiensemester'] : NULL; $data = getPruefungByLvFromStudiengang($studiensemester, $uid); break; case 'loadPruefung': @@ -64,7 +64,7 @@ switch($method) { $uid = $student_uid; } - + if($student_uid === "") { $data['result']=""; @@ -368,19 +368,19 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) $stdsem = $studiensemester->getLastOrAktSemester(0); $lv_besucht = false; $studienverpflichtung_id = filter_input(INPUT_POST, "studienverpflichtung_id"); - + //Defaulteinstellung für Anzahlprüfungsversuche (wird durch Addon "ktu" überschrieben) $maxAnzahlVersuche = 0; - + //Defaulteinstellung für Code Note "unetnschuldigt ferngeblieben" (wird durch Addon "ktu" überschrieben) $noteCode_uef = -1; - + $addon = new addon(); foreach ($addon->aktive_addons as $a) { - if($a === "ktu") + if($a === "ku") { - require '../../../../addons/ktu/cis/prfVerwaltung_array.php'; + require '../../../../addons/'.$a.'/cis/prfVerwaltung_array.php'; switch($lehrveranstaltung->oe_kurzbz) { case $fakultaeten[0]["fakultaet"]: @@ -389,7 +389,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) case $fakultaeten[1]["fakultaet"]: $semCounter = $fakultaeten[1]["sem"]; break; - default: + default: $semCounter = 2; break; } @@ -415,17 +415,29 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) $i++; } while($i<=$semCounter && $lv_besucht === FALSE); - + if(!$lv_besucht) { $data['error']='true'; $data['errormsg']='Besuch der Lehrveranstaltung liegt zu weit in der Vergangenheit.'; return $data; } - + $pruefung->getPruefungen($uid, NULL, $lehrveranstaltung->lehrveranstaltung_id); $anmeldung_moeglich = true; $anzahlPruefungen = count($pruefung->result); + if(isset($pruefungstyp_kurzbzArray)) + { + if($anzahlPruefungen < count($pruefungstyp_kurzbzArray)) + { + $pruefungstyp_kurzbz = $pruefungstyp_kurzbzArray[$anzahlPruefungen]; + } + } + else + { + $pruefungstyp_kurzbz = null; + } + foreach($pruefung->result as $prf) { $note = new note($prf->note); @@ -456,7 +468,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) } } } - + if($anmeldung_moeglich) { if($termin->teilnehmer_max > $termin->getNumberOfParticipants() || $termin->teilnehmer_max == NULL) @@ -470,6 +482,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) $anmeldung->uid = $uid; $anmeldung->reihung = $reihung+1; $anmeldung->status_kurzbz = "angemeldet"; + $anmeldung->pruefungstyp_kurzbz = $pruefungstyp_kurzbz; $lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]); $konto = new konto(); @@ -514,7 +527,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) $data['errormsg']='Anmeldung auf Grund von Sperre nicht möglich.'; return $data; } - + $anrechnung = new anrechnung(); $lv_komp = new lehrveranstaltung($studienverpflichtung_id); $person = new person(); @@ -548,18 +561,18 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) $anrechnung->new = true; $anrechungSaveResult = $anrechnung->save(); } - else + else { $anrechungSaveResult = true; } - + if($anrechungSaveResult) { if($anrechnung->anrechnung_id == "") $anmeldung->anrechnung_id = null; else $anmeldung->anrechnung_id = $anrechnung->anrechnung_id; - + if($anmeldung->save(true)) { $pruefung = new pruefungCis($termin->pruefung_id); @@ -784,7 +797,7 @@ function anmeldungBestaetigen($uid) $datum = new datum(); $ort = new ort($termin->ort_kurzbz); $pruefung = new pruefungCis($termin->pruefung_id); - + $to = $anmeldung->uid."@".DOMAIN; $from = "noreply@".DOMAIN; $subject = "Anmeldungsbestätigung zur Prüfung"; @@ -806,11 +819,11 @@ function anmeldungBestaetigen($uid) $html .= "
"; $html .= "Link zur Anmeldung
"; $html .= "
"; - + $mail = new mail($to, $from, $subject,"Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen."); $mail->setHTMLContent($html); $mail->send(); - + $data['result']=true; $data['error']='false'; $data['errormsg']=''; @@ -896,18 +909,18 @@ function getPruefungenStudiengang($uid, $aktStudiensemester) } /** - * + * * @return typespeichert ein Kommentar zu einer Prüfungsanmeldung */ function saveKommentar() { $kommentar = $_REQUEST["kommentar"]; $pruefungsanmeldung_id = $_REQUEST["pruefungsanmeldung_id"]; - + $pruefungsanmeldung = new pruefungsanmeldung($pruefungsanmeldung_id); $pruefungsanmeldung->kommentar = $kommentar; if($pruefungsanmeldung->save()) - { + { $data['result']=true; $data['error']='false'; $data['errormsg']=''; @@ -933,9 +946,9 @@ function getAllFreieRaeume($terminId) $teilnehmer = $pruefungstermin->getNumberOfParticipants(); $teilnehmer = $teilnehmer !== false ? $teilnehmer : 0; $pruefungstermin->getAll($pruefungstermin->von, $pruefungstermin->bis, TRUE); - + if($ort->search($datum_von[0], $datum_von[1], $datum_bis[1], null, $teilnehmer, true)) - { + { foreach($pruefungstermin->result as $termin) { if($termin->pruefungstermin_id != $pruefungstermin->pruefungstermin_id && !is_null($termin->ort_kurzbz)) @@ -945,7 +958,7 @@ function getAllFreieRaeume($terminId) array_push($ort->result, $o); } } - + usort($ort->result, "compareRaeume"); $data['result']=$ort->result; $data['error']='false'; @@ -985,7 +998,7 @@ function saveRaum($terminId, $ort_kurzbz, $uid) $reserviert = true; } if(!$reserviert || $pruefungstermin->sammelklausur == TRUE) - { + { $pruefung = new pruefungCis($pruefungstermin->pruefung_id); $mitarbeiter = new mitarbeiter($pruefung->mitarbeiter_uid); if($ort_kurzbz === "buero") @@ -1018,7 +1031,7 @@ function saveRaum($terminId, $ort_kurzbz, $uid) $reservierung->insertamum = date('Y-m-d G:i:s'); $reservierung->insertvon = $uid; $reservierungError = false; - + foreach($stunden as $h) { $reservierung->stunde = $h; @@ -1028,7 +1041,7 @@ function saveRaum($terminId, $ort_kurzbz, $uid) } } if(!$reservierungError) - { + { $pruefungstermin->ort_kurzbz = $reservierung->ort_kurzbz; if($pruefungstermin->save(false)) { @@ -1074,4 +1087,4 @@ function getLvKompatibel($lvid) } return $data; } -?> \ No newline at end of file +?> diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.php b/cis/private/lehre/pruefung/pruefungsanmeldung.php old mode 100644 new mode 100755 index 505da7708..900e25a0a --- a/cis/private/lehre/pruefung/pruefungsanmeldung.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldung.php @@ -2,22 +2,22 @@ */ @@ -29,8 +29,15 @@ require_once('../../../../include/lehrveranstaltung.class.php'); require_once('../../../../include/konto.class.php'); require_once('../../../../include/studiensemester.class.php'); require_once('../../../../include/student.class.php'); +require_once('../../../../include/phrasen.class.php'); +require_once('../../../../include/globals.inc.php'); +require_once('../../../../include/sprache.class.php'); - +$sprache = getSprache(); +$lang = new sprache(); +$lang->load($sprache); +$p = new phrasen($sprache); +//TODO $uid = get_uid(); $db = new basis_db(); @@ -50,7 +57,7 @@ $studiensemester->getAll(); - + @@ -59,12 +66,12 @@ $studiensemester->getAll(); #pruefungen, #prfTermine { width: 50%; } - + #details { width: 50%; /* margin-left: 1.5em;*/ } - + #lvDetails, #prfDetails { min-width: 40%; margin-bottom: 1em; @@ -72,21 +79,21 @@ $studiensemester->getAll(); float:left; /*border: 1px solid black;*/ } - + /* #prfDetails { float:right; }*/ - + #accordion { width: 60%; clear: left; clear: right; } - + .titel { font-weight: bold; } - + #message { position: fixed; bottom: 0px; @@ -95,7 +102,7 @@ $studiensemester->getAll(); font-size: 1.5em; font-weight: bold; } - + .columnheader1 { width: 30%; } @@ -108,13 +115,13 @@ $studiensemester->getAll(); .columnheader4 { width: 5%; } - + #accordion p { margin: 0; height: 24px; } - + -

Prüfungsanmeldung für vorname." ".$benutzer->nachname." (".$uid.")"; ?>

+

t('pruefung/anmeldungFuer'); ?> vorname." ".$benutzer->nachname." (".$uid.")"; ?>

Filter'; - echo '

Studiensemester: '; + echo '

'.$p->t('pruefung/filter').'

'; + echo '

'.$p->t('global/studiensemester').': '; echo '

'; - + ?> -
+
-

LV-Details

- Bezeichnung:
- ECTS:
+

t('pruefung/lvDetails'); ?>

+ t('global/bezeichnung'); ?>:
+ t('global/ects'); ?>:
- +
-

Prüfungsdetails

- Typ:
- Methode:
- Beschreibung:
+

t('pruefung/pruefungsDetails'); ?>

+ t('pruefung/typ'); ?>:
+ t('pruefung/pruefungMethode'); ?>:
+ t('global/beschreibung'); ?>:

-
+
-
+
@@ -267,40 +274,40 @@ $studiensemester->getAll(); - + - + - + - + - + - +
Lehrveranstaltung: t('global/lehrveranstaltung'); ?>:
Von: t('global/von'); ?>:
Bis: t('global/bis'); ?>:
Studienverpflichtung:* t('pruefung/studienverpflichtung'); ?>:*
Bemerkung: t('global/anmerkung'); ?>:
diff --git a/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.php b/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.php old mode 100644 new mode 100755 index 2f0412fba..bd95242d3 --- a/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.php @@ -2,22 +2,22 @@ */ @@ -33,6 +33,14 @@ require_once('../../../../include/lehrveranstaltung.class.php'); require_once('../../../../include/mitarbeiter.class.php'); require_once('../../../../include/student.class.php'); require_once('../../../../include/datum.class.php'); +require_once('../../../../include/phrasen.class.php'); +require_once('../../../../include/globals.inc.php'); +require_once('../../../../include/sprache.class.php'); + +$sprache = getSprache(); +$lang = new sprache(); +$lang->load($sprache); +$p = new phrasen($sprache); $uid = get_uid(); $rechte = new benutzerberechtigung(); @@ -42,17 +50,17 @@ $rechte->getBerechtigungen($uid); - @@ -225,17 +233,17 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA }); }); -

Anmeldungen Verwalten

+

t('pruefung/anmeldungenVerwalten'); ?>

-

Studiengänge

+

t('global/studiengang'); ?>

-

Studiensemester

+

t('global/studiensemester'); ?>

'; $aktuellesSemester = $studiensemester->getaktorNext(); @@ -259,7 +267,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
-

Prüfungen

+

t('pruefung/pruefungPruefungenTitle'); ?>

@@ -267,9 +275,9 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
-

Anmeldungen

+

t('pruefung/pruefungsbewertungAnmeldungen'); ?>

- +
@@ -278,20 +286,20 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
- +
- +
- +
- +
@@ -299,7 +307,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
- +
diff --git a/cis/private/lehre/pruefung/pruefungsbewertung.json.php b/cis/private/lehre/pruefung/pruefungsbewertung.json.php old mode 100644 new mode 100755 index 750628aff..0ff901e0c --- a/cis/private/lehre/pruefung/pruefungsbewertung.json.php +++ b/cis/private/lehre/pruefung/pruefungsbewertung.json.php @@ -17,6 +17,14 @@ require_once('../../../../include/pruefungsanmeldung.class.php'); require_once('../../../../include/student.class.php'); require_once('../../../../include/pruefungstermin.class.php'); require_once('../../../../include/datum.class.php'); +require_once('../../../../include/phrasen.class.php'); +require_once('../../../../include/globals.inc.php'); +require_once('../../../../include/sprache.class.php'); + +$sprache = getSprache(); +$lang = new sprache(); +$lang->load($sprache); +$p = new phrasen($sprache); $uid = get_uid(); @@ -43,7 +51,7 @@ switch($method) { $data['result']='false'; $data['error']='true'; - $data['errormsg']='Sie haben keine Berechtigung.'; + $data['errormsg']=$p->t('global/keineBerechtigung'); break; } $data = getPruefungMitarbeiter($mitarbeiter_uid); @@ -53,7 +61,7 @@ switch($method) { $data['result']='false'; $data['error']='true'; - $data['errormsg']='Sie haben keine Berechtigung.'; + $data['errormsg']=$p->t('global/keineBerechtigung'); break; } $data = getNoten(); @@ -73,7 +81,7 @@ switch($method) { $data['result']='false'; $data['error']='true'; - $data['errormsg']='Sie haben keine Berechtigung.'; + $data['errormsg']=$p->t('global/keineBerechtigung'); break; } $note = filter_input(INPUT_POST, 'note'); @@ -96,7 +104,7 @@ switch($method) { $data['result']='false'; $data['error']='true'; - $data['errormsg']='Sie haben keine Berechtigung.'; + $data['errormsg']=$p->t('global/keineBerechtigung'); break; } $pruefung_id = filter_input(INPUT_POST, 'pruefung_id'); @@ -109,7 +117,7 @@ switch($method) { $data['result']='false'; $data['error']='true'; - $data['errormsg']='Sie haben keine Berechtigung.'; + $data['errormsg']=$p->t('global/keineBerechtigung'); break; } $pruefung_id = filter_input(INPUT_POST, 'pruefung_id'); @@ -120,7 +128,7 @@ switch($method) { $data['result']='false'; $data['error']='true'; - $data['errormsg']='Sie haben keine Berechtigung.'; + $data['errormsg']=$p->t('global/keineBerechtigung'); break; } $pruefungsanmeldung_id = filter_input(INPUT_POST, 'pruefungsanmeldung_id'); @@ -131,7 +139,7 @@ switch($method) { $data['result']='false'; $data['error']='true'; - $data['errormsg']='Sie haben keine Berechtigung.'; + $data['errormsg']=$p->t('global/keineBerechtigung'); break; } $lehrveranstaltung_id = filter_input(INPUT_POST, 'lehrveranstaltung_id'); @@ -150,7 +158,8 @@ echo json_encode($data); * @return Array */ function getPruefungMitarbeiter($uid = null) -{ +{ + global $p; $lehrveranstaltung = new lehrveranstaltung(); if($uid !== null) { @@ -183,7 +192,7 @@ function getPruefungMitarbeiter($uid = null) else { $data['error']='true'; - $data['errormsg']="Keine Prüfungen vorhanden."; + $data['errormsg']=$p->t('pruefung/keinePruefungenVorhanden'); } return $data; } @@ -224,6 +233,7 @@ function getNoten() */ function saveBeurteilung($lehrveranstaltung_id, $student_uid, $mitarbeiter_uid, $note, $pruefung_id, $datum, $anmerkung, $pruefungsanmeldung_id, $uid) { + global $p; $pruefungCis = new pruefungCis($pruefung_id); $lehrveranstaltung = new lehrveranstaltung(); $lehreinheiten = $lehrveranstaltung->getLehreinheitenOfLv($lehrveranstaltung_id, $student_uid); @@ -231,20 +241,20 @@ function saveBeurteilung($lehrveranstaltung_id, $student_uid, $mitarbeiter_uid, $pruefung->new = true; if(!empty($lehreinheiten)) { + $pruefungsanmeldung = new pruefungsanmeldung($pruefungsanmeldung_id); + $pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id); + $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->pruefungstyp_kurzbz = $pruefungsanmeldung->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'); - $pruefungsanmeldung = new pruefungsanmeldung($pruefungsanmeldung_id); - $pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id); - $datum = new datum(); // var_dump(date("Y-m-d", time())); // var_dump($pruefungstermin->von); @@ -265,15 +275,16 @@ function saveBeurteilung($lehrveranstaltung_id, $student_uid, $mitarbeiter_uid, else { $data['error']='true'; - $data['errormsg']="Prüfungstermin liegt nicht in der Vergangenheit."; + $data['errormsg']=$p->t('pruefung/terminNichtInDerVergangenheit'); + //$data['errormsg']='Nicht in der Vergangenheit'; } } - else + else { $data['error']='true'; - $data['errormsg']="Keine Lehreinheiten vorhanden."; + $data['errormsg']=$p->t('pruefung/keineLehreinheitenVorhanden'); } - + return $data; } @@ -286,6 +297,7 @@ function saveBeurteilung($lehrveranstaltung_id, $student_uid, $mitarbeiter_uid, */ function updateBeurteilung($pruefung_id, $note, $uid, $anmerkung) { + global $p; $pruefung = new pruefung($pruefung_id); $pruefung->new = FALSE; $pruefung->note = $note; @@ -334,6 +346,7 @@ function getBeurteilung($pruefungsanmeldung_id) */ function getAnmeldungenTermin($lehrveranstaltung_id, $pruefungstermin_id) { + global $p; $pruefungsanmeldung = new pruefungsanmeldung(); $anmeldungen = $pruefungsanmeldung->getAnmeldungenByTermin($pruefungstermin_id, $lehrveranstaltung_id); foreach($anmeldungen as $a) @@ -363,8 +376,8 @@ function getAnmeldungenTermin($lehrveranstaltung_id, $pruefungstermin_id) } else { - $data['errormsg']= 'Keine Anmeldungen vorhanden'; + $data['errormsg']= $p->t('pruefung/keineAnmeldungenVorhanden'); } } return $data; -} \ No newline at end of file +} diff --git a/cis/private/lehre/pruefung/pruefungsbewertung.php b/cis/private/lehre/pruefung/pruefungsbewertung.php old mode 100644 new mode 100755 index 4a16ac6cd..28894e13c --- a/cis/private/lehre/pruefung/pruefungsbewertung.php +++ b/cis/private/lehre/pruefung/pruefungsbewertung.php @@ -2,22 +2,22 @@ */ @@ -33,6 +33,14 @@ require_once('../../../../include/pruefungstermin.class.php'); require_once('../../../../include/studiengang.class.php'); require_once('../../../../include/pruefungCis.class.php'); require_once('../../../../include/mitarbeiter.class.php'); +require_once('../../../../include/phrasen.class.php'); +require_once('../../../../include/globals.inc.php'); +require_once('../../../../include/sprache.class.php'); + +$sprache = getSprache(); +$lang = new sprache(); +$lang->load($sprache); +$p = new phrasen($sprache); $uid = get_uid(); $db = new basis_db(); @@ -53,7 +61,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA - + @@ -63,17 +71,17 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA 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; + //border-radius: 25px; + border: 1px solid #dddddd; + /*box-shadow: 0em 0em 2em 0.5em #888888 inset;*/ } - + #pruefungen { /*border: 1px solid black;*/ width: 94%; @@ -84,7 +92,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA overflow: auto; overflow-x: hidden; } - + #anmWrapper { position: absolute; /*top: 45px;*/ @@ -92,21 +100,21 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA 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; + /*border-radius: 25px;*/ + border: 1px solid #dddddd; + /*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; @@ -116,12 +124,12 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA font-size: 1.5em; font-weight: bold; } - + .missingFormData { border: 2px solid red; outline: 2px solid red; } - + .modalOverlay { position: fixed; width: 100%; @@ -130,7 +138,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA left: 0px; background-color: rgba(0,0,0,0.3); /* black semi-transparent */ } - + .anmeldung { font-size: 1.2em; border-bottom: 1px solid black; @@ -142,28 +150,28 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA 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; } @@ -209,7 +217,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA });
-

Prüfungsbewertung

+

t('pruefung/pruefungsbewertungTitle'); ?>

isBerechtigt('lehre/pruefungsbeurteilungAdmin')) @@ -224,7 +232,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA } else { - echo 'Lektor: '; + echo ''.$p->t('pruefung/pruefungLektor').': '; echo ''; echo ''; echo ''; @@ -234,7 +242,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
-

Prüfungen

+

t('pruefung/pruefungPruefungenTitle'); ?>

@@ -242,14 +250,14 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
-

Anmeldungen

+

t('pruefung/pruefungsbewertungAnmeldungen'); ?>

- +
diff --git a/cis/private/lehre/pruefung/pruefungsfenster_anlegen.php b/cis/private/lehre/pruefung/pruefungsfenster_anlegen.php old mode 100644 new mode 100755 index 63a095df7..1338d3af9 --- a/cis/private/lehre/pruefung/pruefungsfenster_anlegen.php +++ b/cis/private/lehre/pruefung/pruefungsfenster_anlegen.php @@ -2,22 +2,22 @@ */ @@ -29,6 +29,14 @@ require_once('../../../../include/organisationseinheit.class.php'); require_once('../../../../include/studiensemester.class.php'); require_once('../../../../include/datum.class.php'); require_once('../../../../include/pruefungsfenster.class.php'); +require_once('../../../../include/phrasen.class.php'); +require_once('../../../../include/globals.inc.php'); +require_once('../../../../include/sprache.class.php'); + +$sprache = getSprache(); +$lang = new sprache(); +$lang->load($sprache); +$p = new phrasen($sprache); $uid = get_uid(); $db = new basis_db(); @@ -42,7 +50,7 @@ function compareOe($a, $b) { if($a->organisationseinheittyp_kurzbz == $b->organisationseinheittyp_kurzbz) return 0; - + return ($a->organisationseinheittyp_kurzbz < $b->organisationseinheittyp_kurzbz) ? -1 : 1; } @@ -50,7 +58,7 @@ function compareOe($a, $b) - Prüfungsfenster anlegen + <?php echo $p->t('pruefung/titlePruefungsfenster') ?> @@ -83,7 +91,7 @@ $oe = $rechte->getOEkurzbz("lehre/pruefungsfenster"); $studiensemester = new studiensemester(); $studiensemester->getAll(); -if (isset($_POST["method"]) && $_POST["method"] == "save") +if (isset($_POST["method"]) && $_POST["method"] == "save") { $method = $_POST["method"]; $studiensemester_selected = (isset($_POST["studiensemester"]) ? $_POST["studiensemester"] : ""); @@ -107,30 +115,30 @@ if (isset($_POST["method"]) && $_POST["method"] == "save") $pruefungsfenster->ende = $endDate; if ($pruefungsfenster->save()) { - echo "Datensatz erfolgreich gespeichert"; + echo $p->t('pruefung/erfolgreichgespeichert'); } else { - echo "Fehler: ".$pruefungsfenster->errormsg; + echo $p->t('pruefung/fehler').$pruefungsfenster->errormsg; } -// } -// else +// } +// else // { // echo "Fehler: Startdatum liegt in der Vergangenheit."; // } - } + } else { - echo "Fehler: Enddatum liegt in der Vergangenheit."; + echo $p->t('pruefung/fehlerEndDatumInDerVergangenheit'); } - } - else - { - echo "Fehler: Enddatum liegt nicht nach dem Startdatum."; } - } - else + else + { + echo $p->t('pruefung/fehlerEndDatumVorStartDatum'); + } + } + else { - echo "Fehler: Datumseingabe nicht korrekt."; + echo $p->t('pruefung/fehlerDatumNichtKorrekt'); } } else if(isset($_POST["method"]) && $_POST["method"] == "update") @@ -151,44 +159,44 @@ else if(isset($_POST["method"]) && $_POST["method"] == "update") $pruefungsfenster_id = $_POST["id"]; $pruefungsfenster = new pruefungsfenster(); $pruefungsfenster->load($pruefungsfenster_id); - + if(in_array($pruefungsfenster->oe_kurzbz, $oe)) - { + { $pruefungsfenster->studiensemester_kurzbz = $studiensemester_selected; $pruefungsfenster->oe_kurzbz = $oe_kurzbz; $pruefungsfenster->start = $startDate; $pruefungsfenster->ende = $endDate; if ($pruefungsfenster->save()) { - echo "Datensatz erfolgreich geändert."; + echo $p->t('pruefung/erfolgreichgeaendert'); } else { - echo "Fehler: ".$pruefungsfenster->errormsg; + echo $p->t('pruefung/fehler').$pruefungsfenster->errormsg; } } else { - echo "Keine Berechtigung zum Ändern dieses Datensatzes."; + echo $p->t('pruefung/keineBerechtigungZumAendernDesDatensatzes'); } -// } -// else +// } +// else // { // echo "Fehler: Startdatum liegt in der Vergangenheit."; // } - } + } else { - echo "Fehler: Enddatum liegt in der Vergangenheit."; + echo $p->t('pruefung/fehlerEndDatumInDerVergangenheit'); } - } - else - { - echo "Fehler: Enddatum liegt nicht nach dem Startdatum."; } - } - else + else + { + echo $p->t('pruefung/fehlerEndDatumVorStartDatum'); + } + } + else { - echo "Fehler: Datumseingabe nicht korrekt."; + echo $p->t('pruefung/fehlerDatumNichtKorrekt'); } } else if(isset($_GET["id"]) && $_GET["id"]!= null && isset($_GET["method"]) && $_GET["method"]=="update") @@ -198,41 +206,41 @@ else if(isset($_GET["id"]) && $_GET["id"]!= null && isset($_GET["method"]) && $_ $pruefungsfenster->load($pruefungsfenster_id); if(!in_array($pruefungsfenster->oe_kurzbz, $oe)) { - echo "Keine Berechtigung zum Anzeigen dieses Datensatzes."; + echo $p->t('pruefung/keineBerechtigungZumAnzeigenDesDatensatzes'); $pruefungsfenster = new pruefungsfenster(); } $method = $_GET["method"]; -} +} else if(isset($_GET["id"]) && $_GET["id"]!= null && isset($_GET["method"]) && $_GET["method"]=="delete") -{ +{ $pruefungsfenster_id = $_GET["id"]; $pruefungsfenster = new pruefungsfenster(); $pruefungsfenster->load($pruefungsfenster_id); - + if(in_array($pruefungsfenster->oe_kurzbz, $oe)) { if(!$pruefungsfenster->hasPruefungen($pruefungsfenster_id) && $pruefungsfenster->errormsg === null) { - + if($pruefungsfenster->delete($pruefungsfenster_id)) { - echo "Datensatz erfolgreich gelöscht."; - } + echo $p->t('pruefung/erfolgreichgeloescht'); + } else { echo "Fehler: ".$pruefungsfenster->errormsg; } - + } else { - echo "Prüfungsfenster konnte nicht gelöscht werden, da Prüfungen verknüpft sind."; + echo $p->t('pruefung/pruefungsfensterKonnteNichtGeloeschtWerdenDaPruefungen'); } $method = $_GET["method"]; } else { - echo "Keine Berechtigung zum Löschen dieses Datensatzes."; + echo $p->t('pruefung/keineBerechtigungZumLoeschenDesDatensatzes'); } } @@ -240,9 +248,9 @@ $prfFenster = new pruefungsfenster(); $prfFenster->getAll("start"); if($method != "update") { -?> -

Prüfungsfenster-Verwaltung

-

Neues Prüfungsfenster anlegen

+?> +

t('pruefung/pruefungsfensterVerwaltung'); ?>

+

t('pruefung/neuesPruefungsfensterAnlegen'); ?>

@@ -250,12 +258,12 @@ if($method != "update") - + - + - + - + - +
Studiensemester: t('global/studiensemester'); ?>:
Organisationseinheit: t('global/organisationseinheit'); ?>:
Start: t('pruefung/start'); ?>:
Ende: t('pruefung/ende'); ?>:
@@ -314,8 +322,8 @@ if($method != "update") else { ?> -

Prüfungsfenster-Verwaltung

-

Prüfungsfenster bearbeiten

+

t('pruefung/pruefungsfensterVerwaltung'); ?>

+

t('pruefung/pruefungsfensterBearbeiten'); ?>

@@ -326,11 +334,11 @@ else - + - + - + - + - - + +
Studiensemester: t('global/studiensemester'); ?>:
Organisationseinheit: t('global/organisationseinheit'); ?>:
Start: t('pruefung/start'); ?>:
Ende: t('pruefung/ende'); ?>:
@@ -390,21 +398,21 @@ else if((isset($_GET["id"]) && $method!="update") || !isset($_GET["id"])) { ?> -

Prüfungsfenster bearbeiten

+

t('pruefung/pruefungsfensterBearbeiten'); ?>

- result)){ - + ?> - - - - - - + + + + + + @@ -415,14 +423,14 @@ else if(in_array($result->oe_kurzbz, $oe)) { $organisationseinheit->load($result->oe_kurzbz); - echo + echo ' - - + + '; } } @@ -433,14 +441,14 @@ else } else { - echo + echo ' - + '; } ?> - diff --git a/cis/private/lehre/pruefung/pruefungstermin.json.php b/cis/private/lehre/pruefung/pruefungstermin.json.php old mode 100644 new mode 100755 index ee2d39f76..5960fe5c2 --- a/cis/private/lehre/pruefung/pruefungstermin.json.php +++ b/cis/private/lehre/pruefung/pruefungstermin.json.php @@ -15,6 +15,14 @@ require_once('../../../../include/datum.class.php'); require_once('../../../../include/studiensemester.class.php'); require_once('../../../../include/pruefungsfenster.class.php'); require_once('../../../../include/pruefungsanmeldung.class.php'); +require_once('../../../../include/phrasen.class.php'); +require_once('../../../../include/globals.inc.php'); +require_once('../../../../include/sprache.class.php'); + +$sprache = getSprache(); +$lang = new sprache(); +$lang->load($sprache); +$p = new phrasen($sprache); $uid = get_uid(); @@ -66,7 +74,7 @@ switch($method) { $data['result']='false'; $data['error']='true'; - $data['errormsg']='Sie haben keine Berechtigung.'; + $data['errormsg']=$p->t('global/keineBerechtigung'); break; } $data = savePruefungstermin($mitarbeiter_uid, $studiensemester_kurzbz, $pruefungsfenster_id, $pruefungstyp_kurzbz, $titel, $beschreibung, $methode, $einzeln, $lehrveranstaltungen, $termine, $pruefungsintervall); @@ -105,7 +113,7 @@ switch($method) { $data['result']='false'; $data['error']='true'; - $data['errormsg']='Sie haben keine Berechtigung.'; + $data['errormsg']=$p->t('global/keineBerechtigung'); break; } $data = updatePruefungstermin($mitarbeiter_uid, $pruefung_id, $studiensemester_kurzbz, $pruefungsfenster_id, $pruefungstyp_kurzbz, $titel, $beschreibung, $methode, $einzeln, $lehrveranstaltungen, $termine, $termineNeu, $pruefungsintervall); @@ -115,7 +123,7 @@ switch($method) { $data['result']='false'; $data['error']='true'; - $data['errormsg']='Sie haben keine Berechtigung.'; + $data['errormsg']=$p->t('global/keineBerechtigung'); break; } $lvId = $_POST["lehrveranstaltung_id"]; @@ -127,7 +135,7 @@ switch($method) { $data['result']='false'; $data['error']='true'; - $data['errormsg']='Sie haben keine Berechtigung.'; + $data['errormsg']=$p->t('global/keineBerechtigung'); break; } $pruefung_id = $_REQUEST["pruefung_id"]; @@ -138,7 +146,7 @@ switch($method) { $data['result']='false'; $data['error']='true'; - $data['errormsg']='Sie haben keine Berechtigung.'; + $data['errormsg']=$p->t('global/keineBerechtigung'); break; } $pruefung_id = $_REQUEST["pruefung_id"]; @@ -158,7 +166,7 @@ switch($method) { $data['result']='false'; $data['error']='true'; - $data['errormsg']='Sie haben keine Berechtigung.'; + $data['errormsg']=$p->t('global/keineBerechtigung'); break; } break; @@ -255,10 +263,11 @@ function getPruefungsfensterByStudiensemester($studiensemester_kurzbz) */ function savePruefungstermin($uid, $studiensemester_kurzbz, $pruefungsfenster_id, $pruefungstyp_kurzbz, $titel, $beschreibung, $methode, $einzeln, $lehrveranstaltungen, $termine, $pruefungsintervall) { + global $p; if($lehrveranstaltungen === null) { $data['error']='true'; - $data['errormsg']="Keine Lehrverantaltung angegeben."; + $data['errormsg']=$p->t('pruefung/keineLvAngegeben'); return $data; } $termineArray = array(); @@ -282,7 +291,7 @@ function savePruefungstermin($uid, $studiensemester_kurzbz, $pruefungsfenster_id else { $data['error']='true'; - $data['errormsg']="Kollision mit anderem Termin."; + $data['errormsg']=$p->t('pruefung/kollisionMitAnderemTermin'); return $data; } // } @@ -292,7 +301,7 @@ function savePruefungstermin($uid, $studiensemester_kurzbz, $pruefungsfenster_id // $data['errormsg']="Termin ist nicht innerhalb des Prüfungsfensters."; // return $data; // } - } + } $pruefung = new pruefungCis(); $pruefung->termine = $termineArray; @@ -313,7 +322,7 @@ function savePruefungstermin($uid, $studiensemester_kurzbz, $pruefungsfenster_id array_push($pruefung->lehrveranstaltungen, $lv); } } - + if($pruefung->save(true)) { $data['result']="true"; @@ -397,12 +406,13 @@ function getLehrveranstaltungenByMitarbeiter($mitarbeiter_uid, $studiensemester_ */ function updatePruefungstermin($uid, $pruefung_id, $studiensemester_kurzbz, $pruefungsfenster_id, $pruefungstyp_kurzbz, $titel, $beschreibung, $methode, $einzeln, $lehrveranstaltungen, $termine, $termineNeu, $pruefungsintervall) { + global $p; $pruefungsfenster = new pruefungsfenster(); $pruefungsfenster->load($pruefungsfenster_id); $datum = new datum(); $pruefung = new pruefungCis(); $pruefung->load($pruefung_id); - + if($termineNeu !== null) { $termineNeuArray = array(); @@ -426,7 +436,7 @@ function updatePruefungstermin($uid, $pruefung_id, $studiensemester_kurzbz, $pru else { $data['error']='true'; - $data['errormsg']="Kollision mit anderem Termin."; + $data['errormsg']=$p->t('pruefung/kollisionMitAnderemTermin'); return $data; } // } @@ -442,7 +452,7 @@ function updatePruefungstermin($uid, $pruefung_id, $studiensemester_kurzbz, $pru $pruefung->saveTerminPruefung($pruefung_id, $t->beginn, $t->ende, $t->max, $t->min, $t->sammelklausur); } } - + if($termine !== null) { $termineArray = array(); @@ -474,7 +484,7 @@ 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; @@ -661,4 +671,4 @@ function checkCollision($uid, $beginn, $ende) } return false; } -?> \ No newline at end of file +?> diff --git a/cis/private/lehre/pruefung/pruefungstermin_festlegen.php b/cis/private/lehre/pruefung/pruefungstermin_festlegen.php old mode 100644 new mode 100755 index 29310073f..909ea18bd --- a/cis/private/lehre/pruefung/pruefungstermin_festlegen.php +++ b/cis/private/lehre/pruefung/pruefungstermin_festlegen.php @@ -2,22 +2,22 @@ */ @@ -33,6 +33,14 @@ require_once('../../../../include/pruefungstermin.class.php'); require_once('../../../../include/studiengang.class.php'); require_once('../../../../include/pruefungCis.class.php'); require_once('../../../../include/mitarbeiter.class.php'); +require_once('../../../../include/phrasen.class.php'); +require_once('../../../../include/globals.inc.php'); +require_once('../../../../include/sprache.class.php'); + +$sprache = getSprache(); +$lang = new sprache(); +$lang->load($sprache); +$p = new phrasen($sprache); $uid = get_uid(); $db = new basis_db(); @@ -49,11 +57,11 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh - Prüfungstermin festlegen + <?php echo $p->t('pruefung/titlePruefungstermin'); ?> - + @@ -68,12 +76,12 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh font-size: 1.5em; font-weight: bold; } - + .missingFormData { border: 2px solid red; outline: 2px solid red; } - + .modalOverlay { position: fixed; width: 100%; @@ -82,7 +90,7 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh left: 0px; background-color: rgba(0,0,0,0.3); /* black semi-transparent */ } - + #prfDetails, #prfVerwaltung { margin: 1em; } @@ -142,7 +150,7 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh });
-

Prüfungen verwalten

+

t('pruefung/pruefungenVerwalten'); ?>

StudiensemesterOrganisationseinheitStartdatumEnddatumBearbeitenLöschent('global/studiensemester'); ?>t('global/organisationseinheit'); ?>t('pruefung/start'); ?>t('pruefung/ende'); ?>t('global/bearbeiten'); ?>t('global/loeschen'); ?>
'.$result->studiensemester_kurzbz.' '.$organisationseinheit->organisationseinheittyp_kurzbz." ".$organisationseinheit->bezeichnung.' '.$result->start.' '.$result->ende.'bearbeitenlöschen'.$p->t('global/bearbeiten').''. $p->t('global/loeschen').'
Keine Prüfungsfenster gespeichert.'.$p->t('pruefung/keinePruefungsfensterGespeichert').'
lehrveranstaltungen) && !$rechte->isBerechtigt('leh } else { - echo ''; + echo ''; echo ''; echo ''; echo ''; @@ -169,30 +177,30 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
Lektor:'.$p->t('pruefung/pruefungLektor').':
- + - + - + - + - + --> - + - + - + - + - + - +
Titel:t('pruefung/pruefungTitel'); ?>:
Beschreibung:t('global/beschreibung'); ?>:
Studiensemester:t('global/studiensemester'); ?>:
Prüfungsfenster:t('pruefung/pruefungsfenster'); ?>:
Methode:t('pruefung/pruefungMethode'); ?>:
Einzelprüfung:t('pruefung/pruefungEinzelpruefung'); ?>:
Prüfungsintervall:t('pruefung/pruefungIntervall'); ?>:
Lehrveranstaltungen:t('global/lehrveranstaltung'); ?>:
Termin:t('pruefung/pruefungTermin'); ?>:
- - - - - - + + + + + + @@ -278,30 +286,30 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
DatumVonbismin. Teilnehmermax. TeilnehmerSammelklausurt('global/datum'); ?>t('global/von'); ?>t('global/bis'); ?>t('pruefung/pruefungMinTeilnehmer'); ?>t('pruefung/pruefungMaxTeilnehmer'); ?>t('pruefung/pruefungSammelklausur'); ?>
- Termin hinzufügen + t('pruefung/pruefungTerminHinzufuegen'); ?>
  
-

Prüfungen

+

t('pruefung/pruefungPruefungenTitle'); ?>

- - - - - - - - - + + + + + + + + + diff --git a/cms/menu/menu_addon_lehrveranstaltungen.inc.php b/cms/menu/menu_addon_lehrveranstaltungen.inc.php index f87ca1c62..9100f6a2b 100755 --- a/cms/menu/menu_addon_lehrveranstaltungen.inc.php +++ b/cms/menu/menu_addon_lehrveranstaltungen.inc.php @@ -19,10 +19,10 @@ */ /** * Menue Addon zur Auswahl von LVs - * + * * Dieses Addon erstellt ein Formular zur Auswahl von Studiengang und Semester und zeigt die * zugehoerigen LVs an - * + * * Parameter fuer das Params Array: * - studiengang_kz * - semester @@ -44,9 +44,9 @@ class menu_addon_lehrveranstaltungen extends menu_addon global $params; parent::__construct(); - + $this->link=false; - + $sprache = getSprache(); $user = get_uid(); $student = new student(); @@ -55,17 +55,17 @@ class menu_addon_lehrveranstaltungen extends menu_addon $studiengang_kz=$student->studiengang_kz; $semester=$student->semester; } - + $p = new phrasen($sprache); - - + + $this->block.='
TitelStudiensemesterLehrveranstaltungenTermineMethodePrüfungstypEinzelprüfungMitarbeiterstorniertt('pruefung/pruefungTitel'); ?>t('global/studiensemester'); ?>t('global/lehrveranstaltung'); ?>t('pruefung/pruefungTermin'); ?>t('pruefung/pruefungMethode'); ?>t('pruefung/pruefungTyp'); ?>t('pruefung/pruefungEinzelpruefung'); ?>t('pruefung/pruefungMitarbeiter'); ?>t('pruefung/storniert'); ?>