Zuteilung von Lehrveranstaltungen zu Studienordnungen, Tab mit Details hinzugefuegt

This commit is contained in:
Andreas Österreicher
2013-11-28 08:32:04 +00:00
parent af021019de
commit c4602d46a2
5 changed files with 366 additions and 281 deletions
+9 -15
View File
@@ -425,7 +425,7 @@ class studienplan extends basis_db
* @return true wenn ja, sonst false
*/
public function containsLehrveranstaltung($studienplan_id, $lehrveranstaltung_id)
{
{
if (!is_numeric($studienplan_id) || $studienplan_id === '')
{
$this->errormsg = 'StudienplanID ist ungueltig';
@@ -437,16 +437,10 @@ class studienplan extends basis_db
return false;
}
$qry = "SELECT
studienplan_lehrveranstaltung_id,
semester as stpllv_semester,
pflicht as stpllv_pflicht,
koordinator as stpllv_koordinator,
studienplan_lehrveranstaltung_id_parent
FROM
$qry = "SELECT 1 FROM
lehre.tbl_studienplan_lehrveranstaltung
WHERE
studienplan_id=" . $this->db_add_param($studienplan_id, FHC_INTEGER).
studienplan_id=".$this->db_add_param($studienplan_id, FHC_INTEGER).
" AND lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).";";
if (!$this->db_query($qry))
@@ -533,10 +527,10 @@ class studienplan extends basis_db
insertamum, insertvon) VALUES (' .
$this->db_add_param($this->studienplan_id, FHC_INTEGER) . ', ' .
$this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER) . ', ' .
$this->db_add_param($this->stpllv_semester, FHC_INTEGER) . ', ' .
$this->db_add_param($this->semester, FHC_INTEGER) . ', ' .
$this->db_add_param($this->studienplan_lehrveranstaltung_id_parent, FHC_INTEGER) . ', ' .
$this->db_add_param($this->stpllv_pflicht, FHC_BOOLEAN) . ', ' .
$this->db_add_param($this->stpllv_koordinator) . ', ' .
$this->db_add_param($this->pflicht, FHC_BOOLEAN) . ', ' .
$this->db_add_param($this->koordinator) . ', ' .
'now(), ' .
$this->db_add_param($this->insertvon) . ');';
} else {
@@ -548,11 +542,11 @@ class studienplan extends basis_db
$qry = 'UPDATE lehre.tbl_studienplan_lehrveranstaltung SET' .
' studienplan_id=' . $this->db_add_param($this->studienplan_id, FHC_INTEGER) . ', ' .
' lehrveranstaltung_id=' . $this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER) . ', ' .
' semester=' . $this->db_add_param($this->stpllv_semester, FHC_INTEGER) . ', ' .
' semester=' . $this->db_add_param($this->semester, FHC_INTEGER) . ', ' .
' studienplan_lehrveranstaltung_id_parent=' . $this->db_add_param($this->studienplan_lehrveranstaltung_id_parent, FHC_INTEGER) . ', ' .
' pflicht=' . $this->db_add_param($this->stpllv_pflicht, FHC_BOOLEAN) . ', ' .
' pflicht=' . $this->db_add_param($this->pflicht, FHC_BOOLEAN) . ', ' .
//TODO sprache in Tabelle nicht vorhanden' sprache=' . $this->db_add_param($this->sprache) . ', ' .
' koordinator=' . $this->db_add_param($this->stpllv_koordinator) . ', ' .
' koordinator=' . $this->db_add_param($this->koordinator) . ', ' .
' updateamum= now(), ' .
' updatevon=' . $this->db_add_param($this->updatevon) . ' ' .
' WHERE studienplan_lehrveranstaltung_id=' . $this->db_add_param($this->studienplan_lehrveranstaltung_id, FHC_INTEGER, false) . ';';
+1
View File
@@ -124,6 +124,7 @@ if(!$error && ($return = call_user_func_array(array($obj, $method), $parameter))
else
{
$data['result']='';
$data['return']=$return;
$data['error']='true';
$data['errormsg']=$obj->errormsg;
}
+298 -197
View File
@@ -54,18 +54,25 @@ function drawHeader(text)
text='<h2>'+text+'</h2>';
$('#header').html(text);
}
/**
* Laedt die Studienordnungen und zeigt diese linken Menue an
*/
function loadStudienordnung()
{
$(".jstree-grid-header").hide();
$(".jstree-grid-wrapper").hide();
// 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",
@@ -79,23 +86,22 @@ function loadStudienordnung()
error: loadError
}).success(function(data)
{
StudienordnungLoaded(data);
if(data.error=='true')
{
alert('Fehler:'+data.errormsg);
}
else
{
drawStudienordnungen(data.result);
jqUi( "#menueLinks" ).accordion("option","active",1);
}
});
}
function StudienordnungLoaded(data)
{
if(data.error=='true')
{
alert('Fehler:'+data.errormsg);
}
else
{
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>';
@@ -108,11 +114,12 @@ function drawStudienordnungen(data)
$('#studienordnung').html(obj);
}
/**
* Laedt die Studienplaene zu einer Studienordnung
*/
function loadStudienplanSTO(neue_studienordnung_id,bezeichnung, maxSemester)
{
max_semester = maxSemester;
$(".jstree-grid-header").hide();
$(".jstree-grid-wrapper").hide();
studienordnung_bezeichnung=bezeichnung;
studienordnung_id=neue_studienordnung_id;
drawHeader();
@@ -129,7 +136,15 @@ function loadStudienplanSTO(neue_studienordnung_id,bezeichnung, maxSemester)
error: loadError
}).success(function(data)
{
StudienplanSTOLoaded(data)
if(data.error=='true')
{
alert('Fehler:'+data.errormsg);
}
else
{
drawStudienplan(data.result);
jqUi( "#menueLinks" ).accordion("option","active",2);
}
//semesterStoZuordnung();
});
$.ajax({
@@ -151,19 +166,9 @@ function loadStudienplanSTO(neue_studienordnung_id,bezeichnung, maxSemester)
});
}
function StudienplanSTOLoaded(data)
{
if(data.error=='true')
{
alert('Fehler:'+data.errormsg);
}
else
{
drawStudienplan(data.result);
jqUi( "#menueLinks" ).accordion("option","active",2);
}
}
/**
* Erstellt die Links zu den Studienplaenen
*/
function drawStudienplan(data)
{
var obj='<a href="#Neu" onclick="neuerStudienplan();return false;">Neuer Studienplan</a><ul>';
@@ -176,6 +181,9 @@ function drawStudienplan(data)
$('#studienplan').html(obj);
}
/**
* Laedt die Lehrveranstaltungen eines Studienplanes
*/
function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung)
{
studienplan_id=studienplan_id;
@@ -196,9 +204,25 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung)
error: loadError
}).success(function(data)
{
$("#data").html("<div id='treeData'></div>")
if(data.result[0].lehrveranstaltung_id !== null)
/*
var treeData=new Array();
for(var i in data.result)
{
var attribute = new Array();
attribute["id"]=data.result[i][0].lehrveranstaltung_id;
attribute["rel"]=data.result[i][0].lehrtyp_kurzbz;
attribute["studienplan_lehrveranstaltung_id"]=data.result[i][0].studienplan_lehrveranstaltung_id;
var object = new Array();
object["metadata"]=data.result[i][0];
object["attr"]=attribute;
treeData.push(object);
}
*/
$("#data").html("<div id='treeData'></div>")
// if(data.result[0].lehrveranstaltung_id !== null)
// {
// Anzeigen des Trees mit den Lehrveranstaltungen
$("#treeData").jstree({
ui: {
"select_limit": 1,
@@ -283,7 +307,7 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung)
}
else
{
alert("Da zu löschende Element darf keine Elemente beinhalten!");
alert("Das zu löschende Element darf keine Elemente beinhalten!");
}
}
}
@@ -294,8 +318,11 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung)
},
plugins: ["themes", "ui", "dnd", "grid", "json_data", "crrm", "types", "sort", "contextmenu"]
}).bind("move_node.jstree", function(event, data)
{
saveJsondataFromTree(data.rslt.o[0].id, studienplan_id);
{
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;
saveJsondataFromTree(data.rslt.o[0].id, studienplan_id, studienplan_lehrveranstaltung_id);
var root = data.inst.get_container_ul();
var nodes = root[0].childNodes;
for(var i=0; i<nodes.length; i++)
@@ -322,19 +349,36 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung)
writeOverallSum(nodes);
}).bind("open_node.jstree", function(event, data)
{
// console.log(data);
var root = data.inst.get_container_ul()[0].childNodes;
var nodes = $("#"+data.args[0].attr("id"));
// console.log(nodes);
for(var i=0; i<nodes.length; i++)
if(data.args[0].attr)
{
if(nodes[i].getAttribute("rel") !== "lv"){
writeEctsSum(nodes[i]);
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") !== "lv"){
writeEctsSum(nodes[i]);
}
}
writeOverallSum(root);
}
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("id");
// Lehrveranstaltungsdetails laden
LoadLVDetails(lvid, stpllvid);
// Regeln laden
if(stpllvid!=undefined)
LVRegelnloadRegeln(stpllvid);
// Kompatibilitaet laden
// TODO
});
}
/* }
else
{
$('#treeData').addClass("jstree-drop");
@@ -374,7 +418,7 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung)
hideAllTreeColumns();
});
}
*/
$("#lehrveranstaltung").html("<h3>Organisationseinheit</h3><div id='oeDiv'></div>");
$.ajax(
{
@@ -388,7 +432,7 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung)
error: loadError
}).success(function(data)
{
var html = "<div><select id='oeDropdown' onchange='loadFilteredLehrveranstaltungen();'><option value=''>&nbsp;</option>";
var html = "<div><select id='oeDropdown' style='max-width: 200px' onchange='loadFilteredLehrveranstaltungen();'><option value=''>-- Alle --</option>";
for(i in data.result)
{
if(data.result[i].aktiv===true)
@@ -400,40 +444,54 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung)
$("#oeDiv").html(html);
loadLehrtypen();
});
})
});
$( "#tabs" ).show();
}
function drawLehrveranstaltung(data)
/**
* Laedt Details zur ausgewaehlten Lehrveranstaltung
*/
function LoadLVDetails(lvid, stpllvid)
{
var obj='';
obj=getLehrveranstaltungSub(data);
$('#data').html(obj);
}
function getLehrveranstaltungSub(data)
{
var obj='<ul>';
for(i in data)
$.ajax(
{
obj=obj+'<li><a href="#Load'+data[i].lehrveranstaltung_id+'" onclick="alert(\'comming soon\');return false;">'+data[i].bezeichnung+'</a></li>';
if(data[i].childs)
{
obj=obj+getLehrveranstaltungSub(data[i].childs);
}
}
obj=obj+'</ul>';
return obj;
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 = "Bezeichnung: "+lvdata.bezeichnung;
html+="<br>Kurzbezeichnung: "+lvdata.kurzbz;
html+="<br>ID: "+lvdata.lehrveranstaltung_id;
html+="<br>ECTS: "+lvdata.ects;
html+="<br>Semesterstunden: "+lvdata.semesterstunden;
$("#tab-lehrveranstaltungdetail").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);
}
@@ -466,9 +524,84 @@ function loadFilteredLehrveranstaltungen()
error: loadError
}).success(function(data)
{
showLVTree(data);
});
}
else
{
//TODO 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
},
error: loadError
}).success(function(data)
{
showLVTree(data);
/*
if(data.result[0].lehrveranstaltung_id!==null)
{
if($("#lvListe").length === 0)
{
$("#filteredLVs").html("<h3>Lehrveranstaltungen</h3><div id='lvListe'></div>");
}
$("#lvListe").jstree({
ui: {
"select_limit": -1,
"select_multiple_modifier": "ctrl"
},
json_data: {
data: data.result
},
crrm: {
move: {
"check_move" : function(m)
{
return false;
},
"always_copy": "multitree"
}
},
grid: {
columns: [
{width: 325, header: "Lehrveranstaltung", value: "bezeichnung", source: "metadata"},
{width: 50, header: "ECTS", value: "ects", 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"]
}).bind("loaded.jstree", function(event, data)
{
hideAllTreeColumns();
});
} else {
$("#filteredLVs .jstree-grid-wrapper").remove();
if($("#lvListe").length !== 0)
{
$("#lvListe").remove();
}
$("h3:contains('Lehrveranstaltungen')").remove();
$("#filteredLVs").append("<div id='lvListe'>Keine Einträge gefunden!</div>");
}*/
});
}
}
function showLVTree(data)
{
if(data.result[0].lehrveranstaltung_id!==null)
{
if($("#lvListe").length === 0)
{
$("#filteredLVs").html("<h3>Lehrveranstaltungen</h3><div id='lvListe'></div>");
@@ -534,75 +667,6 @@ function loadFilteredLehrveranstaltungen()
$("h3:contains('Lehrveranstaltungen')").remove();
$("#filteredLVs").append("<div id='lvListe'>Keine Einträge gefunden!</div>");
}
});
}
else
{
//TODO 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
},
error: loadError
}).success(function(data)
{
if(data.result[0].lehrveranstaltung_id!==null)
{
if($("#lvListe").length === 0)
{
$("#filteredLVs").html("<h3>Lehrveranstaltungen</h3><div id='lvListe'></div>");
}
$("#lvListe").jstree({
ui: {
"select_limit": -1,
"select_multiple_modifier": "ctrl"
},
json_data: {
data: data.result
},
crrm: {
move: {
"check_move" : function(m)
{
return false;
},
"always_copy": "multitree"
}
},
grid: {
columns: [
{width: 325, header: "Lehrveranstaltung", value: "bezeichnung", source: "metadata"},
{width: 50, header: "ECTS", value: "ects", 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"]
}).bind("loaded.jstree", function(event, data)
{
hideAllTreeColumns();
});
} else {
$("#filteredLVs .jstree-grid-wrapper").remove();
if($("#lvListe").length !== 0)
{
$("#lvListe").remove();
}
$("h3:contains('Lehrveranstaltungen')").remove();
$("#filteredLVs").append("<div id='lvListe'>Keine Einträge gefunden!</div>");
}
});
}
}
/*
@@ -627,7 +691,7 @@ function loadLehrtypen()
{
$("#lehrveranstaltung").append("<h3>Lehrtyp</h3><div id='lehrtypenDiv'></div>");
}
var html = "<select id='lehrtypDropdown' onchange='loadFilteredLehrveranstaltungen();'><option value='null'>alle</option>";
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>';
@@ -660,7 +724,7 @@ function loadSemester()
$("#lehrveranstaltung").append("<h3>Semester</h3><div id='semesterListe'></div>");
}
var html = "<select id='semesterDropdown' onchange='loadFilteredLehrveranstaltungen();'>";
html += "<option value='null'>Alle Semester</option>";
html += "<option value='null'>-- Alle --</option>";
for(i in data.result)
{
html+="<option value='"+data.result[i]+"'>"+data.result[i]+". Semester</option>";
@@ -671,9 +735,9 @@ function loadSemester()
});
}
/*
* Funktion zum Verstecken der Spalten im Baum der
* gefilterten LV-Liste
/**
* Funktion zum Verstecken der Spalten im Baum der
* gefilterten LV-Liste
*/
function hideAllTreeColumns()
{
@@ -692,27 +756,29 @@ function hideAllTreeColumns()
}
}
function saveJsondataFromTree(data, studienplan_id)
/**
* 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)
{
console.log(data);
var jsonData = $("#treeData").jstree("get_json", $("#treeData").find("li[id="+data+"]"));
var jsonData = $("#treeData").jstree("get_json", $("#treeData").find("li[id="+nodeId+"]"));
var copy = false;
// console.log("jsonData");
// console.log(jsonData);
if(jsonData.length !== 1)
{
jsonData = $("#treeData").jstree("get_json", $("#copy_"+data));
jsonData = $("#treeData").jstree("get_json", $("#copy_"+nodeId));
copy = true;
}
var jsonString = JSON.stringify(jsonData);
console.log("jsonData");
console.log(jsonData);
loaddata = {
"method" : "loadLehrveranstaltungStudienplanByLvId",
"parameter_0" : studienplan_id,
"parameter_1" : jsonData[0]["metadata"]["lehrveranstaltung_id"]
};
console.log(copy+" "+jsonData[0]["metadata"]["lehrveranstaltung_id"]);
var node;
if(copy)
{
@@ -723,18 +789,55 @@ function saveJsondataFromTree(data, studienplan_id)
node = $("#"+jsonData[0]["metadata"]["lehrveranstaltung_id"]);
}
// var lvParent = "";
// if(node.length > 2)
// {
// lvParent = node;
// }
// console.log(node.parent().parent());
var lehrveranstaltung_id = jsonData[0]["metadata"]["lehrveranstaltung_id"];
var semester = node.closest("li[rel=semester]").attr("id");
var parent_id ='';
if(node.parent().parent().attr("studienplan_lehrveranstaltung_id"))
parent_id = node.parent().parent().attr("studienplan_lehrveranstaltung_id");
var neu ='';
// Pruefen ob diese Zuordnung bereits vorhanden ist
$.ajax(
{
dataType: "json",
url: "../../soap/fhcomplete.php",
type: "POST",
async: false,
data: {
"typ": "json",
"class": "studienplan",
"method": "containsLehrveranstaltung",
"parameter_0": studienplan_id,
"parameter_1": lehrveranstaltung_id
}
}).success(function(data)
{
if(data.return==false)
neu = true;
else
neu = false;
});
// Bei neuen Eintraegen kein Load noetig
if(neu)
loaddata='';
// Wenn der Eintrag keine Verschiebung im Tree ist, und die Lehrveranstaltung bereits im
// Studienplan vorhanden ist -> Abbruch
if(studienplan_lehrveranstaltung_id=='' && neu==false)
{
alert("Die Lehrveranstaltung ist bereits in diesem Studienplan vorhanden!");
$("#treeData").jstree("remove", $("#"+nodeId));
return;
}
savedata = {
"studienplan_id": studienplan_id,
"lehrveranstaltung_id" : jsonData[0]["metadata"]["lehrveranstaltung_id"],
"semester": node.closest("li[rel=semester]").attr("id"),
"studienplan_lehrveranstaltung_id_parent": node.parent().parent().attr("studienplan_lehrveranstaltung_id"),
//TODO parent richtig auslesen
"lehrveranstaltung_id" : lehrveranstaltung_id,
"semester": semester,
"studienplan_lehrveranstaltung_id_parent": parent_id,
"pflicht": true
};
@@ -752,16 +855,10 @@ function saveJsondataFromTree(data, studienplan_id)
}
}).success(function(d)
{
// alert(d);
if(d.error !== "bereits vorhanden")
{
if(d.error=='false')
$("#jsonData").html(d);
}
else
{
alert("Lehrveranstaltung ist bereits im Studiengang enthalten!");l
$("#treeData").jstree("remove", $("#"+data));
}
else
alert('Fehler:'+d.errormsg);
});
}
@@ -783,6 +880,9 @@ function deleteLehrveranstaltungFromStudienplan(lehrveranstaltung_studienplan_id
});
}
/**
* Speichert die Studienordnung
*/
function saveStudienordnung()
{
bezeichnung = $("#bezeichnung").val();
@@ -832,23 +932,19 @@ function saveStudienordnung()
"loaddata": JSON.stringify(loaddata),
"savedata": JSON.stringify(savedata),
},
success: StudienordnungSaved,
success: function(data){
if(data.error=='true')
alert('Fehler:'+data.errormsg);
else
loadStudienordnung();
},
error: loadError
});
}
function StudienordnungSaved()
{
if(data.error=='true')
{
alert('Fehler:'+data.errormsg);
}
else
{
loadStudienordnung();
}
}
/**
* Speichert den Studienplan
*/
function saveStudienplan()
{
bezeichnung = $("#bezeichnung").val();
@@ -896,23 +992,19 @@ function saveStudienplan()
"loaddata": JSON.stringify(loaddata),
"savedata": JSON.stringify(savedata),
},
success: StudienplanSaved,
success: function(data){
if(data.error=='true')
alert('Fehler:'+data.errormsg);
else
loadStudienplanSTO(studienordnung_id,studienordnung_bezeichnung);
},
error: loadError
});
}
function StudienplanSaved(data)
{
if(data.error=='true')
{
alert('Fehler:'+data.errormsg);
}
else
{
loadStudienplanSTO(studienordnung_id,studienordnung_bezeichnung);
}
}
/**
* Berechnet dei ECTS Summe fuer ein Semester / Modul
*/
function writeEctsSum(parent)
{
// console.log($(parent).children("li").length);
@@ -944,6 +1036,9 @@ function writeEctsSum(parent)
}
}
/**
* Berechnet die ECTS Gesamt summe
*/
function writeOverallSum(root)
{
$("#treeData").append('<div id="stplDetails" style="padding-top: 1.0em"></div>');
@@ -961,12 +1056,18 @@ function writeOverallSum(root)
$("#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(sem)
{
var cells = $("#"+sem).find("input[type=checkbox]");
+31 -44
View File
@@ -68,11 +68,6 @@ echo '<!DOCTYPE html>
header: "h3",
collapsible: true
});
// jqUi( "#menueRechts" ).accordion({
// heightStyle: "content",
// header: "h2",
// collapsible: true
// });
';
echo "
@@ -110,8 +105,9 @@ echo "
<body>";
if(!$rechte->isBerechtigt('lehre/studienordnung'))
die('Sie haben keine Berechtigung für diese Seite');
$stg_arr = $rechte->getStgKz('lehre/studienordnung');
$studiengang = new studiengang();
$studiengang->getAll('typ,kurzbz');
$studiengang->loadArray($stg_arr,'typ,kurzbz');
echo '
<table style="width:100%">
@@ -121,13 +117,11 @@ echo '
<h3>Studiengang</h3>
<div style="margin:0px;padding:5px;">
<p>
<select id="studiengang" name="studiengang_kz" onchange="loadStudienordnung()">';
<select id="studiengang" name="studiengang_kz" onchange="loadStudienordnung()">
<option value="">-- Bitte auswählen --</option>';
foreach($studiengang->result as $row)
{
if($studiengang_kz=='')
$studiengang_kz=$row->studiengang_kz;
if($studiengang_kz==$row->studiengang_kz)
$selected='selected';
else
@@ -137,6 +131,7 @@ foreach($studiengang->result as $row)
}
echo '
</select>
<br><input type="button" value="Daten laden" onclick="loadStudienordnung()" style="margin-top: 5px" />
</p>
</div>
<h3>Studienordnung</h3>
@@ -154,7 +149,6 @@ echo '
</p>
</div>
</div>
<input type="button" onclick="LVRegelnloadRegeln(1)" value="LVRegelnloadRegeln(1)" />
</td>
<td valign="top">
<div id="header">
@@ -166,6 +160,32 @@ echo '
</div>
</div>
<div id="jsonData"></div>
<!-- Tabs -->
<script>
$(function()
{
jqUi( "#tabs" ).tabs();
$( "#tabs" ).hide();
});
</script>
<div id="tabs">
<ul>
<li><a href="#tab-lehrveranstaltungdetail">LV Details</a></li>
<li><a href="#tab-regel">Regeln</a></li>
<li><a href="#tab-kompatibel">Kompatibilität</a></li>
</ul>
<div id="tab-lehrveranstaltungdetail">
<p>Klicken Sie auf eine Lehrveranstaltung um die Details anzuzeigen</p>
</div>
<div id="tab-regel">
<p>Klicken Sie auf eine Lehrveranstaltung um dei Regeln anzuzeigen</p>
</div>
<div id="tab-kompatibel">
<p>Kompatibilität</p>
</div>
</div>
<!-- Tabs ende -->
</td>
<td valign="top" width="20%">
<div id="menueRechts" style="width: 420px;">
@@ -173,27 +193,6 @@ echo '
<div style="margin:0px;padding:5px;">
<div id="lehrveranstaltung" style="margin:0;padding:0; width: 400px;">
Bitte wählen Sie zuerst einen Studienplan aus!';
// var_dump($studiengang_kz);
// $lv = new lehrveranstaltung();
// $lv->load_lva($studiengang_kz, null, null, TRUE, TRUE);
// $sem = $lv->lehrveranstaltungen[1]->semester;
// echo "<ul>";
// echo "<li>Semester ".$row->lehrveranstaltungen[1]->semester."</li><ul>";
// foreach($lv->lehrveranstaltungen as $row)
// {
// if($sem==$row->semester)
// {
// echo "<li>".$row->bezeichnung."</li>";
// }
// else
// {
// echo "</ul><li>".$row->semester."</li>";
// echo "<ul><li>".$row->bezeichnung."</li>";
// }
//
// }
// echo "</ul></ul>";
echo'
</div>
</div>
@@ -209,18 +208,6 @@ echo'
</td>
</tr>
</table>
<script>
$(function()
{
jqUi(\'#LVREGELDetailsDialog\').dialog(
{
autoOpen: false,
minWidth: 650,
title: "Lehrveranstaltungsregeln"
});
});
</script>
<div id="LVREGELDetailsDialog">Details</div>
';
echo '
+27 -25
View File
@@ -1,4 +1,4 @@
var LVREGEL_lvRegelTypen=''; // Array mit den Regeltypen
var LVREGEL_lvRegelTypen=new Array(); // Array mit den Regeltypen
var LVREGELnewcounter=0; // Counter fuer neue Regeln
var LVREGELStudienplanLehrveranstaltungID=''; // ID der ausgewaehlten Lehrveranstaltungszuordnung
var LVREGELLehrveranstaltungAutocompleteArray=new Array(); // Enthaelt die IDs der Input Felder die zu Autocomplete Feldern werden sollen
@@ -9,29 +9,32 @@ function LVRegelnloadRegeln(studienplan_lehrveranstaltung_id)
{
LVREGELStudienplanLehrveranstaltungID=studienplan_lehrveranstaltung_id;
// Laden der Regeltypen
$.ajax(
if(LVREGEL_lvRegelTypen.length==0)
{
dataType: "json",
url: "../../soap/fhcomplete.php",
async: false,
data: {
"typ": "json",
"class": "lvregel",
"method": "loadLVRegelTypen"
// Laden der Regeltypen
$.ajax(
{
dataType: "json",
url: "../../soap/fhcomplete.php",
async: false,
data: {
"typ": "json",
"class": "lvregel",
"method": "loadLVRegelTypen"
},
success: function(data) {
if(data.error=='false')
{
LVREGEL_lvRegelTypen=data.result;
}
else
{
alert('RegelTypen konnten nicht geladen werden:'+data.errormsg);
}
},
success: function(data) {
if(data.error=='false')
{
LVREGEL_lvRegelTypen=data.result;
}
else
{
alert('RegelTypen konnten nicht geladen werden:'+data.errormsg);
}
},
error: loadError
});
error: loadError
});
}
// Laden der Regeln
$.ajax(
@@ -45,7 +48,7 @@ function LVRegelnloadRegeln(studienplan_lehrveranstaltung_id)
"parameter_0": studienplan_lehrveranstaltung_id
},
success: function (data) {
if(data.error=='true')
if(data.error=='true' && data.errormsg!=null)
alert('Fehler:'+data.errormsg);
else
drawLVRegeln(data.return);
@@ -59,9 +62,8 @@ function LVRegelnloadRegeln(studienplan_lehrveranstaltung_id)
*/
function drawLVRegeln(data)
{
$('#LVREGELDetailsDialog').html(getChilds(data));
$('#tab-regel').html(getChilds(data));
LVRegelAddAutocomplete();
jqUi("#LVREGELDetailsDialog").dialog( "open" );
}
/**