mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-04 04:19:28 +00:00
Zuteilung von Lehrveranstaltungen zu Studienordnungen, Tab mit Details hinzugefuegt
This commit is contained in:
@@ -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) . ';';
|
||||
|
||||
@@ -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
@@ -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=''> </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]");
|
||||
|
||||
@@ -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 '
|
||||
|
||||
@@ -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" );
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user