From 84cfee023ae44d1e3b59329887627add5723121e Mon Sep 17 00:00:00 2001 From: Stefan Puraner Date: Tue, 1 Apr 2014 12:06:21 +0000 Subject: [PATCH] =?UTF-8?q?Studienordnung=20Bugfix;=20Lehrveranstaltungen?= =?UTF-8?q?=20k=C3=B6nnen=20nicht=20mehr=20Kind=20von=20sich=20selbst=20se?= =?UTF-8?q?in?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/lehre/studienordnung.js | 85 ++++++++++++++++++++------------- 1 file changed, 52 insertions(+), 33 deletions(-) diff --git a/vilesci/lehre/studienordnung.js b/vilesci/lehre/studienordnung.js index b98bb4a4e..23f5451a1 100644 --- a/vilesci/lehre/studienordnung.js +++ b/vilesci/lehre/studienordnung.js @@ -306,6 +306,15 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester) // DIV fuer den Tree neu anlegen damit der alte Tree vollstaendig entfernt wird $("#data").html("
"); + function searchTree(element, matchingId) + { + if(($("#"+element.attr("id")).find("[lvid='"+matchingId+"']").attr("id") !== undefined) || ($("#"+element.attr("id")).attr("lvid") === matchingId)) + { + return true; + } + return false; + } + // Anzeigen des Trees mit den Lehrveranstaltungen $("#treeData").jstree({ ui: { @@ -319,6 +328,20 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester) move: { "always_copy": "multitree", "check_move": function(m) { + if(m.ot === m.rt) + { + if(searchTree(m.r, m.o.attr("lvid")) === true) + { + return false; + } + } + else + { + if(searchTree(m.r, m.o.attr("id")) === true) + { + return false; + } + } if(m.o.attr("rel")==="semester") { return false; @@ -413,47 +436,43 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester) 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