mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
42285ca49d
- Filteransicht verkleinert - LVNR im LV-Tree sichtbar - LV-Details können jetzt auch von Lehrveranstaltungen im LV-Tree angezeigt werden
1350 lines
35 KiB
JavaScript
1350 lines
35 KiB
JavaScript
/* 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: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
|
* Stefan Puraner <puraner@technikum-wien.at>
|
|
*/
|
|
var studiengang_kz='';
|
|
var studiengang_bezeichnung='';
|
|
var studienordnung_id='';
|
|
var studienordnung_bezeichnung='';
|
|
var studienplan_id='';
|
|
var lehrveranstaltungen='';
|
|
|
|
// Speichert die Parameter des aktuell angezeigten Studienplans fuer Refresh des Trees
|
|
var loadLehrveranstaltungSTPLStudienplan_id = '';
|
|
var loadLehrveranstaltungSTPLBezeichnung = '';
|
|
var loadLehrveranstaltungSTPLSemester = '';
|
|
|
|
// Wenn true sind die LV Filter bereits geladen und muessen nicht erneut geladen werden
|
|
var isLVFilterLoaded=false;
|
|
|
|
/**
|
|
* 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);
|
|
}
|
|
|
|
/**
|
|
* Entfernt Null Werte
|
|
*/
|
|
function ClearNull(value)
|
|
{
|
|
if(value===null)
|
|
return '';
|
|
else
|
|
return value;
|
|
}
|
|
|
|
/**
|
|
* Schreibt die Ueberschrift des angezeigten Studienplanes
|
|
*/
|
|
function drawHeader(text)
|
|
{
|
|
if(text===undefined)
|
|
{
|
|
text = '<h2>';
|
|
if(studiengang_bezeichnung!='')
|
|
text=text+studiengang_bezeichnung;
|
|
if(studienordnung_bezeichnung!='')
|
|
text=text+' <b>></b> '+studienordnung_bezeichnung;
|
|
if(studienplan_bezeichnung!='')
|
|
text=text+' <b>></b> '+studienplan_bezeichnung;
|
|
|
|
|
|
text=text+'</h2>';
|
|
}
|
|
else
|
|
text='<h2>'+text+'</h2>';
|
|
$('#header').html(text);
|
|
}
|
|
|
|
/**
|
|
* Laedt die Studienordnungen und zeigt diese im linken Menue an
|
|
*/
|
|
function loadStudienordnung()
|
|
{
|
|
// Ausgewaehlten Studiengang holen
|
|
studiengang_kz = $('#studiengang').val();
|
|
studiengang_bezeichnung = $( "#studiengang option:selected" ).text();
|
|
|
|
// Globale Variablen resetten
|
|
studienordnung_id='';
|
|
studienordnung_bezeichnung='';
|
|
studienplan_id='';
|
|
studienplan_bezeichnung='';
|
|
|
|
drawHeader();
|
|
|
|
// Laden der Studienordnungen
|
|
$.ajax(
|
|
{
|
|
dataType: "json",
|
|
url: "../../soap/fhcomplete.php",
|
|
data: {
|
|
"typ": "json",
|
|
"class": "studienordnung",
|
|
"method": "loadStudienordnungSTG",
|
|
"parameter_0": studiengang_kz
|
|
},
|
|
error: loadError
|
|
}).success(function(data)
|
|
{
|
|
if(data.error=='true')
|
|
{
|
|
alert('Fehler:'+data.errormsg);
|
|
}
|
|
else
|
|
{
|
|
$("#studienplan").html("Bitte wählen Sie zuerst eine Studienordnung aus!");
|
|
drawStudienordnungen(data.result);
|
|
//jqUi( "#menueLinks" ).accordion("option","active",1);
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Erstellt die Links fuer die Studienordnungen
|
|
* @param data Objekt mit den Studienordnungsdaten
|
|
*/
|
|
function drawStudienordnungen(data)
|
|
{
|
|
var obj='<a href="#Neu" onclick="neueStudienordnung();return false;">Neue Studienordnung</a><ul style="padding-left: 15px">';
|
|
|
|
for(i in data)
|
|
{
|
|
if(data[i].studienordnung_id !== null)
|
|
{
|
|
obj=obj+'<li><a href="#Load'+data[i].studienordnung_id+'" onclick="loadStudienplanSTO('+data[i].studienordnung_id+',\''+data[i].bezeichnung+'\');return false;">'+data[i].bezeichnung+'</a>'
|
|
+' <a href="#Edit'+data[i].studienordnung_id+'" onclick="editStudienordnung('+data[i].studienordnung_id+');return false;"><img title="edit" src="../../skin/images/edit.png"></a></li>';
|
|
}
|
|
}
|
|
obj=obj+'</ul>';
|
|
$("#data").empty();
|
|
$("#tabs").hide();
|
|
$('#studienordnung').html(obj);
|
|
}
|
|
|
|
/**
|
|
* Laedt die Studienplaene zu einer Studienordnung
|
|
*/
|
|
function loadStudienplanSTO(neue_studienordnung_id,bezeichnung)
|
|
{
|
|
studienordnung_bezeichnung=bezeichnung;
|
|
studienordnung_id=neue_studienordnung_id;
|
|
drawHeader();
|
|
$.ajax(
|
|
{
|
|
dataType: "json",
|
|
url: "../../soap/fhcomplete.php",
|
|
data: {
|
|
"typ": "json",
|
|
"class": "studienplan",
|
|
"method": "loadStudienplanSTO",
|
|
"parameter_0": studienordnung_id
|
|
},
|
|
error: loadError
|
|
}).success(function(data)
|
|
{
|
|
if(data.error=='true')
|
|
{
|
|
alert('Fehler:'+data.errormsg);
|
|
}
|
|
else
|
|
{
|
|
drawStudienplan(data.result);
|
|
//jqUi( "#menueLinks" ).accordion("option","active",2);
|
|
}
|
|
semesterStoZuordnung();
|
|
});
|
|
$.ajax({
|
|
dataType: "json",
|
|
url: "../../soap/fhcomplete.php",
|
|
data: {
|
|
"typ" : "json",
|
|
"class": "studienordnung",
|
|
"method": "loadStudienordnung",
|
|
"parameter_0": studienordnung_id
|
|
},
|
|
error: loadError
|
|
}).success(function(data){
|
|
if(data.result.length === 1)
|
|
{
|
|
var html = "";
|
|
html += data.result[0];
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Erstellt die Links zu den Studienplaenen
|
|
*/
|
|
function drawStudienplan(data)
|
|
{
|
|
var obj='<a href="#Neu" onclick="neuerStudienplan();return false;">Neuer Studienplan</a><ul style="padding-left: 15px">';
|
|
|
|
for(i in data)
|
|
{
|
|
if(data[i].studienplan_id !== null)
|
|
{
|
|
obj=obj+'<li><a href="#Load'+data[i].studienplan_id+'" onclick="loadLehrveranstaltungSTPL('+data[i].studienplan_id+',\''+data[i].bezeichnung+'\',\''+data[i].regelstudiendauer+'\');return false;">'+data[i].bezeichnung+'</a>'
|
|
+' <a href="#Edit'+data[i].studienplan_id+'" onclick="editStudienplan('+data[i].studienplan_id+');return false;"><img title="edit" src="../../skin/images/edit.png"></a></li>';
|
|
}
|
|
}
|
|
obj=obj+'</ul>';
|
|
$("#tabs").hide();
|
|
$('#studienplan').html(obj);
|
|
}
|
|
|
|
/**
|
|
* Konvertiert den Tree fuer den Studienplan damit dieser mit jstree angezeigt werden kann
|
|
*/
|
|
function GenerateTreeChilds(data)
|
|
{
|
|
var children = [];
|
|
if(data.children!==undefined)
|
|
{
|
|
// Rekursiv die darunterliegenden LVs aufloesen
|
|
for(i in data.children)
|
|
children.push(GenerateTreeChilds(data.children[i]));
|
|
}
|
|
var obj = {
|
|
"data":data.bezeichnung,
|
|
"metadata": {"lehrveranstaltung_id":data.lehrveranstaltung_id,"bezeichnung":data.bezeichnung,"ects":data.ects,"semesterstunden":data.semesterstunden,"lehrform_kurzbz":data.lehrform_kurzbz,"lvnr":data.lvnr},
|
|
"attr":{"id":data.studienplan_lehrveranstaltung_id,"rel":data.lehrtyp_kurzbz,"lvID":data.lehrveranstaltung_id,"studienplan_lehrveranstaltung_id":data.studienplan_lehrveranstaltung_id},
|
|
"children":children
|
|
};
|
|
return obj;
|
|
}
|
|
|
|
/**
|
|
* Laedt die Lehrveranstaltungen eines Studienplanes
|
|
*/
|
|
function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester)
|
|
{
|
|
// Daten in globale Variable Speichern damit der Tree spaeter refresht werden kann
|
|
loadLehrveranstaltungSTPLStudienplan_id = studienplan_id;
|
|
loadLehrveranstaltungSTPLBezeichnung = bezeichnung;
|
|
loadLehrveranstaltungSTPLSemester = max_semester;
|
|
|
|
//studienplan_id = studienplan_id;
|
|
studienplan_bezeichnung=bezeichnung;
|
|
drawHeader();
|
|
|
|
// Laden der Daten
|
|
$.ajax(
|
|
{
|
|
dataType: "json",
|
|
url: "../../soap/fhcomplete.php",
|
|
data: {
|
|
"typ": "json",
|
|
"class": "lehrveranstaltung",
|
|
"method": "getLvTree",
|
|
"parameter_0": studienplan_id,
|
|
},
|
|
error: loadError
|
|
}).success(function(data)
|
|
{
|
|
|
|
// Daten konvertieren damit diese im Tree angezeigt werden koennen
|
|
var treeData=[];
|
|
var semester=max_semester;
|
|
|
|
// Semester Baum aufbauen
|
|
|
|
// 0er Semester direkt anzeigen (als uebergeordnete LVs)
|
|
var children = [];
|
|
for(i in data.return)
|
|
{
|
|
var item = data.return[i];
|
|
if(item.stpllv_semester==0)
|
|
{
|
|
treeData.push(GenerateTreeChilds(item));
|
|
}
|
|
}
|
|
|
|
// Alle anderen Semester durchlaufen
|
|
for(var sem=1;sem<=semester;sem++)
|
|
{
|
|
// LVs die direkt unter diesem Semester liegen
|
|
var children = [];
|
|
for(i in data.return)
|
|
{
|
|
var item = data.return[i];
|
|
if(item.stpllv_semester==sem)
|
|
{
|
|
children.push(GenerateTreeChilds(item));
|
|
}
|
|
}
|
|
|
|
var obj = {
|
|
"data":sem+'. Semester',
|
|
"attr":{"id":"Semester"+sem,"rel":"semester","semester":sem},
|
|
"children":children
|
|
};
|
|
treeData.push(obj);
|
|
}
|
|
|
|
// DIV fuer den Tree neu anlegen damit der alte Tree vollstaendig entfernt wird
|
|
$("#data").html("<div id='treeData'></div>");
|
|
|
|
// Anzeigen des Trees mit den Lehrveranstaltungen
|
|
$("#treeData").jstree({
|
|
ui: {
|
|
"select_limit": 1,
|
|
"select_multiple_modifier": "ctrl"
|
|
},
|
|
json_data: {
|
|
data: treeData // Daten an den Tree binden
|
|
},
|
|
crrm: {
|
|
move: {
|
|
"always_copy": "multitree",
|
|
"check_move": function(m) {
|
|
if(m.o.attr("rel")==="semester")
|
|
{
|
|
return false;
|
|
}
|
|
if(m.r.attr("rel")==="semester" && (m.p === "inside" || m.p === "before"))
|
|
{
|
|
return true;
|
|
}
|
|
|
|
if(m.p === "inside" || m.p === "last")
|
|
{
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
}
|
|
},
|
|
dnd: {
|
|
"drag_check": function(data){
|
|
return {
|
|
after: false,
|
|
before: false,
|
|
inside: true
|
|
};
|
|
}
|
|
},
|
|
grid: {
|
|
columns: [
|
|
{width: 300, header: "Lehrveranstaltung", value: "bezeichnung", source: "metadata", headerClass: "header_lv"},
|
|
{width: 50, header: "ECTS", value: "ects", source: "metadata", wideCellClass: "col_ects", headerClass: "header_ects"},
|
|
{width: 120, header: "Semesterstunden", value: "semesterstunden", source: "metadata", cellClass: "col_semesterstunden"},
|
|
{width: 120, header: "Lehrform", value: "lehrform_kurzbz", source: "metadata", cellClass: "col_lehrform"},
|
|
{width: 120, header: "LVNR", value: "lvnr", source: "metadata", cellClass: "col_lvnr"}
|
|
],
|
|
resizable: true
|
|
},
|
|
types: {
|
|
"types" : {
|
|
"lv" : {
|
|
icon : {
|
|
image : "../../skin/images/lv.png"
|
|
}
|
|
},
|
|
"semester" : {
|
|
|
|
},
|
|
"modul" : {
|
|
icon : {
|
|
image : "../../skin/images/modul.png"
|
|
}
|
|
},
|
|
"lf" : {
|
|
}
|
|
}
|
|
},
|
|
sort : function(a, b){
|
|
return this._get_node(a).attr("rel") > this._get_node(b).attr("rel");
|
|
},
|
|
contextmenu: {
|
|
// Kontextmenue
|
|
"items" : function(node) {
|
|
// Loeschen nur anzeigen wenn Eintrag kein Semester ist
|
|
if(node.attr("rel") !== "semester")
|
|
{
|
|
return {
|
|
"Delete" : {
|
|
"label" : "Eintrag entfernen",
|
|
"action": function(obj){
|
|
// Pruefen ob LVs unterhalb dieser LV haengen,
|
|
// falls ja wird das loeschen verhindert
|
|
if(obj.children().find("li").length === 0)
|
|
{
|
|
var conf = confirm("Wollen Sie \""+this.get_text(obj)+"\" wirklich aus diesem Studienplan löschen?");
|
|
if(conf)
|
|
{
|
|
this.remove(obj);
|
|
deleteLehrveranstaltungFromStudienplan(obj.attr("studienplan_lehrveranstaltung_id"));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
alert("Das zu löschende Element darf keine Elemente beinhalten!");
|
|
}
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
}
|
|
},
|
|
plugins: ["themes", "ui", "dnd", "grid", "json_data", "crrm", "types", "sort", "contextmenu"]
|
|
}).bind("move_node.jstree", function(event, data)
|
|
{
|
|
// Verschieben eines Eintrages
|
|
|
|
// Studienplan_lehrveranstaltung_id ermitteln
|
|
var studienplan_lehrveranstaltung_id='';
|
|
if(data.rslt.o[0].attributes.studienplan_lehrveranstaltung_id)
|
|
studienplan_lehrveranstaltung_id=data.rslt.o[0].attributes.studienplan_lehrveranstaltung_id.value;
|
|
|
|
// Aenderung speichern
|
|
saveJsondataFromTree(data.rslt.o[0].id, studienplan_id, studienplan_lehrveranstaltung_id);
|
|
|
|
// ECTS Summen neu berechnen
|
|
var root = data.inst.get_container_ul();
|
|
var nodes = root[0].childNodes;
|
|
for(var i=0; i<nodes.length; i++)
|
|
{
|
|
if(nodes[i].getAttribute("rel") === "semester")
|
|
{
|
|
writeEctsSum(nodes[i]);
|
|
}
|
|
|
|
}
|
|
hideAllTreeColumns();
|
|
writeOverallSum(nodes);
|
|
}).bind("loaded.jstree", function(event, data)
|
|
{
|
|
// Wenn der Tree geladen wird, die ECTS Summen der einzelnen Semester berechnen
|
|
|
|
// $(".col_ects").css("width", "5%");
|
|
// $(".header_ects").css("width", "5%");
|
|
// $(".col_ects").css("min-width", "50px");
|
|
// $(".header_ects").css("min-width", "50px");
|
|
//
|
|
// $("#data").find(".jstree-grid-col-0").each(function(index){
|
|
// $(this).css("width", "40%");
|
|
//// console.log(this);
|
|
// });
|
|
// $(".header_lv").css("width", "40%");
|
|
|
|
var root = data.inst.get_container_ul();
|
|
var nodes = root[0].childNodes;
|
|
// console.log(nodes);
|
|
for(var i=0; i<nodes.length; i++)
|
|
{
|
|
if(nodes[i].getAttribute("rel") === "semester"){
|
|
writeEctsSum(nodes[i]);
|
|
}
|
|
|
|
}
|
|
writeOverallSum(nodes);
|
|
}).bind("open_node.jstree", function(event, data)
|
|
{
|
|
if(data.args[0].attr)
|
|
{
|
|
var root = data.inst.get_container_ul()[0].childNodes;
|
|
var nodes = $("#"+data.args[0].attr("id"));
|
|
|
|
for(var i=0; i<nodes.length; i++)
|
|
{
|
|
if(nodes[i].getAttribute("rel") === "semester"){
|
|
writeEctsSum(nodes[i]);
|
|
}
|
|
}
|
|
writeOverallSum(root);
|
|
}
|
|
}).bind("select_node.jstree", function(event, data)
|
|
{
|
|
// Bei einem Klick auf eine LV werden die Details geladen
|
|
stpllvid = data.rslt.obj.attr("studienplan_lehrveranstaltung_id");
|
|
lvid = data.rslt.obj.attr("lvID");
|
|
if(lvid !== undefined)
|
|
{
|
|
if(lvid.substring(0,5)==="copy_")
|
|
{
|
|
lvid = lvid.substring(5);
|
|
}
|
|
}
|
|
|
|
|
|
// Lehrveranstaltungsdetails laden
|
|
if(data.rslt.obj.attr("rel") !== "semester")
|
|
{
|
|
LoadLVDetails(lvid, stpllvid);
|
|
}
|
|
else
|
|
{
|
|
$("#tab-lehrveranstaltungdetail").html("<p>Klicken Sie auf eine Lehrveranstaltung um die Details anzuzeigen</p>");
|
|
}
|
|
|
|
// Regeln laden
|
|
if(data.rslt.obj.attr("rel") !== "semester")
|
|
{
|
|
if(stpllvid!==undefined)
|
|
LVRegelnloadRegeln(stpllvid);
|
|
}
|
|
else
|
|
{
|
|
$("#tab-regel").html("<p>Klicken Sie auf eine Lehrveranstaltung um die Regeln anzuzeigen</p>");
|
|
}
|
|
|
|
// Kompatibilitaet laden
|
|
if(data.rslt.obj.attr("rel") !== "semester")
|
|
{
|
|
if(lvid!==undefined)
|
|
loadLVKompatibilitaet(lvid);
|
|
}
|
|
else
|
|
{
|
|
$("#tab-kompatibel").html("<p>Klicken Sie auf eine Lehrveranstaltung um die kompatiblen Lehrveranstaltungen anzuzeigen</p>");
|
|
}
|
|
});
|
|
|
|
if(!isLVFilterLoaded)
|
|
{
|
|
$("#lehrveranstaltung").html("OE: <div id='oeDiv' style='display:inline'></div><br><br>");
|
|
$.ajax(
|
|
{
|
|
dataType: "json",
|
|
url: "../../soap/fhcomplete.php",
|
|
data: {
|
|
"typ": "json",
|
|
"class": "organisationseinheit",
|
|
"method": "getAll",
|
|
"parameter_0":true,
|
|
"parameter_1":true
|
|
},
|
|
error: loadError
|
|
}).success(function(data)
|
|
{
|
|
var html = "<select id='oeDropdown' style='max-width: 200px' onchange='loadFilteredLehrveranstaltungen();'><option value=''>-- Keine --</option>";
|
|
for(i in data.result)
|
|
{
|
|
if(data.result[i].aktiv===true)
|
|
{
|
|
html+='<option value="'+data.result[i].oe_kurzbz+'">'+data.result[i].organisationseinheittyp_kurzbz+' '+data.result[i].bezeichnung+'</option>';
|
|
}
|
|
}
|
|
html+="</select>";
|
|
$("#oeDiv").html(html);
|
|
loadLehrtypen();
|
|
});
|
|
}
|
|
else
|
|
{
|
|
// Filter sind bereits vorhanden, nur die LVs und Semesteranzahl werden neu geladen
|
|
loadSemester();
|
|
}
|
|
});
|
|
$( "#tabs" ).show();
|
|
}
|
|
|
|
/**
|
|
* Laedt Details zur ausgewaehlten Lehrveranstaltung
|
|
*/
|
|
function LoadLVDetails(lvid, stpllvid)
|
|
{
|
|
$.ajax(
|
|
{
|
|
dataType: "json",
|
|
url: "../../soap/fhcomplete.php",
|
|
data: {
|
|
"typ": "json",
|
|
"class": "lehrveranstaltung",
|
|
"method": "load",
|
|
"parameter_0":lvid
|
|
},
|
|
error: loadError
|
|
}).success(function(data)
|
|
{
|
|
lvdata = data.result[0];
|
|
var html = "<b>"+ClearNull(lvdata.bezeichnung)+" - "+ClearNull(lvdata.kurzbz)+"</b>";
|
|
html+="<br>ECTS: "+ClearNull(lvdata.ects);
|
|
html+="<br>Semesterstunden: "+ClearNull(lvdata.semesterstunden);
|
|
html+="<br>LVNR: "+ClearNull(lvdata.lvnr);
|
|
html+="<br>Lehrform: "+ClearNull(lvdata.lehrform_kurzbz);
|
|
html+="<br>LV-Semester: "+ClearNull(lvdata.semester);
|
|
html+="<br><br>LVID: "+ClearNull(lvdata.lehrveranstaltung_id)+" / StgKz: "+ClearNull(lvdata.studiengang_kz);
|
|
$("#tab-lehrveranstaltungdetail").html(html);
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Laedt kompatible LVs zur ausgewaehlten Lehrveranstaltung
|
|
*/
|
|
function loadLVKompatibilitaet(lvid)
|
|
{
|
|
$.ajax(
|
|
{
|
|
dataType: "json",
|
|
url: "../../soap/fhcomplete.php",
|
|
data: {
|
|
"typ": "json",
|
|
"class": "lehrveranstaltung",
|
|
"method": "getLVkompatibel",
|
|
"parameter_0":lvid
|
|
},
|
|
error: loadError
|
|
}).success(function(data)
|
|
{
|
|
var html='';
|
|
for(i in data.result)
|
|
{
|
|
if(data.result[i])
|
|
{
|
|
lvdata = data.result[i];
|
|
if(!(lvdata.kurzbz===null && lvdata.bezeichnung===null && lvdata.studiengang_kz===null && lvdata.semester===null))
|
|
html = html+'<br>'+lvdata.kurzbz+' - '+lvdata.bezeichnung+' (Studiengang '+lvdata.studiengang_kz+', Semester '+lvdata.semester+')';
|
|
}
|
|
html = html+'<br><br><a href="lehrveranstaltung_kompatibel.php?lehrveranstaltung_id='+lvid+'&type=edit" target="_blank">kompatible Lehrveranstaltungen hinzufügen</a>';
|
|
}
|
|
$("#tab-kompatibel").html(html);
|
|
|
|
});
|
|
}
|
|
|
|
|
|
/**
|
|
* Laedt die Daten um eine neue Studienordnung zu erstellen
|
|
*/
|
|
function neueStudienordnung()
|
|
{
|
|
$("#tabs").hide();
|
|
drawHeader('Neue Studienordnung');
|
|
$("#data").load('studienordnung.inc.php?method=neueStudienordnung&studiengang_kz='+studiengang_kz);
|
|
}
|
|
|
|
/**
|
|
* Laedt die Daten um einen neuen Studienplan zu erstellen
|
|
*/
|
|
function neuerStudienplan()
|
|
{
|
|
$("#tabs").hide();
|
|
drawHeader('Neuer Studienplan');
|
|
$("#data").load('studienordnung.inc.php?method=neuerStudienplan&studiengang_kz='+studiengang_kz);
|
|
}
|
|
|
|
/**
|
|
* Laedt die Daten um eine Studienordnung zu editieren
|
|
*/
|
|
function editStudienordnung(studienordnung_id)
|
|
{
|
|
$("#tabs").hide();
|
|
drawHeader('Studienordnung bearbeiten');
|
|
$("#data").load('studienordnung.inc.php?method=neueStudienordnung&studiengang_kz='+studiengang_kz+'&studienordnung_id='+studienordnung_id);
|
|
}
|
|
|
|
/**
|
|
* Laedt die Daten um einen Studienplan zu editieren
|
|
*/
|
|
function editStudienplan(studienplan_id)
|
|
{
|
|
$("#tabs").hide();
|
|
drawHeader('Studienplan bearbeiten');
|
|
$("#data").load('studienordnung.inc.php?method=neuerStudienplan&studiengang_kz='+studiengang_kz+'&studienplan_id='+studienplan_id);
|
|
}
|
|
|
|
/*
|
|
* Funktion zum Laden des Baumes der
|
|
* gefilterten LVs
|
|
* */
|
|
function loadFilteredLehrveranstaltungen()
|
|
{
|
|
if($("#oeDropdown option:selected").val() === "")
|
|
{
|
|
$.ajax(
|
|
{
|
|
dataType: "json",
|
|
url: "../../soap/fhcomplete.php",
|
|
data: {
|
|
"typ": "json",
|
|
"class": "lehrveranstaltung",
|
|
"method": "load_lva",
|
|
"parameter_0": studiengang_kz, //Studiengangskennzahl
|
|
"parameter_1": $("#semesterDropdown").val(), //Semester
|
|
"parameter_2": "null", //Lehrverzeichnis
|
|
"parameter_3": "null", //Lehre // sollte TRUE sein
|
|
"parameter_4": "true", //Aktiv // sollte TRUE sein
|
|
"parameter_5": "bezeichnung", //Sortierung
|
|
"parameter_6": "null", //$("#oeDropdown option:selected").val(),//Organisationseinheit KurzBz
|
|
"parameter_7": $("#lehrtypDropdown option:selected").val() //Lehrtyp KurzBz
|
|
},
|
|
error: loadError
|
|
}).success(function(data)
|
|
{
|
|
showLVTree(data);
|
|
});
|
|
}
|
|
else
|
|
{
|
|
//get LVs by OE
|
|
$.ajax(
|
|
{
|
|
dataType: "json",
|
|
url: "../../soap/fhcomplete.php",
|
|
data: {
|
|
"typ": "json",
|
|
"class": "lehrveranstaltung",
|
|
"method": "load_lva_oe",
|
|
"parameter_0": $("#oeDropdown option:selected").val(), //Organisationseinheit KurzBz
|
|
"parameter_1": "true", //Aktiv // sollte TRUE sein
|
|
"parameter_2": $("#lehrtypDropdown option:selected").val(), //Lehrtyp KurzBz
|
|
"parameter_3": "null", //optionale Sortierung
|
|
"parameter_4": $("#semesterDropdown option:selected").val() //Semester
|
|
},
|
|
error: loadError
|
|
}).success(function(data)
|
|
{
|
|
showLVTree(data);
|
|
});
|
|
}
|
|
}
|
|
|
|
function showLVTree(data)
|
|
{
|
|
if(data.result[0].lehrveranstaltung_id!==null)
|
|
{
|
|
|
|
var TreeData = []
|
|
for(i in data.result)
|
|
{
|
|
item = data.result[i];
|
|
var obj = {
|
|
"data":item.bezeichnung,
|
|
"metadata": {"lehrveranstaltung_id":item.lehrveranstaltung_id,"bezeichnung":item.bezeichnung,"ects":item.ects,"semesterstunden":item.semesterstunden,"lvnr":item.lvnr,"lehrform_kurzbz":item.lehrform_kurzbz},
|
|
"attr":{"id":item.lehrveranstaltung_id,"rel":item.lehrtyp_kurzbz,"lvID":item.lehrveranstaltung_id,"studienplan_lehrveranstaltung_id":item.studienplanlehrveranstaltung_id},
|
|
};
|
|
TreeData.push(obj);
|
|
}
|
|
|
|
if($("#lvListe").length === 0)
|
|
{
|
|
$("#filteredLVs").html("<h3></h3><div id='lvListe'></div>");
|
|
}
|
|
else
|
|
{
|
|
$("#filteredLVs").html("<h3>Daten werden geladen...</h3><div id='lvListe'></div>");
|
|
}
|
|
$("#lvListe").jstree({
|
|
ui: {
|
|
"select_limit": 1,
|
|
"select_multiple_modifier": "ctrl"
|
|
},
|
|
json_data: {
|
|
data: TreeData,
|
|
progressive_render : true
|
|
},
|
|
crrm: {
|
|
move: {
|
|
"check_move" : function(m)
|
|
{
|
|
return false;
|
|
},
|
|
"always_copy": "multitree"
|
|
}
|
|
},
|
|
types: {
|
|
"types" : {
|
|
"lv" : {
|
|
icon : {
|
|
image : "../../skin/images/lv.png"
|
|
}
|
|
},
|
|
"modul" : {
|
|
icon : {
|
|
image : "../../skin/images/modul.png"
|
|
}
|
|
},
|
|
"lf" : {
|
|
}
|
|
}
|
|
},
|
|
grid: {
|
|
columns: [
|
|
{width: 250, header: "Lehrveranstaltung", value: "bezeichnung", source: "metadata"},
|
|
{width: 50, header: "ECTS", value: "ects", source: "metadata"},
|
|
{width: 80, header: "Lehrform", value: "lehrform_kurzbz", source: "metadata"},
|
|
{width: 100, header: "LVNR", value: "lvnr", source: "metadata"}
|
|
//{width: 80, header: "Semester", value: "semester", source: "metadata"},
|
|
//{width: 120, header: "Semesterstunden", value: "semesterstunden", source: "metadata"},
|
|
],
|
|
resizable: true
|
|
},
|
|
plugins: ["themes", "ui", "dnd", "grid", "json_data", "crrm", "types", "sort"]
|
|
}).bind("loaded.jstree", function(event, data)
|
|
{
|
|
$("#loadingGif").remove();
|
|
$("h3:contains('Daten werden geladen...')").remove();
|
|
//hideAllTreeColumns();
|
|
}).bind("select_node.jstree", function(event, data)
|
|
{
|
|
// Bei einem Klick auf eine LV werden die Details geladen
|
|
lvid = data.rslt.obj.attr("lvID");
|
|
|
|
|
|
LoadLVDetails(lvid, null);
|
|
|
|
// Regeln laden
|
|
$("#tab-regel").html("<p>Regeln werden nur angezeigt wenn die LV im Studienplan hängt</p>");
|
|
|
|
// Kompatibilitaet laden
|
|
if(lvid!==undefined)
|
|
loadLVKompatibilitaet(lvid);
|
|
|
|
});
|
|
}
|
|
else
|
|
{
|
|
$("#filteredLVs .jstree-grid-wrapper").remove();
|
|
if($("#lvListe").length !== 0)
|
|
{
|
|
$("#lvListe").remove();
|
|
}
|
|
$("h3:contains('')").remove();
|
|
$("#filteredLVs").append("<div id='lvListe'>Keine Einträge gefunden!</div>");
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Funktion zum Laden der Daten für
|
|
* das Dropdownfeld zum Filtern nach Lehrtyp
|
|
*/
|
|
function loadLehrtypen()
|
|
{
|
|
$.ajax(
|
|
{
|
|
dataType: "json",
|
|
url: "../../soap/fhcomplete.php",
|
|
data: {
|
|
"typ": "json",
|
|
"class": "lehrtyp",
|
|
"method": "getAll"
|
|
},
|
|
error: loadError
|
|
}).success(function(data)
|
|
{
|
|
if($("#lehrtypenDiv").length === 0)
|
|
{
|
|
$("#lehrveranstaltung").append("Lehrtyp: <div id='lehrtypenDiv' style='display:inline'></div><br><br>");
|
|
}
|
|
var html = "<select id='lehrtypDropdown' onchange='loadFilteredLehrveranstaltungen();'><option value='null'>-- Alle --</option>";
|
|
for(i in data.result)
|
|
{
|
|
html+='<option value="'+data.result[i].lehrtyp_kurzbz+'">'+data.result[i].bezeichnung+'</option>';
|
|
}
|
|
html+="</select>";
|
|
$("#lehrtypenDiv").html(html);
|
|
loadSemester();
|
|
});
|
|
}
|
|
|
|
/*
|
|
* Funktion zum Laden der Daten für
|
|
* das Dropdownfeld zum Filtern nach Semester
|
|
*/
|
|
function loadSemester()
|
|
{
|
|
$.ajax(
|
|
{
|
|
dataType: "json",
|
|
url: "../../soap/studienplan.json.php",
|
|
data: {
|
|
"method": "getSemesterFromStudiengang",
|
|
"studiengang_kz": studiengang_kz
|
|
},
|
|
error: loadError
|
|
}).success(function(data)
|
|
{
|
|
if($("#semesterListe").length === 0)
|
|
{
|
|
$("#lehrveranstaltung").append("Semester: <div id='semesterListe' style='display:inline'></div><br>");
|
|
}
|
|
var html = "<select id='semesterDropdown' onchange='loadFilteredLehrveranstaltungen();'>";
|
|
html += "<option value='null'>-- Alle --</option>";
|
|
for(i in data.result)
|
|
{
|
|
html+="<option value='"+data.result[i]+"'>"+data.result[i]+". Semester</option>";
|
|
}
|
|
html+="</select>";
|
|
$("#semesterListe").html(html);
|
|
isLVFilterLoaded=true;
|
|
loadFilteredLehrveranstaltungen();
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Funktion zum Verstecken der Spalten im Baum der
|
|
* gefilterten LV-Liste
|
|
*/
|
|
function hideAllTreeColumns()
|
|
{
|
|
var headers = $("#filteredLVs .jstree-grid-header-cell");
|
|
var separators = $("#filteredLVs .jstree-grid-separator");
|
|
//separators[0].style.display = "none";
|
|
for(var j=4; j<headers.length; j++)
|
|
{
|
|
headers[j].style.display = "none";
|
|
separators[j].style.display = "none";
|
|
var divs = $("#filteredLVs .jstree-grid-col-" + j);
|
|
for (var i = 0; i < divs.length; i++)
|
|
{
|
|
divs[i].style.display = "none";
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Speichert einen Datensatz der in den LV Tree gezogen wurde
|
|
* @param nodeId ID des Eintrages der gedroppt wurde
|
|
* @param studienplan_id ID des Studienplanes
|
|
* @param studienplan_lehrveranstaltung_id wird nur bei verschiebungen uebergeben
|
|
*/
|
|
function saveJsondataFromTree(nodeId, studienplan_id, studienplan_lehrveranstaltung_id)
|
|
{
|
|
var obj = $("#treeData").find("li[id="+nodeId+"]");
|
|
var jsonData = $("#treeData").jstree("get_json", $("#treeData").find("li[id="+nodeId+"]"));
|
|
|
|
var copy = false;
|
|
|
|
if(jsonData.length !== 1)
|
|
{
|
|
jsonData = $("#treeData").jstree("get_json", $("#copy_"+nodeId));
|
|
copy = true;
|
|
}
|
|
loaddata = {
|
|
"method" : "loadStudienplanLehrveranstaltung",
|
|
"parameter_0" : studienplan_lehrveranstaltung_id
|
|
};
|
|
|
|
var node;
|
|
if(copy)
|
|
{
|
|
node = $("#copy_"+jsonData[0]["metadata"]["lehrveranstaltung_id"]);
|
|
}
|
|
else
|
|
{
|
|
node = $("#"+studienplan_lehrveranstaltung_id);
|
|
}
|
|
|
|
var lehrveranstaltung_id = jsonData[0]["metadata"]["lehrveranstaltung_id"];
|
|
var semester = node.closest("li[rel=semester]").attr("semester");
|
|
|
|
// Wenn die Lehrveranstaltung ausserhalb des Semester platziert wird, werden diese ins 0er Semester gelegt
|
|
if(semester === undefined)
|
|
{
|
|
semester = 0;
|
|
}
|
|
|
|
var parent_id ='';
|
|
if(node.parent().parent().attr("studienplan_lehrveranstaltung_id"))
|
|
parent_id = node.parent().parent().attr("studienplan_lehrveranstaltung_id");
|
|
|
|
var neu = true;
|
|
|
|
if(studienplan_lehrveranstaltung_id !== undefined && studienplan_lehrveranstaltung_id!='')
|
|
neu = false;
|
|
|
|
// Bei neuen Eintraegen kein Load noetig
|
|
if(neu)
|
|
loaddata='';
|
|
|
|
savedata = {
|
|
"studienplan_id": studienplan_id,
|
|
"lehrveranstaltung_id" : lehrveranstaltung_id,
|
|
"semester": semester,
|
|
"studienplan_lehrveranstaltung_id_parent": parent_id,
|
|
"pflicht": true
|
|
};
|
|
|
|
$.ajax(
|
|
{
|
|
dataType: "json",
|
|
url: "../../soap/fhcomplete.php",
|
|
type: "POST",
|
|
data: {
|
|
"typ": "json",
|
|
"class": "studienplan",
|
|
"method": "saveStudienplanLehrveranstaltung",
|
|
"loaddata": JSON.stringify(loaddata),
|
|
"savedata": JSON.stringify(savedata)
|
|
},
|
|
error: TreeSaveError
|
|
}).success(function(d)
|
|
{
|
|
if(d.error!==undefined && d.error=='false')
|
|
{
|
|
node.attr("studienplan_lehrveranstaltung_id", d.result[0].studienplan_lehrveranstaltung_id);
|
|
node.attr("id", d.result[0].studienplan_lehrveranstaltung_id);
|
|
$("#jsonData").html(d);
|
|
}
|
|
else
|
|
{
|
|
alert('Fehler:'+d.errormsg);
|
|
$("#treeData").jstree("remove", node);
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Wird aufgerufen wenn ein Fehler beim Speichern der TreeZuteilung passiert
|
|
* Dabei wird der ganze Tree neu geladen
|
|
*/
|
|
function TreeSaveError(xhr, textStatus, errorThrown)
|
|
{
|
|
if(xhr.status==200)
|
|
{
|
|
alert('Fehler:'+xhr.responseText);
|
|
}
|
|
else
|
|
alert('Fehler beim Laden der Daten. ErrorNr:'+xhr.status);
|
|
|
|
// Studienplan Tree neu Laden um inkonsistente Anzeigen zu verhindern
|
|
loadLehrveranstaltungSTPL(loadLehrveranstaltungSTPLStudienplan_id, loadLehrveranstaltungSTPLBezeichnung, loadLehrveranstaltungSTPLSemester);
|
|
}
|
|
|
|
/**
|
|
* Entfernt eine LV Zuordnung
|
|
*/
|
|
function deleteLehrveranstaltungFromStudienplan(lehrveranstaltung_studienplan_id)
|
|
{
|
|
$.ajax({
|
|
dataType: "json",
|
|
url: "../../soap/fhcomplete.php",
|
|
type: "POST",
|
|
data: {
|
|
"typ": "json",
|
|
"class": "studienplan",
|
|
"method": "deleteStudienplanLehrveranstaltung",
|
|
"parameter_0" : lehrveranstaltung_studienplan_id
|
|
},
|
|
error: loadError
|
|
}).success(function(data)
|
|
{
|
|
if(data.error==true)
|
|
{
|
|
alert('Fehler beim Entfernen:'+data.errormsg);
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Speichert die Studienordnung
|
|
*/
|
|
function saveStudienordnung()
|
|
{
|
|
bezeichnung = $("#bezeichnung").val();
|
|
version = $("#version").val();
|
|
gueltigvon = $("#gueltigvon option:selected").val();
|
|
gueltigbis = $("#gueltigbis option:selected").val();
|
|
ects = $("#ects").val();
|
|
studiengangbezeichnung = $("#studiengangbezeichnung").val();
|
|
studiengangbezeichnungenglisch = $("#studiengangbezeichnungenglisch").val();
|
|
studiengangkurzbzlang = $("#studiengangkurzbzlang").val();
|
|
mystudienordnung_id = $("#studienordnung_id").val();
|
|
akadgrad_id = $("#akadgrad_id").val();
|
|
|
|
if(mystudienordnung_id!='')
|
|
{
|
|
loaddata = {
|
|
"method": "loadStudienordnung",
|
|
"parameter_0": mystudienordnung_id
|
|
};
|
|
}
|
|
else
|
|
loaddata={};
|
|
|
|
savedata = {
|
|
"bezeichnung": bezeichnung,
|
|
"version":version,
|
|
"gueltigvon":gueltigvon,
|
|
"gueltigbis":gueltigbis,
|
|
"ects":ects,
|
|
"studiengangbezeichnung":studiengangbezeichnung,
|
|
"studiengangbezeichnung_englisch":studiengangbezeichnungenglisch,
|
|
"studiengangkurzbzlang":studiengangkurzbzlang,
|
|
"akadgrad_id":akadgrad_id,
|
|
"studiengang_kz":studiengang_kz
|
|
};
|
|
|
|
|
|
$.ajax(
|
|
{
|
|
dataType: "json",
|
|
url: "../../soap/fhcomplete.php",
|
|
type: "POST",
|
|
data: {
|
|
"typ": "json",
|
|
"class": "studienordnung",
|
|
"method": "save",
|
|
"loaddata": JSON.stringify(loaddata),
|
|
"savedata": JSON.stringify(savedata),
|
|
},
|
|
success: function(data){
|
|
if(data.error=='true')
|
|
alert('Fehler:'+data.errormsg);
|
|
else
|
|
{
|
|
$("#submsg").css("visibility", "visible");
|
|
window.setTimeout(function(){$("#submsg").css("visibility", "hidden");}, 1500);
|
|
loadStudienordnung();
|
|
}
|
|
},
|
|
error: loadError
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Speichert den Studienplan
|
|
*/
|
|
function saveStudienplan()
|
|
{
|
|
bezeichnung = $("#bezeichnung").val();
|
|
version = $("#version").val();
|
|
orgform_kurzbz = $("#orgform_kurzbz option:selected").val();
|
|
sprache = $("#sprache option:selected").val();
|
|
regelstudiendauer = $("#regelstudiendauer").val();
|
|
semesterwochen = $("#semesterwochen").val();
|
|
testtool_sprachwahl = $("#testtool_sprachwahl").prop("checked");
|
|
aktiv = $("#aktiv").prop("checked");
|
|
mystudienplan_id = $("#studienplan_id").val();
|
|
|
|
if(mystudienplan_id!='')
|
|
{
|
|
loaddata = {
|
|
"method": "loadStudienplan",
|
|
"parameter_0": mystudienplan_id
|
|
};
|
|
}
|
|
else
|
|
loaddata={};
|
|
|
|
savedata = {
|
|
"bezeichnung": bezeichnung,
|
|
"version":version,
|
|
"orgform_kurzbz":orgform_kurzbz,
|
|
"sprache":sprache,
|
|
"regelstudiendauer":regelstudiendauer,
|
|
"semesterwochen":semesterwochen,
|
|
"testtool_sprachwahl":testtool_sprachwahl,
|
|
"aktiv":aktiv,
|
|
"studienordnung_id":studienordnung_id
|
|
};
|
|
|
|
|
|
$.ajax(
|
|
{
|
|
dataType: "json",
|
|
url: "../../soap/fhcomplete.php",
|
|
type: "POST",
|
|
data: {
|
|
"typ": "json",
|
|
"class": "studienplan",
|
|
"method": "save",
|
|
"loaddata": JSON.stringify(loaddata),
|
|
"savedata": JSON.stringify(savedata)
|
|
},
|
|
success: function(data){
|
|
if(data.error=='true')
|
|
alert('Fehler:'+data.errormsg);
|
|
else
|
|
{
|
|
$("#submsg").css("visibility", "visible");
|
|
window.setTimeout(function(){$("#submsg").css("visibility", "hidden");}, 1500);
|
|
loadStudienplanSTO(studienordnung_id,studienordnung_bezeichnung);
|
|
}
|
|
},
|
|
error: loadError
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Berechnet dei ECTS Summe fuer ein Semester / Modul
|
|
*/
|
|
function writeEctsSum(parent)
|
|
{
|
|
for(var i=0; i<$(parent).children("ul").children().length; i++)
|
|
{
|
|
if($(parent).children("ul").children().length > 0)
|
|
{
|
|
writeEctsSum($(parent).children("ul").children()[i]);
|
|
}
|
|
}
|
|
if($(parent).attr("rel") === "semester")
|
|
{
|
|
var cells = $(parent).find(".jstree-grid-col-1");
|
|
var sum = 0;
|
|
for(var j=1; j<cells.length; j++)
|
|
{
|
|
if(!isNaN(parseFloat(cells[j].childNodes[0].innerHTML)))
|
|
{
|
|
sum+=parseFloat(cells[j].childNodes[0].innerHTML);
|
|
}
|
|
}
|
|
cells[0].childNodes[0].innerHTML = "<b>"+sum+"</b>";
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Berechnet die ECTS Gesamt summe
|
|
*/
|
|
function writeOverallSum(root)
|
|
{
|
|
$("#treeData").append('<div id="stplDetails" style="padding-top: 1.0em"></div>');
|
|
var cells = $(root).find(".jstree-grid-col-1");
|
|
var sum = 0;
|
|
|
|
for(var i=0; i<cells.length; i++)
|
|
{
|
|
if(!isNaN(parseFloat(cells[i].childNodes[0].innerHTML)))
|
|
{
|
|
sum+=parseFloat(cells[i].childNodes[0].innerHTML);
|
|
}
|
|
}
|
|
$("#stplDetails").html("ECTS-Summe: <b>"+sum+"</b>");
|
|
$("#stplDetails").show();
|
|
}
|
|
|
|
/**
|
|
* Laedt die Daten zum Eintragen der Studienordnung/Semester zuordnung
|
|
*/
|
|
function semesterStoZuordnung()
|
|
{
|
|
drawHeader('Neue Semester Zuordnung');
|
|
$("#data").load('studienordnung.inc.php?method=semesterStoZuordnung&studienordnung_id='+studienordnung_id);
|
|
}
|
|
|
|
/**
|
|
* Speichert die Studienordnung/Semester zuordnung
|
|
*/
|
|
function saveSemesterStoZuordnung(studiensemester, ausbildungssemester)
|
|
{
|
|
if(studiensemester == undefined && ausbildungssemester == undefined)
|
|
{
|
|
var sem = $("#studiensemester").val();
|
|
var cells = $("#studiensemester").parents().closest("tr").find("input[type=checkbox]");
|
|
var semester = new Array();
|
|
var semesterKurzbz = "";
|
|
|
|
for(var i = 0; i < cells.length; i++)
|
|
{
|
|
//semester[cells[i].getAttribute("semester")] = cells[i].checked;
|
|
semester.push(cells[i].checked);
|
|
}
|
|
|
|
var studiensemester = $("#studiensemester").val();
|
|
for(var j=0; j<semester.length; j++)
|
|
{
|
|
if(semester[j] === true)
|
|
{
|
|
$.ajax({
|
|
dataType: "json",
|
|
url: "../../soap/studienordnung.json.php",
|
|
type: "POST",
|
|
data: {
|
|
"method": "saveSemesterZuordnung",
|
|
"studienordnung_id": studienordnung_id,
|
|
"studiensemester_kurzbz" : studiensemester,
|
|
"ausbildungssemester": j+1
|
|
}
|
|
}).success(function(data)
|
|
{
|
|
if(data.error === "true")
|
|
{
|
|
alert(data.errormsg);
|
|
}
|
|
semesterStoZuordnung();
|
|
});
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$.ajax({
|
|
dataType: "json",
|
|
url: "../../soap/studienordnung.json.php",
|
|
type: "POST",
|
|
data: {
|
|
"method": "saveSemesterZuordnung",
|
|
"studienordnung_id": studienordnung_id,
|
|
"studiensemester_kurzbz" : studiensemester,
|
|
"ausbildungssemester": ausbildungssemester
|
|
}
|
|
}).success(function(data)
|
|
{
|
|
if(data.error === "true")
|
|
{
|
|
alert(data.errormsg);
|
|
}
|
|
semesterStoZuordnung();
|
|
});
|
|
}
|
|
|
|
}
|
|
|
|
function deleteSemesterZuordnung(ausbildungssemester_kurzbz, studiensemester)
|
|
{
|
|
if(studiensemester == undefined)
|
|
{
|
|
var row = $("#row_"+ausbildungssemester_kurzbz);
|
|
$.ajax({
|
|
dataType: "json",
|
|
url: "../../soap/fhcomplete.php",
|
|
type: "POST",
|
|
data: {
|
|
"typ":"json",
|
|
"class" : "studienordnung",
|
|
"method": "deleteSemesterZuordnung",
|
|
"parameter_0": studienordnung_id,
|
|
"parameter_1" : ausbildungssemester_kurzbz
|
|
}
|
|
}).success(function(data)
|
|
{
|
|
semesterStoZuordnung();
|
|
});
|
|
}
|
|
else
|
|
{
|
|
$.ajax({
|
|
dataType: "json",
|
|
url: "../../soap/fhcomplete.php",
|
|
type: "POST",
|
|
data: {
|
|
"typ":"json",
|
|
"class" : "studienordnung",
|
|
"method": "deleteSemesterZuordnung",
|
|
"parameter_0": studienordnung_id,
|
|
"parameter_1" : ausbildungssemester_kurzbz,
|
|
"parameter_2" : studiensemester
|
|
}
|
|
}).success(function(data)
|
|
{
|
|
semesterStoZuordnung();
|
|
});
|
|
}
|
|
|
|
}
|