mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-25 08:34:29 +00:00
- Drag und Drop Lektoren zu einem Studiengang möglich
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
+20
-19
@@ -24,14 +24,14 @@ if(!$benutzer->loadVariables($uid))
|
||||
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
|
||||
echo '<?xul-overlay href="'.APP_ROOT.'content/fasoverlay.xul.php"?>';
|
||||
?>
|
||||
|
||||
<!--
|
||||
<!DOCTYPE window [
|
||||
<?php require("../locale/de-AT/tempus.dtd"); ?>
|
||||
]>
|
||||
]>-->
|
||||
|
||||
<window
|
||||
id="tempus"
|
||||
title="&window.title; &window.version;"
|
||||
id="fas"
|
||||
title="FAS 0.1"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
orient="vertical"
|
||||
@@ -44,6 +44,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/fasoverlay.xul.php"?>';
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/tempus.js.php" />
|
||||
<script type="application/x-javascript" src="chrome://global/content/nsTransferable.js"/>
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/DragAndDrop.js"/>
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/functions.js.php"/>
|
||||
|
||||
<commandset id="maincommands">
|
||||
<command id="menu-file-close:command" oncommand="closeWindow();"/>
|
||||
@@ -55,26 +56,26 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/fasoverlay.xul.php"?>';
|
||||
<keyset id="mainkeys">
|
||||
<key
|
||||
id = "menu-file-close:key"
|
||||
key = "&menu-file-close:key;"
|
||||
key = "§menu-file-close:key;"
|
||||
observes = "menu-file-close:command"
|
||||
modifiers = "accel" />
|
||||
</keyset>
|
||||
|
||||
<toolbox id="main-toolbox">
|
||||
<menubar id="menu" >
|
||||
<menu id="menu-file" label="&menu-file:label;" accesskey="&menu-file:accesskey;">
|
||||
<menu id="menu-file" label="§menu-file:label;" accesskey="§menu-file:accesskey;">
|
||||
<menupopup id="menu-file-popup">
|
||||
<menuitem
|
||||
id = "menu-file-close"
|
||||
key = "menu-file-close:key"
|
||||
label = "&menu-file-close:label;"
|
||||
label = "§menu-file-close:label;"
|
||||
command = "menu-file-close:command"
|
||||
accesskey = "&menu-file-close:accesskey;"/>
|
||||
accesskey = "§menu-file-close:accesskey;"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu id="menu-edit" label="&menu-edit:label;" accesskey="&menu-edit:accesskey;" onclick="loadUndoList();">
|
||||
<menu id="menu-edit" label="§menu-edit:label;" accesskey="§menu-edit:accesskey;" onclick="loadUndoList();">
|
||||
<menupopup id="menu-edit-popup" onpopupshowing="debug('wooosaar');">
|
||||
<menu id="menu-edit-undo" label="&menu-edit-undo:label;"
|
||||
<menu id="menu-edit-undo" label="§menu-edit-undo:label;"
|
||||
datasources="rdf:null"
|
||||
ref="http://www.technikum-wien.at/undo/liste"
|
||||
>
|
||||
@@ -90,24 +91,24 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/fasoverlay.xul.php"?>';
|
||||
</menu>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu id="menu-prefs" label="&menu-prefs:label;" accesskey="&menu-prefs:accesskey;">
|
||||
<menu id="menu-prefs" label="§menu-prefs:label;" accesskey="§menu-prefs:accesskey;">
|
||||
<menupopup id="menu-prefs-popup">
|
||||
<menu id="menu-prefs-stpltable" label="&menu-prefs-stpltable:label;" accesskey="&menu-prefs-stpltable:accesskey;">
|
||||
<menu id="menu-prefs-stpltable" label="§menu-prefs-stpltable:label;" accesskey="§menu-prefs-stpltable:accesskey;">
|
||||
<menupopup id="menu-prefs-stpltable-popup">
|
||||
<menuitem
|
||||
id ="menu-prefs-stpltable-stundenplan"
|
||||
type ="radio"
|
||||
key ="menu-prefs-stpltable-stundenplan:key"
|
||||
label ="&menu-prefs-stpltable-stundenplan:label;"
|
||||
label ="§menu-prefs-stpltable-stundenplan:label;"
|
||||
command ="menu-prefs-stpltable-stundenplan:command"
|
||||
accesskey ="&menu-prefs-stpltable-stundenplan:accesskey;"/>
|
||||
accesskey ="§menu-prefs-stpltable-stundenplan:accesskey;"/>
|
||||
<menuitem
|
||||
id ="menu-prefs-stpltable-stundenplandev"
|
||||
type ="radio"
|
||||
key ="menu-prefs-stpltable-stundenplandev:key"
|
||||
label ="&menu-prefs-stpltable-stundenplandev:label;"
|
||||
label ="§menu-prefs-stpltable-stundenplandev:label;"
|
||||
command ="menu-prefs-stpltable-stundenplandev:command"
|
||||
accesskey ="&menu-prefs-stpltable-stundenplandev:accesskey;"/>
|
||||
accesskey ="§menu-prefs-stpltable-stundenplandev:accesskey;"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu
|
||||
@@ -132,14 +133,14 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/fasoverlay.xul.php"?>';
|
||||
</menu>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu id="menu-help" label="&menu-help:label;" accesskey="&menu-help:accesskey;">
|
||||
<menu id="menu-help" label="§menu-help:label;" accesskey="§menu-help:accesskey;">
|
||||
<menupopup id="menu-about-popup">
|
||||
<menuitem
|
||||
id = "menu-help-close"
|
||||
key = "menu-help-close:key"
|
||||
label = "&menu-help-close:label;"
|
||||
label = "§menu-help-close:label;"
|
||||
command = "menu-help-close:command"
|
||||
accesskey = "&menu-help-close:accesskey;"/>
|
||||
accesskey = "§menu-help-close:accesskey;"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
</menubar>
|
||||
|
||||
@@ -4,6 +4,60 @@ include('../vilesci/config.inc.php');
|
||||
|
||||
var currentAuswahl=new auswahlValues();
|
||||
var LvTreeDatasource;
|
||||
var LektorTreeDatasource;
|
||||
|
||||
//Lektor-Tree initialisieren
|
||||
//window.setTimeout(initLektorTree,300);
|
||||
|
||||
// ****
|
||||
// * initialisiert den Lektor Tree
|
||||
// ****
|
||||
function initLektorTree()
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
try
|
||||
{
|
||||
url = '<?php echo APP_ROOT; ?>rdf/mitarbeiter.rdf.php?user=true&'+gettimestamp();
|
||||
var LektorTree=document.getElementById('tree-lektor');
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = LektorTree.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
LektorTree.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
LektorTreeDatasource = rdfService.GetDataSource(url);
|
||||
LektorTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
LektorTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
LektorTree.database.AddDataSource(LektorTreeDatasource);
|
||||
//LektorTreeDatasource.addXMLSinkObserver(LektorTreeSinkObserver);
|
||||
//LektorTree.builder.addListener(LektorTreeListener);
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
debug(e);
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Refresht den Lektor Tree
|
||||
// ****
|
||||
function RefreshLektorTree()
|
||||
{
|
||||
try
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
LektorTreeDatasource.Refresh(true);
|
||||
//Crash on Mozilla
|
||||
document.getElementById('tree-lektor').builder.rebuild();
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
alert(e);
|
||||
}
|
||||
}
|
||||
|
||||
function auswahlValues()
|
||||
{
|
||||
@@ -121,9 +175,12 @@ function onOrtSelect()
|
||||
|
||||
function onLektorSelect()
|
||||
{
|
||||
|
||||
/*
|
||||
var contentFrame=document.getElementById('iframeTimeTableWeek');
|
||||
var treeLektor=document.getElementById('tree-lektor');
|
||||
if(treeLektor.currentIndex==-1)
|
||||
return;
|
||||
|
||||
var uid=treeLektor.view.getCellText(treeLektor.currentIndex,"uid");
|
||||
if(uid=='')
|
||||
return;
|
||||
@@ -140,6 +197,7 @@ function onLektorSelect()
|
||||
// LVAs
|
||||
var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung');
|
||||
vboxLehrveranstalungPlanung.setAttribute('datasources','../rdf/lehreinheit-lvplan.rdf.php?'+"type=lektor&lektor="+uid);
|
||||
*/
|
||||
}
|
||||
|
||||
function loadURL(event)
|
||||
|
||||
@@ -98,11 +98,15 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
|
||||
</template>
|
||||
</tree>
|
||||
|
||||
<tree id="tree-lektor" onselect="onLektorSelect();"
|
||||
<tree id="tree-lektor" onmouseup="onLektorSelect();"
|
||||
seltype="single" hidecolumnpicker="false" flex="1"
|
||||
enableColumnDrag="true"
|
||||
ondraggesture="nsDragAndDrop.startDrag(event,mitarbeiterDDObserver);"
|
||||
datasources="../rdf/mitarbeiter.rdf.php" ref="http://www.technikum-wien.at/mitarbeiter/alle">
|
||||
ondragdrop="nsDragAndDrop.drop(event,LektorFunktionDDObserver)"
|
||||
ondragover="nsDragAndDrop.dragOver(event,LektorFunktionDDObserver)"
|
||||
ondragenter="nsDragAndDrop.dragEnter(event,LektorFunktionDDObserver)"
|
||||
ondragexit="nsDragAndDrop.dragExit(event,LektorFunktionDDObserver)"
|
||||
datasources="rdf:null" ref="http://www.technikum-wien.at/mitarbeiter/liste">
|
||||
<treecols>
|
||||
<treecol id="kurzbz" label="Kuerzel" flex="2" primary="true" />
|
||||
<splitter class="tree-splitter"/>
|
||||
@@ -113,6 +117,8 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
|
||||
<treecol id="titel" label="Titel" flex="1" hidden="true"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="uid" label="UID" flex="1" hidden="true"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="studiengang_kz" label="Studiengangkz" flex="1" hidden="true"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
@@ -125,38 +131,7 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
|
||||
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vornamen"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
</rule>
|
||||
</template>
|
||||
</tree>
|
||||
|
||||
<!-- testing - Verschachtelte Mitarbeiter Ansicht-->
|
||||
<tree id="tree-lektor_verschachtelt" onselect="onLektorSelect();"
|
||||
seltype="single" hidecolumnpicker="false" flex="1"
|
||||
enableColumnDrag="true"
|
||||
ondraggesture="nsDragAndDrop.startDrag(event,mitarbeiterDDObserver);"
|
||||
datasources="../rdf/mitarbeiter_verschachtelt.rdf.php" ref="http://www.technikum-wien.at/ma/liste">
|
||||
<treecols>
|
||||
<treecol id="bezeichnung" label="Kuerzel" flex="2" primary="true" />
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="nachname" label="Nachname" flex="2" hidden="true"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="vorname" label="Vornamen" flex="2" hidden="true"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="uid" label="UID" flex="1" hidden="true"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
<rule>
|
||||
<treechildren>
|
||||
<treeitem uri="rdf:*">
|
||||
<treerow>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/ma/rdf#bezeichnung"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/ma/rdf#nachname"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/ma/rdf#vorname"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/ma/rdf#uid"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#studiengang_kz"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
|
||||
@@ -10,7 +10,7 @@ function closeWindow()
|
||||
|
||||
function onLoad()
|
||||
{
|
||||
//window.close();
|
||||
initLektorTree();
|
||||
}
|
||||
|
||||
function loadRightFrame()
|
||||
|
||||
+38
-8
@@ -15,7 +15,7 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <[email protected]>,
|
||||
* Authors: Christian Paminger <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
@@ -23,7 +23,7 @@
|
||||
// ****************************************
|
||||
// * Insert/Update/Delete
|
||||
// * der Lehreinheiten
|
||||
// *
|
||||
// *
|
||||
// * Script sorgt fuer den Datenbanzugriff
|
||||
// * fuer das XUL - Lehreinheiten-Modul
|
||||
// *
|
||||
@@ -37,13 +37,14 @@ require_once('../vilesci/config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/benutzerberechtigung.class.php');
|
||||
require_once('../include/log.class.php');
|
||||
require_once('../include/benutzerfunktion.class.php');
|
||||
|
||||
$user = get_uid();
|
||||
|
||||
error_reporting(0);
|
||||
|
||||
// Datenbank Verbindung
|
||||
if (!$conn = pg_pconnect(CONN_STRING))
|
||||
if (!$conn = @pg_pconnect(CONN_STRING))
|
||||
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
|
||||
|
||||
$return = false;
|
||||
@@ -67,7 +68,7 @@ if(!$error)
|
||||
if(isset($_POST['type']) && $_POST['type']=='undo')
|
||||
{
|
||||
//UNDO Befehl ausfuehren
|
||||
|
||||
|
||||
if (!isset($_POST['log_id']))
|
||||
{
|
||||
$return = false;
|
||||
@@ -75,23 +76,52 @@ if(!$error)
|
||||
$data = '';
|
||||
$error = true;
|
||||
}
|
||||
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
$log = new log($conn, null, null, true);
|
||||
|
||||
|
||||
if($log->undo($log_id))
|
||||
{
|
||||
$return = true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$errormsg = 'Fehler bei UnDo:'.$log->errormsg;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
elseif (isset($_POST['type']) && $_POST['type']=='addFunktionToMitarbeiter')
|
||||
{
|
||||
if(isset($_POST['uid']))
|
||||
{
|
||||
$obj = new benutzerfunktion($conn);
|
||||
$obj->uid = $_POST['uid'];
|
||||
$obj->studiengang_kz = $_POST['studiengang_kz'];
|
||||
$obj->funktion_kurzbz = 'lkt';
|
||||
$obj->updateamum = date('Y-m-d H:i:s');
|
||||
$obj->updatevon = $user;
|
||||
$obj->insertamum = date('Y-m-d H:i:s');
|
||||
$obj->insertvon = $user;
|
||||
|
||||
if($obj->save(true))
|
||||
{
|
||||
$return = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$errormsg = $obj->errormsg;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$errormsg = 'Uid wurde nicht angegeben';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$errormsg = 'Unkown type';
|
||||
|
||||
Reference in New Issue
Block a user