diff --git a/content/DragAndDrop.js b/content/DragAndDrop.js index 99dae2373..4924a5d32 100644 --- a/content/DragAndDrop.js +++ b/content/DragAndDrop.js @@ -351,7 +351,9 @@ var nsDragAndDrop = this.mDragSession = this.mDragService.getCurrentSession(); if (!this.mDragSession) return false; - this.mDragSession.canDrop = this.mDragSession.sourceNode != aEvent.target; + //oesi - Auskommentiert um das DragnDrop innerhalb des selben Trees zu ermoeglichen + //this.mDragSession.canDrop = this.mDragSession.sourceNode != aEvent.target; + this.mDragSession.canDrop = true; if ("canDrop" in aDragDropObserver) this.mDragSession.canDrop &= aDragDropObserver.canDrop(aEvent, this.mDragSession); return true; diff --git a/content/dragboard.js.php b/content/dragboard.js.php index 7324ca3b9..2a35347b0 100644 --- a/content/dragboard.js.php +++ b/content/dragboard.js.php @@ -84,6 +84,7 @@ var lvbgrpDDObserver= } }; + // **** // * Observer fuer den Gruppen Tree im Lehreinheiten-Modul // **** @@ -193,6 +194,86 @@ var mitarbeiterDDObserver= } }; +// **** +// * Observer fuer Drop eines Lektors auf einen Studiengang +// **** +var LektorFunktionDDObserver= +{ + getSupportedFlavours : function () + { + var flavours = new FlavourSet(); + flavours.appendFlavour("application/tempus-mitarbeiter"); + return flavours; + }, + onDragEnter: function (evt,flavour,session) + { + }, + onDragExit: function (evt,flavour,session) + { + }, + onDragOver: function(evt,flavour,session) + { + }, + onDrop: function (evt,dropdata,session) + { + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + try + { + dragservice_ds = Components.classes["@mozilla.org/widget/dragservice;1"].getService(Components.interfaces.nsIDragService); + } + catch (e) + { + debug('treeDragDrop: e'); + } + + var ds = dragservice_ds; + + var tree = document.getElementById('tree-lektor') + var row = { } + var col = { } + var child = { } + + //Index der Quell-Row ermitteln + tree.treeBoxObject.getCellAt(evt.pageX, evt.pageY, row, col, child) + + //Beim Scrollen soll kein DnD gemacht werden + if(col.value==null) + return false; + + //Daten ermitteln + col = tree.columns ? tree.columns["studiengang_kz"] : "studiengang_kz"; + var stg=tree.view.getCellText(row.value,col); + + if(stg!=0) + { + uid=dropdata.data; + + var req = new phpRequest('tempusDBDML.php','',''); + + req.add('type', 'addFunktionToMitarbeiter'); + req.add('uid', uid); + req.add('studiengang_kz', stg); + + var response = req.executePOST(); + + var val = new ParseReturnValue(response) + + if (!val.dbdml_return) + { + alert(val.dbdml_errormsg) + } + else + { + //Tree Refreshen + //keine Ahnung warum ich da ein setTimeout brauche + //aber wenns nicht da ist dann stuerzt Mozilla ab?! + //mit seamonkey funktionierts auch ohne! + window.setTimeout(RefreshLektorTree,10); + } + } + } +}; + // **** // * Observer fuer Lektor-Tree bei Lehreinheit-Modul // * Bei OnDrop eines mitarbeiters wird dieser der diff --git a/content/fas.xul.php b/content/fas.xul.php index 911d804af..8ff582145 100644 --- a/content/fas.xul.php +++ b/content/fas.xul.php @@ -24,14 +24,14 @@ if(!$benutzer->loadVariables($uid)) echo ''; echo ''; ?> - + ';