- Weiterbildung aktualisiert

- Notenliste Studenten Bugfix
- Lehreinheiten-Modul Tempus DragnDrop für Gruppen und Lektoren jetzt möglich und Refresh der Trees hinzugefügt
This commit is contained in:
Andreas Österreicher
2007-03-07 16:30:20 +00:00
parent d67430fa5b
commit 792f342e87
11 changed files with 1028 additions and 665 deletions
+1
View File
@@ -61,6 +61,7 @@ $qry = "SELECT
WHERE
person.uid='$user' AND
person.person_pk=student.person_fk AND
aufgenommenam is not null AND
studiengang.studiengang_pk=student.studiengang_fk
ORDER BY aufgenommenam DESC LIMIT 1
";
+2 -2
View File
@@ -86,6 +86,7 @@ var nsDragAndDrop =
**/
startDrag: function (aEvent, aDragDropObserver)
{
try
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
@@ -111,11 +112,10 @@ var nsDragAndDrop =
{
return; // not a draggable item, bail!
}
if (!transferData.data)
return;
transferData = transferData.data;
var transArray = Components.classes["@mozilla.org/supports-array;1"]
.createInstance(Components.interfaces.nsISupportsArray);
+16
View File
@@ -20,6 +20,22 @@ var listObserver=
}
};
/***** Drag Observer fuer Gruppen *****/
var grpObserver=
{
onDragStart: function (evt,transferData,action)
{
var stg_kz=evt.target.getAttribute("stg_kz");
var sem=evt.target.getAttribute("sem");
var ver=evt.target.getAttribute("ver");
var grp=evt.target.getAttribute("grp");
var einheit=evt.target.getAttribute("gruppe");
var paramList= stg_kz+'&'+sem+'&'+ver+'&'+grp+'&'+gruppe;
transferData.data=new TransferData();
transferData.data.addDataForFlavour("gruppe",paramList);
}
};
var boardObserver=
{
/*canHandleMultipleItems : function()
+239 -1
View File
@@ -1,4 +1,24 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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 <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
include('../vilesci/config.inc.php');
?>
function lehrstunde(id,idList)
@@ -8,7 +28,8 @@ function lehrstunde(id,idList)
}
var lehrstunden=new Array();
/***** Drag Observer fuer Lehrveranstaltungen *****/
/***** Drag Observer fuer Lehrveranstaltungen ****
may not be used?!?
var lvaObserver=
{
onDragStart: function (evt,transferData,action)
@@ -22,7 +43,224 @@ var lvaObserver=
//alert("test");
}
};
*/
/***** Drag Observer fuer Gruppen *****/
var grpObserver=
{
onDragStart: function (evt,transferData,action)
{
var tree = document.getElementById('tree-verband')
var row = { }
var col = { }
var child = { }
//Index der Quell-Row ermitteln
tree.treeBoxObject.getCellAt(evt.pageX, evt.pageY, row, col, child)
//Daten ermitteln
col = tree.columns ? tree.columns["stg_kz"] : "stg_kz";
stg_kz=tree.view.getCellText(row.value,col);
col = tree.columns ? tree.columns["sem"] : "sem";
sem=tree.view.getCellText(row.value,col);
col = tree.columns ? tree.columns["ver"] : "ver";
ver=tree.view.getCellText(row.value,col);
col = tree.columns ? tree.columns["grp"] : "grp";
grp=tree.view.getCellText(row.value,col);
col = tree.columns ? tree.columns["gruppe"] : "gruppe";
gruppe=tree.view.getCellText(row.value,col);
var paramList= stg_kz+'&'+sem+'&'+ver+'&'+grp+'&'+gruppe;
//debug('param:'+paramList);
transferData.data=new TransferData();
transferData.data.addDataForFlavour("gruppe",paramList);
}
};
// ****
// * Observer fuer den Gruppen Tree im Lehreinheiten-Modul
// ****
var lfvt_grp_Observer=
{
getSupportedFlavours : function ()
{
var flavours = new FlavourSet();
flavours.appendFlavour("gruppe");
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 ses = ds.getCurrentSession()
var sourceNode = ses.sourceNode
var lehreinheit_id = document.getElementById('lfvt_detail_textbox_lehreinheit_id').value;
var row = { }
var col = { }
var child = { }
if(lehreinheit_id=='')
return false;
quell_gruppe=dropdata.data;
var arr = quell_gruppe.split("&");
var stg_kz = arr[0];
var sem = arr[1];
var ver = arr[2];
var grp = arr[3];
var gruppe = arr[4];
//alert("stg: "+stg_kz+" sem: "+sem+" ver: "+ver+" grp: "+grp+" gruppe: "+gruppe+" TO Lehreinheit:"+lehreinheit_id);
var req = new phpRequest('lfvtCUD.php','','');
neu = document.getElementById('lfvt_detail_checkbox_new').checked;
req.add('type','lehreinheit_gruppe_add');
req.add('lehreinheit_id', lehreinheit_id);
req.add('studiengang_kz', stg_kz);
req.add('semester', sem);
req.add('verband', ver);
req.add('gruppe', grp);
req.add('gruppe_kurzbz', gruppe);
var response = req.executePOST();
if (response!='ok')
{
alert(response);
}
else
{
//GruppenTree Refreshen
lfvt_detail_gruppe_treerefresh();
}
}
};
/***** Drag Observer fuer Lektoren *****/
var tree_lektor_drag_Observer=
{
onDragStart: function (evt,transferData,action)
{
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)
//Daten ermitteln
col = tree.columns ? tree.columns["uid"] : "uid";
uid=tree.view.getCellText(row.value,col);
var paramList= uid;
transferData.data=new TransferData();
transferData.data.addDataForFlavour("mitarbeiter",paramList);
}
};
// ****
// * Observer fuer Lektor-Tree bei Lehreinheit-Modul
// * Bei OnDrop eines mitarbeiters wird dieser der
// * Lehreinheit zugeordnet
// ****
var lfvt_lektor_Observer=
{
getSupportedFlavours : function ()
{
var flavours = new FlavourSet();
flavours.appendFlavour("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 ses = ds.getCurrentSession()
var sourceNode = ses.sourceNode
var lehreinheit_id = document.getElementById('lfvt_detail_textbox_lehreinheit_id').value;
var row = { }
var col = { }
var child = { }
if(lehreinheit_id=='')
return false;
uid=dropdata.data;
//alert("uid: "+uid);
var req = new phpRequest('lfvtCUD.php','','');
neu = document.getElementById('lfvt_detail_checkbox_new').checked;
req.add('type','lehreinheit_mitarbeiter_add');
req.add('do', 'create');
req.add('lehreinheit_id', lehreinheit_id);
req.add('mitarbeiter_uid', uid);
req.add('lehrfunktion_kurzbz', 'lektor');
req.add('semesterstunden', '0');
req.add('planstunden', '0');
req.add('stundensatz', '0');
req.add('faktor', '1');
req.add('anmerkung', '');
req.add('bismelden', 'true');
var response = req.executePOST();
if (response!='ok')
{
alert(response);
}
else
{
//LektorTree Refreshen
lfvt_lektor_treerefresh();
}
}
};
/***** Drag Observer fuer STPL-Verschiebung *****/
var listObserver=
{
+59 -8
View File
@@ -1,8 +1,37 @@
<?php
// *****************************
// Create/Update/Delete
// der Lehrfachverteilung
// *****************************
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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 <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
// ****************************************
// * Create/Update/Delete
// * der Lehreinheiten
// *
// * Script sorgt fuer den Datenbanzugriff
// * fuer das XUL - Lehreinheiten-Modul
// *
// * Derzeitige Funktionen:
// * - Lehreinheitmitarbeiter Zuteilung hinzufuegen/bearbeiten/loeschen
// * - Lehreinheitgruppe Zutelung hinzufuegen/loeschen
// * - Lehreinheit anlegen/bearbeiten/loeschen
// ****************************************
require_once('../vilesci/config.inc.php');
require_once('../include/functions.inc.php');
@@ -17,6 +46,7 @@ $user = get_uid();
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
//Berechtigungen laden
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('admin'))
@@ -26,6 +56,9 @@ $leDAO=new lehreinheit($conn);
if(isset($_POST['type']) && $_POST['type']=='lehreinheit_mitarbeiter_add')
{
//Lehreinheitmitarbeiter Zuteilung
//wenn do=update dann wird aktualisiert
//wenn do=create wird ein neuer datensatz angelegt
if (!isset($_POST['do']))
die('Fehlerhafte Parameteruebergabe');
@@ -33,12 +66,14 @@ if(isset($_POST['type']) && $_POST['type']=='lehreinheit_mitarbeiter_add')
$lem = new lehreinheitmitarbeiter($conn);
if($_POST['do']=='update')
if(!$lem->load($_POST['lehreinheit_id'],$_POST['mitarbeiter_uid']))
if(!$lem->load($_POST['lehreinheit_id'],$_POST['mitarbeiter_uid_old']))
die('Fehler beim laden:'.$lem->errormsg);
$lem->lehreinheit_id = $_POST['lehreinheit_id'];
$lem->lehrfunktion_kurzbz = $_POST['lehrfunktion_kurzbz'];
$lem->mitarbeiter_uid = $_POST['mitarbeiter_uid'];
if($_POST['do']=='update')
$lem->mitarbeiter_uid_old = $_POST['mitarbeiter_uid_old'];
$lem->semesterstunden = $_POST['semesterstunden'];
$lem->planstunden = $_POST['planstunden'];
$lem->stundensatz = $_POST['stundensatz'];
@@ -68,8 +103,21 @@ if(isset($_POST['type']) && $_POST['type']=='lehreinheit_mitarbeiter_add')
else
echo $lem->errormsg;
}
elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit_mitarbeiter_del')
{
//Lehreinheitmitarbeiterzuteilung loeschen
if(isset($_POST['lehreinheit_id']) && is_numeric($_POST['lehreinheit_id']) && isset($_POST['mitarbeiter_uid']))
{
$leg = new lehreinheitmitarbeiter($conn);
if($leg->delete($_POST['lehreinheit_id'], $_POST['mitarbeiter_uid']))
echo 'ok';
else
echo $leg->errormsg;
}
}
elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit_gruppe_del')
{
//Lehreinheitgruppezuteilung loeschen
if(isset($_POST['lehreinheitgruppe_id']) && is_numeric($_POST['lehreinheitgruppe_id']))
{
$leg = new lehreinheitgruppe($conn);
@@ -81,6 +129,7 @@ elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit_gruppe_del')
}
elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit_gruppe_add')
{
//Lehreinheitgruppezuteilung anlegen
if(isset($_POST['lehreinheit_id']) && is_numeric($_POST['lehreinheit_id']))
{
$leg = new lehreinheitgruppe($conn);
@@ -101,8 +150,9 @@ elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit_gruppe_add')
else
echo "Lehreinheit_id ist ungueltig";
}
else
elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit')
{
//Lehreinheit anlegen/aktualisieren
if ($_POST['do']=='create' || ($_POST['do']=='update'))
{
if($_POST['do']=='update')
@@ -148,14 +198,15 @@ else
}
}
else if ($_POST['do']=='delete')
else if ($_POST['do']=='delete') //Lehreinheit loeschen
{
// LE loeschen
if ($leDAO->delete($_POST['lehreinheit_id']))
echo 'ok';
else
echo $leDAO->errormsg;
}
}
else
echo "Unkown type";
?>
+217 -202
View File
@@ -1,4 +1,25 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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 <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
@@ -15,192 +36,189 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/lfvt.css\" type=\"text/css\" ?
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<!-- *************************** LEHREINHEIT DETAILS ************************* -->
<!--<script src="chrome://global/content/nsTransferable.js"/>-->
<vbox id="lfvt-detail" class="lvaDetail" style="margin:0px;" >
<popupset>
<popup id="lfvt_detail_gruppe_tree_popup">
<menuitem label="Entfernen" oncommand="lfvt_LehreinheitGruppeDel();" />
</popup>
</popupset>
<hbox style="background:#eeeeee;margin:0px;padding:2px">
<label value="Details" style="font-size:12pt;font-weight:bold;margin-top:5px;" flex="1" />
<spacer flex="1" />
<button id="lfvt_detail_button_save" label="speichern" oncommand="lfvtDetailSave();" disabled="true"/>
</hbox>
<checkbox id="lfvt_detail_checkbox_new" hidden="true"/>
<textbox id="lfvt_detail_textbox_lehreinheit_id" hidden="true"/>
<grid id="gridLFVT" flex="1" datasources="rdf:null"
ref="http://www.technikum-wien.at/tempus/lva/liste"
style="padding:5px;"
>
<columns >
<column />
<column style="min-width:240px" />
<column />
<column style="min-width:240px" />
</columns>
<rows>
<!-- fehlt hier die eindeutige ID ? -->
<row >
<label value="LVNR" />
<textbox id="lfvt_detail_textbox_lvnr" maxlength="20" disabled="true" />
<label value="UNR" />
<textbox id="lfvt_detail_textbox_unr" disabled="true"/>
</row>
<row>
<label value="Sprache" />
<menulist id="lfvt_detail_menulist_sprache"
datasources="<?php echo APP_ROOT; ?>rdf/sprache.rdf.php" flex="1"
ref="http://www.technikum-wien.at/sprachen/liste" disabled="true">
<popupset>
<popup id="lfvt_detail_gruppe_tree_popup">
<menuitem label="Entfernen" oncommand="lfvt_LehreinheitGruppeDel();" />
</popup>
</popupset>
<popupset>
<popup id="lfvt_lektor_tree_popup">
<menuitem label="Entfernen" oncommand="lfvt_LehreinheitMitarbeiterDel();" />
</popup>
</popupset>
<hbox style="background:#eeeeee;margin:0px;padding:2px">
<label value="Details" style="font-size:12pt;font-weight:bold;margin-top:5px;" flex="1" />
<spacer flex="1" />
<button id="lfvt_detail_button_save" label="speichern" oncommand="lfvtDetailSave();" disabled="true"/>
</hbox>
<checkbox id="lfvt_detail_checkbox_new" hidden="true"/>
<textbox id="lfvt_detail_textbox_lehreinheit_id" hidden="true"/>
<grid id="gridLFVT" flex="1" datasources="rdf:null"
ref="http://www.technikum-wien.at/tempus/lva/liste"
style="padding:5px;">
<columns >
<column />
<column style="min-width:240px" />
<column />
<column style="min-width:240px" />
</columns>
<rows>
<row >
<label value="LVNR" />
<textbox id="lfvt_detail_textbox_lvnr" maxlength="20" disabled="true" />
<label value="UNR" />
<textbox id="lfvt_detail_textbox_unr" disabled="true"/>
</row>
<row>
<label value="Sprache" />
<menulist id="lfvt_detail_menulist_sprache"
datasources="<?php echo APP_ROOT; ?>rdf/sprache.rdf.php" flex="1"
ref="http://www.technikum-wien.at/sprachen/liste" disabled="true">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/sprachen/rdf#bezeichnung"
label="rdf:http://www.technikum-wien.at/sprachen/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Lehrveranstaltung" />
<textbox id="lfvt_detail_textbox_lehrveranstaltung" maxlength="20" disabled="true"/>
</row>
<row>
<label value="Lehrfach" />
<menulist id="lfvt_detail_menulist_lehrfach" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/lehrfach/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/lehrfach/rdf#lehrfach_id"
label="rdf:http://www.technikum-wien.at/lehrfach/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Lehrform" />
<menulist id="lfvt_detail_menulist_lehrform" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/lehrform.rdf.php" flex="1"
ref="http://www.technikum-wien.at/lehrform/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/lehrform/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/lehrform/rdf#kurzbz"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Raumtyp" />
<menulist id="lfvt_detail_menulist_raumtyp" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/raumtyp.rdf.php" flex="1"
ref="http://www.technikum-wien.at/raumtyp/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/raumtyp/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/raumtyp/rdf#kurzbz"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Raumtyp alternativ" />
<menulist id="lfvt_detail_menulist_raumtypalternativ" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/raumtyp.rdf.php" flex="1"
ref="http://www.technikum-wien.at/raumtyp/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/raumtyp/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/raumtyp/rdf#kurzbz"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Lehre" />
<checkbox id="lfvt_detail_checkbox_lehre" disabled="true"/>
<label value="Stundenblockung" />
<textbox id="lfvt_detail_textbox_stundenblockung" disabled="true" />
</row>
<row>
<label value="Wochenrythmus" />
<textbox id="lfvt_detail_textbox_wochenrythmus" disabled="true"/>
<label value="Start KW" />
<textbox id="lfvt_detail_textbox_startkw" disabled="true"/>
</row>
<row>
<label value="Studiensemester" />
<vbox>
<menulist id="lfvt_detail_menulist_studiensemester" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/studiensemester.rdf.php" flex="0"
ref="http://www.technikum-wien.at/studiensemester/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/studiensemester/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/studiensemester/rdf#kurzbz"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<spacer flex="1"/>
</vbox>
<label value="Anmerkung" />
<textbox id="lfvt_detail_textbox_anmerkung" rows="2" multiline="true" disabled="true"/>
</row>
<row>
<!-- ************* GRUPPEN ************** -->
<label value="Gruppen" />
<vbox height="150" flex="1">
<hbox flex="1">
<tree id="lfvt_detail_tree_lehreinheitgruppe" seltype="single" hidecolumnpicker="false" flex="1" disabled="true"
datasources="rdf:null"
ref="http://www.technikum-wien.at/lehreinheitgruppe/liste"
flags="dont-build-content"
style="border: 1px solid black;"
ondragdrop="nsDragAndDrop.drop(event,lfvt_grp_Observer)"
ondragover="nsDragAndDrop.dragOver(event,lfvt_grp_Observer)"
ondragenter="nsDragAndDrop.dragEnter(event,lfvt_grp_Observer)"
ondragexit="nsDragAndDrop.dragExit(event,lfvt_grp_Observer)"
context="lfvt_detail_gruppe_tree_popup"
>
<treecols>
<treecol id="lfvt_detail_tree_lehreinheitgruppe-col-bezeichnung" label="Bezeichnung" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#bezeichnung" />
<splitter class="tree-splitter"/>
<treecol id="lfvt_detail_tree_lehreinheitgruppe-col-lehreinheitgruppe_id" label="ID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#lehreinheitgruppe_id" />
</treecols>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/sprachen/rdf#bezeichnung"
label="rdf:http://www.technikum-wien.at/sprachen/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Lehrveranstaltung" />
<textbox id="lfvt_detail_textbox_lehrveranstaltung" maxlength="20" disabled="true"/>
</row>
<row>
<label value="Lehrfach" />
<menulist id="lfvt_detail_menulist_lehrfach" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/lehrfach/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/lehrfach/rdf#lehrfach_id"
label="rdf:http://www.technikum-wien.at/lehrfach/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Lehrform" />
<menulist id="lfvt_detail_menulist_lehrform" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/lehrform.rdf.php" flex="1"
ref="http://www.technikum-wien.at/lehrform/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/lehrform/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/lehrform/rdf#kurzbz"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Raumtyp" />
<menulist id="lfvt_detail_menulist_raumtyp" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/raumtyp.rdf.php" flex="1"
ref="http://www.technikum-wien.at/raumtyp/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/raumtyp/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/raumtyp/rdf#kurzbz"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Raumtyp alternativ" />
<menulist id="lfvt_detail_menulist_raumtypalternativ" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/raumtyp.rdf.php" flex="1"
ref="http://www.technikum-wien.at/raumtyp/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/raumtyp/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/raumtyp/rdf#kurzbz"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Lehre" />
<checkbox id="lfvt_detail_checkbox_lehre" disabled="true"/>
<label value="Stundenblockung" />
<textbox id="lfvt_detail_textbox_stundenblockung" disabled="true" />
</row>
<row>
<label value="Wochenrythmus" />
<textbox id="lfvt_detail_textbox_wochenrythmus" disabled="true"/>
<label value="Start KW" />
<textbox id="lfvt_detail_textbox_startkw" disabled="true"/>
</row>
<row>
<label value="Studiensemester" />
<vbox>
<menulist id="lfvt_detail_menulist_studiensemester" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/studiensemester.rdf.php" flex="0"
ref="http://www.technikum-wien.at/studiensemester/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/studiensemester/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/studiensemester/rdf#kurzbz"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<spacer flex="1"/>
</vbox>
<label value="Anmerkung" />
<textbox id="lfvt_detail_textbox_anmerkung" rows="2" multiline="true" disabled="true"/>
</row>
<row>
<!-- ************* GRUPPEN ************** -->
<label value="Gruppen" />
<vbox height="150" flex="1">
<hbox flex="1">
<tree id="lfvt_detail_tree_lehreinheitgruppe" seltype="single" hidecolumnpicker="false" flex="1" disabled="true"
datasources="rdf:null"
ref="http://www.technikum-wien.at/lehreinheitgruppe/liste"
flags="dont-build-content"
style="border: 1px solid black;"
ondragdrop="lfvt_detail_gruppe_dragdrop(event);"
ondragover="return lfvt_detail_gruppe_dragover(event);"
contextmenu="lfvt_detail_gruppe_tree_popup"
ondragexit="debug('ondragexit');"
>
<treecols>
<treecol id="lfvt_detail_tree_lehreinheitgruppe-col-bezeichnung" label="Bezeichnung" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#bezeichnung" />
<splitter class="tree-splitter"/>
<treecol id="lfvt_detail_tree_lehreinheitgruppe-col-lehreinheitgruppe_id" label="ID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#lehreinheitgruppe_id" />
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/lehreinheitgruppe/rdf#bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheitgruppe/rdf#lehreinheitgruppe_id" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<spacer />
</hbox>
<hbox>
<!--<button label="+" id="lfvt_detail_gruppe_button_add" oncommand="lfvt_LehreinheitGruppeAdd()" style="max-width: 30px;" disabled="true"/>-->
<!--<button label="-" id="lfvt_detail_gruppe_button_del" oncommand="lfvt_LehreinheitGruppeDel()" style="max-width: 30px;" disabled="true"/>-->
</hbox>
</vbox>
</row>
</rows>
</grid>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/lehreinheitgruppe/rdf#bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheitgruppe/rdf#lehreinheitgruppe_id" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<spacer />
</hbox>
</vbox>
</row>
</rows>
</grid>
</vbox>
<!-- ************************** LEKTORZUTEILUNG ********************** -->
@@ -213,6 +231,11 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/lfvt.css\" type=\"text/css\" ?
ref="http://www.technikum-wien.at/lehreinheitmitarbeiter/liste"
onselect="lfvt_LehreinheitMitarbeiterAuswahl();" flags="dont-build-content"
style="border: 1px solid black;"
ondragdrop="nsDragAndDrop.drop(event,lfvt_lektor_Observer)"
ondragover="nsDragAndDrop.dragOver(event,lfvt_lektor_Observer)"
ondragenter="nsDragAndDrop.dragEnter(event,lfvt_lektor_Observer)"
ondragexit="nsDragAndDrop.dragExit(event,lfvt_lektor_Observer)"
context="lfvt_lektor_tree_popup"
>
<treecols>
<treecol id="lfvt_detail_tree_lehreinheitmitarbeiter-col-nachname" label="Nachname" flex="2" hidden="false"
@@ -223,11 +246,11 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/lfvt.css\" type=\"text/css\" ?
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#vorname" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="lfvt_detail_tree_lehreinheitmitarbeiter-col-mitarbeiter_uid" label="MitarbeiterLehreinheitID" flex="2" hidden="true"
<treecol id="lfvt_detail_tree_lehreinheitmitarbeiter-col-mitarbeiter_uid" label="UID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#mitarbeiter_uid" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="lfvt_detail_tree_lehreinheitmitarbeiter-col-lehreinheit_id" label="MitarbeiterLehreinheitID" flex="2" hidden="true"
<treecol id="lfvt_detail_tree_lehreinheitmitarbeiter-col-lehreinheit_id" label="LehreinheitID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#lehreinheit_id" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
@@ -249,12 +272,6 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/lfvt.css\" type=\"text/css\" ?
</tree>
<spacer />
</hbox>
<hbox>
<button label="+" id="lfvt_lehreinheitmitarbeiter_button_add" oncommand="lfvt_LehreinheitMitarbeiterAdd()" style="max-width: 30px;" disabled="true"/>
<button label="-" id="lfvt_lehreinheitmitarbeiter_button_del" oncommand="lfvt_LehreinheitMitarbeiterDel()" style="max-width: 30px;" disabled="true"/>
</hbox>
</vbox>
<vbox>
@@ -263,11 +280,10 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/lfvt.css\" type=\"text/css\" ?
<caption label="Lektorendaten" />
<vbox flex="1">
<textbox id="lfvt_lehreinheitmitarbeiter_textbox_lehreinheit_id" hidden="true"/>
<checkbox id="lfvt_lehreinheitmitarbeiter_checkbox_new" hidden="true"/>
<textbox id="lfvt_lehreinheitmitarbeiter_textbox_mitarbeiter_uid" hidden="true"/>
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
>
flags="dont-build-content"
enableColumnDrag="true">
<columns>
<column />
<column flex="1"/>
@@ -279,8 +295,8 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/lfvt.css\" type=\"text/css\" ?
<row>
<label align="end" control="lfvt_lehreinheitmitarbeiter_menulist_lehrfunktion_kurzbz" value="Lehrfunktion:"/>
<menulist id="lfvt_lehreinheitmitarbeiter_menulist_lehrfunktion_kurzbz" disabled="true" oncommand="lfvt_LehreinheitMitarbeiterValueChanged();"
datasources="<?php echo APP_ROOT; ?>rdf/lehrfunktion.rdf.php"
ref="http://www.technikum-wien.at/lehrfunktion/liste" flex="1">
datasources="<?php echo APP_ROOT; ?>rdf/lehrfunktion.rdf.php"
ref="http://www.technikum-wien.at/lehrfunktion/liste" flex="1">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/lehrfunktion/rdf#lehrfunktion_kurzbz"
@@ -289,9 +305,9 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/lfvt.css\" type=\"text/css\" ?
</template>
</menulist>
<label align="end" control="lfvt_lehreinheitmitarbeiter_menulist_lektor" value="Lektor:"/>
<menulist id="lfvt_lehreinheitmitarbeiter_menulist_lektor" disabled="true" oncommand="lfvt_LehreinheitMitarbeiterValueChanged();"
datasources="<?php echo APP_ROOT; ?>rdf/mitarbeiter.rdf.php"
ref="http://www.technikum-wien.at/mitarbeiter/alle" flex="1">
<menulist id="lfvt_lehreinheitmitarbeiter_menulist_lektor" disabled="true" oncommand="lfvt_LehreinheitMitarbeiterValueChanged();"
datasources="<?php echo APP_ROOT; ?>rdf/mitarbeiter.rdf.php"
ref="http://www.technikum-wien.at/mitarbeiter/alle" flex="1">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname"
@@ -331,5 +347,4 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/lfvt.css\" type=\"text/css\" ?
<spacer flex="1" />
</hbox>
</vbox>
</overlay>
+217 -303
View File
@@ -1,4 +1,25 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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 <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../vilesci/config.inc.php');
require_once('../include/functions.inc.php');
@@ -8,28 +29,35 @@ $user = get_uid();
loadVariables($conn, $user);
?>
var lfvt_detail_lehrfach_id;
var lfvt_detail_gruppe_datasource;
var lfvt_detail_lektor_datasource;
function getDropDownValue(obj)
// ****
// * Observer fuer LFVT Tree
// * startet Rebuild nachdem das Refresh
// * der datasource fertig ist
// ****
var lfvt_tree_observer =
{
//var list = document.getElementById(obj.name);
//var selectedText = list.selectedItem.label;
//alert(selectedText);
return obj.name;
}
function listElementHandlers(aObj)
{
if(!aObj)
return null;
for(var list in aObj)
if(list.match(/^on/))
dump(list+'\n');
}
onBeginLoad : function(pSink) {},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
onEndLoad : function(pSink)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('treeLFVT').builder.rebuild();
}
}
// ****
// * Asynchroner (Nicht blockierender) Refresh des LFVT Trees
// ****
function lfvt_tree_refresh()
{
var tree = document.getElementById('treeLFVT');
tree.builder.refresh();
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
lfvt_tree_datasource.Refresh(false); //non blocking
}
// ****
@@ -87,6 +115,8 @@ function lvaNeu()
// ****
function lvaDelete()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('treeLFVT');
if (tree.currentIndex==-1) return;
@@ -109,6 +139,7 @@ function lvaDelete()
{
//Script zum loeschen der Lehreinheit aufrufen
var req = new phpRequest('lfvtCUD.php','','');
req.add('type','lehreinheit');
req.add('do','delete');
req.add('lehreinheit_id',lehreinheit_id);
var response = req.executePOST();
@@ -128,7 +159,7 @@ var lfvt_detail_lehrfach_observer = {
onInterrupt: function(aSink) { },
onResume: function(aSink) { },
onEndLoad: function(aSink) {
//Die richtige Gruppe markieren
//Das richtige Lehrfach markieren
if(lfvt_detail_lehrfach_id!='')
document.getElementById('lfvt_detail_menulist_lehrfach').value=lfvt_detail_lehrfach_id;
else
@@ -156,11 +187,34 @@ function lfvtDetailReset()
document.getElementById('lfvt_detail_textbox_startkw').value='';
document.getElementById('lfvt_detail_textbox_anmerkung').value='';
document.getElementById('lfvt_detail_menulist_sprache').value='German';
//document.getElementById('lfvt_detail_menulist_lehrfach').value='';
document.getElementById('lfvt_detail_menulist_raumtyp').value='Dummy';
document.getElementById('lfvt_detail_menulist_raumtypalternativ').value='Dummy';
document.getElementById('lfvt_detail_menulist_studiensemester').value='<?php echo $semester_aktuell; ?>';
document.getElementById('lfvt_detail_menulist_lehrform').value='UE';
//mitarbeiterlehreinheit tree leeren
lektortree = document.getElementById('lfvt_detail_tree_lehreinheitmitarbeiter');
//Alte DS entfernen
var oldDatasources = lektortree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
lektortree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
lektortree.builder.refresh();
//Gruppentree leeren
gruppentree = document.getElementById('lfvt_detail_tree_lehreinheitgruppe');
//Alte DS entfernen
var oldDatasources = gruppentree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
gruppentree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
gruppentree.builder.refresh();
}
// ****
@@ -186,8 +240,12 @@ function lfvtDetailDisableFields(val)
document.getElementById('lfvt_detail_button_save').disabled=val;
}
// ****
// * Speichert die Details
// ****
function lfvtDetailSave()
{
//Werte holen
lvnr = document.getElementById('lfvt_detail_textbox_lvnr').value;
unr = document.getElementById('lfvt_detail_textbox_unr').value;
lehrveranstaltung = document.getElementById('lfvt_detail_textbox_lehrveranstaltung').value;
@@ -220,6 +278,7 @@ function lfvtDetailSave()
req.add('lehreinheit_id',lehreinheit_id);
}
//alert(lehreinheit_id);
req.add('type', 'lehreinheit');
req.add('unr', unr);
req.add('lvnr', lvnr);
req.add('sprache', sprache);
@@ -255,6 +314,9 @@ function lfvtDetailSave()
// ****
function lvaAuswahl()
{
// Trick 17 (sonst gibt's ein Permission denied)
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('treeLFVT');
//Felder bei Lektorenzuordnung deaktivieren
@@ -272,13 +334,7 @@ function lvaAuswahl()
//Neu Button aktivieren
document.getElementById('lfvt_toolbar_neu').disabled=false;
document.getElementById('lfvt_toolbar_del').disabled=true;
//Lehreinheitmitarbeiter tree deaktivieren
document.getElementById('lfvt_detail_tree_lehreinheitmitarbeiter').datasources='';
document.getElementById('lfvt_detail_tree_lehreinheitgruppe').datasources='';
document.getElementById('lfvt_lehreinheitmitarbeiter_button_add').disabled=true;
document.getElementById('lfvt_lehreinheitmitarbeiter_button_del').disabled=true;
lfvtDetailDisableFields(true);
//Details zuruecksetzen
lfvtDetailReset();
@@ -289,8 +345,6 @@ function lvaAuswahl()
lfvtDetailDisableFields(false);
document.getElementById('lfvt_toolbar_neu').disabled=true;
document.getElementById('lfvt_toolbar_del').disabled=false;
document.getElementById('lfvt_lehreinheitmitarbeiter_button_add').disabled=false;
document.getElementById('lfvt_lehreinheitmitarbeiter_button_del').disabled=false;
}
var col = tree.columns ? tree.columns["lva_lehrveranstaltung_id"] : "lva_lehrveranstaltung_id";
@@ -304,9 +358,6 @@ function lvaAuswahl()
alert(e);
return false;
}
// Trick 17 (sonst gibt's ein Permission denied)
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var req = new phpRequest('../rdf/lehreinheit.rdf.php','','');
req.add('lehreinheit_id',lehreinheit_id);
@@ -393,106 +444,59 @@ function lvaAuswahl()
document.getElementById('lfvt_detail_textbox_lehreinheit_id').value=lehreinheit_id;
//Lehreinheitmitarbeiter tree setzen
url='../rdf/lehreinheitmitarbeiter.rdf.php?lehreinheit_id='+lehreinheit_id+"&"+gettimestamp();
document.getElementById('lfvt_detail_tree_lehreinheitmitarbeiter').setAttribute('datasources',url);
url='<?php echo APP_ROOT;?>rdf/lehreinheitmitarbeiter.rdf.php?lehreinheit_id='+lehreinheit_id+"&"+gettimestamp();
try
{
lektortree = document.getElementById('lfvt_detail_tree_lehreinheitmitarbeiter');
//Alte DS entfernen
var oldDatasources = lektortree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
lektortree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
lektortree.builder.refresh();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
lfvt_detail_lektor_datasource = rdfService.GetDataSource(url);
lfvt_detail_lektor_datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
lfvt_detail_lektor_datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
lektortree.database.AddDataSource(lfvt_detail_lektor_datasource);
}
catch(e)
{
debug(e);
}
//Lehreinheitgruppe tree setzen
url='../rdf/lehreinheitgruppe.rdf.php?lehreinheit_id='+lehreinheit_id+"&"+gettimestamp();
document.getElementById('lfvt_detail_tree_lehreinheitgruppe').setAttribute('datasources',url);
url='<?php echo APP_ROOT; ?>rdf/lehreinheitgruppe.rdf.php?lehreinheit_id='+lehreinheit_id+"&"+gettimestamp();
try
{
gruppentree = document.getElementById('lfvt_detail_tree_lehreinheitgruppe');
//Alte DS entfernen
var oldDatasources = gruppentree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
gruppentree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
gruppentree.builder.refresh();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
lfvt_detail_gruppe_datasource = rdfService.GetDataSource(url);
lfvt_detail_gruppe_datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
lfvt_detail_gruppe_datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
gruppentree.database.AddDataSource(lfvt_detail_gruppe_datasource);
}
catch(e)
{
debug(e);
}
}
/**
* Daten aus Formular holen und evt. speichern
Lehrveranstaltung.prototype.updateData = function() {
if (document.getElementById('gridStudentenUID').value!=this.uid) {
this.uid = document.getElementById('gridStudentenUID').value;
this.dataChanged = true;
};
if (document.getElementById('gridStudentenTitel').value!=this.titel) {
this.titel = document.getElementById('gridStudentenTitel').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenVornamen').value!=this.vornamen) {
this.vornamen = document.getElementById('gridStudentenVornamen').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenNachname').value!=this.nachname) {
this.nachname = document.getElementById('gridStudentenNachname').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenMatrikelnummer').value!=this.matrikelnummer) {
this.matrikelnummer = document.getElementById('gridStudentenMatrikelnummer').value;
this.dataChanged = true;
}
//alert(document.getElementById('gridStudentenMatrikelnummer').value);
if (document.getElementById('gridStudentenGeburtsdatum').value!=this.geburtsdatum) {
// todo validation
this.geburtsdatum = document.getElementById('gridStudentenGeburtsdatum').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenGeburtsort').value!=this.geburtsort) {
this.geburtsort = document.getElementById('gridStudentenGeburtsort').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenGeburtszeit').value!=this.geburtszeit) {
// todo validation
this.geburtszeit = document.getElementById('gridStudentenGeburtszeit').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenHomepage').value!=this.homepage) {
this.homepage = document.getElementById('gridStudentenHomepage').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenEmail').value!=this.email) {
this.email = document.getElementById('gridStudentenEmail').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenSemester').value!=this.semester) {
this.semester = document.getElementById('gridStudentenSemester').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenVerband').value!=this.verband) {
this.verband = document.getElementById('gridStudentenVerband').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenGruppe').value!=this.gruppe) {
this.gruppe = document.getElementById('gridStudentenGruppe').value;
this.dataChanged = true;
}
if (document.getElementById('gridLehrform').value!=this.lehrform) {
this.lehrform = document.getElementById('gridLehrform').value;
this.dataChanged = true;
}
if (!((document.getElementById('gridStudentenAktiv').checked && this.aktiv=='True') ||
(!document.getElementById('gridStudentenAktiv').checked && this.aktiv=='False'))) {
this.aktiv = document.getElementById('gridStudentenAktiv').checked?'True':'False';
this.dataChanged = true;
}
alert(this.dataChanged?'dataChanged':'nix changed');
} */
/**
* Student anzeigen
Lehrveranstaltung.prototype.show = function() {
document.getElementById('gridStudentenUID').value = this.uid;
document.getElementById('gridStudentenTitel').value = this.titel;
document.getElementById('gridStudentenVornamen').value = this.vornamen;
document.getElementById('gridStudentenNachname').value = this.nachname;
document.getElementById('gridStudentenMatrikelnummer').value = this.matrikelnummer;
document.getElementById('gridStudentenGeburtsdatum').value = this.geburtsdatum;
document.getElementById('gridStudentenGeburtsort').value = this.geburtsort;
document.getElementById('gridStudentenGeburtszeit').value = this.geburtszeit;
document.getElementById('gridStudentenHomepage').value = this.homepage;
document.getElementById('gridStudentenEmail').value = this.email;
document.getElementById('gridStudentenSemester').value = this.semester;
document.getElementById('gridStudentenVerband').value = this.verband;
document.getElementById('gridStudentenGruppe').value = this.gruppe;
document.getElementById('gridStudentenStgBezeichnung').value = this.stg_bezeichnung;
document.getElementById('gridStudentenAktiv').checked = (this.aktiv=='True'?true:false);
} */
//******** LehreinheitMitarbeiter **********//
// ****
@@ -501,6 +505,7 @@ Lehrveranstaltung.prototype.show = function() {
// ****
function lfvt_LehreinheitMitarbeiterSave()
{
//Daten holen
lehrfunktion = document.getElementById('lfvt_lehreinheitmitarbeiter_menulist_lehrfunktion_kurzbz').value;
lektor = document.getElementById('lfvt_lehreinheitmitarbeiter_menulist_lektor').value;
semesterstunden = document.getElementById('lfvt_lehreinheitmitarbeiter_textbox_semesterstunden').value;
@@ -509,26 +514,19 @@ function lfvt_LehreinheitMitarbeiterSave()
faktor = document.getElementById('lfvt_lehreinheitmitarbeiter_textbox_faktor').value;
anmerkung = document.getElementById('lfvt_lehreinheitmitarbeiter_textbox_anmerkung').value;
bismelden = document.getElementById('lfvt_lehreinheitmitarbeiter_checkbox_bismelden').checked;
lehreinheit_id = document.getElementById('lfvt_lehreinheitmitarbeiter_textbox_lehreinheit_id').value;
neu = document.getElementById('lfvt_lehreinheitmitarbeiter_checkbox_new').checked;
//Request absetzen
var req = new phpRequest('lfvtCUD.php','','');
neu = document.getElementById('lfvt_detail_checkbox_new').checked;
req.add('type','lehreinheit_mitarbeiter_add');
if (neu)
{
req.add('do','create');
}
else
{
req.add('do','update');
lehreinheit_id = document.getElementById('lfvt_detail_textbox_lehreinheit_id').value;
req.add('lehreinheit_id',lehreinheit_id);
}
req.add('do','update');
lehreinheit_id = document.getElementById('lfvt_lehreinheitmitarbeiter_textbox_lehreinheit_id').value;
mitarbeiter_uid = document.getElementById('lfvt_lehreinheitmitarbeiter_textbox_mitarbeiter_uid').value;
req.add('lehreinheit_id',lehreinheit_id);
req.add('lehrfunktion_kurzbz', lehrfunktion);
req.add('mitarbeiter_uid', lektor);
req.add('mitarbeiter_uid_old', mitarbeiter_uid);
req.add('semesterstunden', semesterstunden);
req.add('planstunden', planstunden);
req.add('stundensatz', stundensatz);
@@ -544,26 +542,58 @@ function lfvt_LehreinheitMitarbeiterSave()
}
else
{
document.getElementById('lfvt_lehreinheitmitarbeiter_checkbox_new').checked=false;
alert('Daten wurden gespeichert');
lfvt_lektor_treerefresh()
}
}
// ****
// * Legt eine neue Zuordnung von Lektor zu
// * einer Lehreinheit an.
// ****
function lfvt_LehreinheitMitarbeiterAdd()
{
alert('geht noch nicht');
}
// ****
// * Loescht die Zuteilung eines Lektoren zu einer Lehreinheit
// ****
function lfvt_LehreinheitMitarbeiterDel()
{
alert('geht noch nicht');
tree = document.getElementById('lfvt_detail_tree_lehreinheitmitarbeiter');
//Nachsehen ob Mitarbeiter markiert wurde
var idx;
if(tree.currentIndex>=0)
idx = tree.currentIndex;
else
{
alert('Bitte zuerst einen Mitarbeiter markieren');
return false;
}
try
{
//UID holen
var col = tree.columns ? tree.columns["lfvt_detail_tree_lehreinheitmitarbeiter-col-mitarbeiter_uid"] : "lfvt_detail_tree_lehreinheitmitarbeiter-col-mitarbeiter_uid";
var uid=tree.view.getCellText(idx,col);
//Lehreinheit_id holen
var col = tree.columns ? tree.columns["lfvt_detail_tree_lehreinheitmitarbeiter-col-lehreinheit_id"] : "lfvt_detail_tree_lehreinheitmitarbeiter-col-lehreinheit_id";
var lehreinheit_id=tree.view.getCellText(idx,col);
}
catch(e)
{
alert(e);
return false;
}
var req = new phpRequest('lfvtCUD.php','','');
req.add('type', 'lehreinheit_mitarbeiter_del');
req.add('lehreinheit_id', lehreinheit_id);
req.add('mitarbeiter_uid', uid);
var response = req.executePOST();
if (response!='ok')
{
alert(response);
}
else
{
//refresh des Trees
lfvt_lektor_treerefresh();
}
}
// ****
@@ -584,8 +614,8 @@ function lfvt_LehreinheitMitarbeiterValueChanged()
function lfvt_LehreinheitMitarbeiterDisableFields(val)
{
//Felder Leeren
document.getElementById('lfvt_lehreinheitmitarbeiter_menulist_lehrfunktion_kurzbz').value='';
document.getElementById('lfvt_lehreinheitmitarbeiter_menulist_lektor').value='';
document.getElementById('lfvt_lehreinheitmitarbeiter_menulist_lehrfunktion_kurzbz').value='lektor';
//document.getElementById('lfvt_lehreinheitmitarbeiter_menulist_lektor').value='';
document.getElementById('lfvt_lehreinheitmitarbeiter_textbox_semesterstunden').value='';
document.getElementById('lfvt_lehreinheitmitarbeiter_textbox_planstunden').value='';
document.getElementById('lfvt_lehreinheitmitarbeiter_textbox_stundensatz').value='';
@@ -635,7 +665,7 @@ function lfvt_LehreinheitMitarbeiterAuswahl()
}
// Url zum RDF
var url="<?php echo APP_ROOT; ?>rdf/lehreinheitmitarbeiter.rdf.php";
var url="<?php echo APP_ROOT; ?>rdf/lehreinheitmitarbeiter.rdf.php?"+gettimestamp();
//RDF laden
var req = new phpRequest(url,'','');
@@ -677,28 +707,35 @@ function lfvt_LehreinheitMitarbeiterAuswahl()
document.getElementById('lfvt_lehreinheitmitarbeiter_textbox_stundensatz').value=stundensatz;
document.getElementById('lfvt_lehreinheitmitarbeiter_textbox_faktor').value=faktor;
document.getElementById('lfvt_lehreinheitmitarbeiter_textbox_anmerkung').value=anmerkung;
document.getElementById('lfvt_lehreinheitmitarbeiter_textbox_lehreinheit_id').value=lehreinheit_id;
document.getElementById('lfvt_lehreinheitmitarbeiter_textbox_mitarbeiter_uid').value=mitarbeiter_uid;
if(bismelden='Ja')
document.getElementById('lfvt_lehreinheitmitarbeiter_checkbox_bismelden').checked=true;
else
document.getElementById('lfvt_lehreinheitmitarbeiter_checkbox_bismelden').checked=false;
}
// ************* GRUPPEN ******************** //
// ****
// * Refresht den Lehreinheitmitarbeiter Tree
// ****
function lfvt_lektor_treerefresh()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
try
{
lfvt_detail_lektor_datasource.Refresh(true); //Blocking
lektortree = document.getElementById('lfvt_detail_tree_lehreinheitmitarbeiter');
lektortree.builder.rebuild();
}
catch(e)
{
debug(e);
}
}
// ****
// * Observer fuer GruppenTree (testing)
// ****
var lfvt_detail_gruppe_observer = {
onBeginLoad: function(aSink) { },
onInterrupt: function(aSink) { },
onResume: function(aSink) { },
onEndLoad: function(aSink) {
tree = document.getElementById('lfvt_detail_tree_lehreinheitgruppe');
tree.builder.rebuild();
},
onError: function(aSink, aStatus, aErrorMsg) { }
};
// ************* GRUPPEN ******************** //
// ****
// * Loescht die Zuordnung einer Gruppe zu einer
// * Lehreinheit
@@ -743,147 +780,24 @@ function lfvt_LehreinheitGruppeDel()
else
{
//refresh des Trees
lfvt_detail_gruppe_treerefresh();
}
}
// ****
// * Fuegt eine Gruppe zu einer
// * Lehreinheit hinzu
// * Gruppen Tree Refreshen
// ****
function lfvt_LehreinheitGruppeAdd()
function lfvt_detail_gruppe_treerefresh()
{
}
/**
* (Wenn gedroppt wird)
* Speichert die Zuteilung einer Gruppe zu einer Lehreinheit
*/
function lfvt_detail_gruppe_dragdrop(event)
{
event.stopPropagation();
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")
try {
dragservice_ds = Components.classes["@mozilla.org/widget/dragservice;1"].getService(Components.interfaces.nsIDragService);
}
catch (e)
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
try
{
debug('treeDragDrop: e');
lfvt_detail_gruppe_datasource.Refresh(true); //Blocking
gruppentree = document.getElementById('lfvt_detail_tree_lehreinheitgruppe');
gruppentree.builder.rebuild();
}
var ds = dragservice_ds;
var ses = ds.getCurrentSession()
var sourceNode = ses.sourceNode
var lehreinheit_id = document.getElementById('lfvt_detail_textbox_lehreinheit_id').value;
var row = { }
var col = { }
var child = { }
if(lehreinheit_id=='')
return false;
//Quelle holen (Gruppe)
var flavourset = new FlavourSet();
flavourset.appendFlavour("gruppe");
var transferData = nsTransferable.get(flavourset, getDragData, true);
quell_gruppe=transferData.first.first.data;
var arr = quell_gruppe.split("&");
var stg_kz = arr[0];
var sem = arr[1];
var ver = arr[2];
var grp = arr[3];
var gruppe = arr[4];
//alert("stg: "+stg_kz+" sem: "+sem+" ver: "+ver+" grp: "+grp+" gruppe: "+gruppe+" TO Lehreinheit:"+lehreinheit_id);
var req = new phpRequest('lfvtCUD.php','','');
neu = document.getElementById('lfvt_detail_checkbox_new').checked;
req.add('type','lehreinheit_gruppe_add');
req.add('lehreinheit_id', lehreinheit_id);
req.add('studiengang_kz', stg_kz);
req.add('semester', sem);
req.add('verband', ver);
req.add('gruppe', grp);
req.add('gruppe_kurzbz', gruppe);
var response = req.executePOST();
if (response!='ok')
{
alert(response);
}
else
{
//GruppenTree Refreshen
tree = document.getElementById('lfvt_detail_tree_lehreinheitgruppe');
tree.builder.addListener(lfvt_detail_gruppe_observer);
tree.builder.refresh();
}
}
var dragservice_ds;
/**
* Holt die Daten aus der DragSession
*/
function getDragData(aFlavourSet)
{
var ds = dragservice_ds;
var ses = ds.getCurrentSession()
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var supportsArray = Components.classes["@mozilla.org/supports-array;1"]
.createInstance(Components.interfaces.nsISupportsArray);
for (var i = 0; i < ses.numDropItems; ++i)
catch(e)
{
var trans = nsTransferable.createTransferable();
for (var j = 0; j < aFlavourSet.flavours.length; ++j)
trans.addDataFlavor(aFlavourSet.flavours[j].contentType);
ses.getData(trans, i);
supportsArray.AppendElement(trans);
debug(e);
}
return supportsArray;
}
/**
* Drag ueber den Tree
*/
function lfvt_detail_gruppe_dragover( event )
{
var validFlavor = false;
var dragSession = null;
var targetNode = event.target
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var dragService = Components.classes["@mozilla.org/widget/dragservice;1"].
getService().QueryInterface(Components.interfaces.nsIDragService);
if( dragService )
{
dragSession = dragService.getCurrentSession();
if( dragSession )
{
if( dragSession.isDataFlavorSupported("gruppe") )
validFlavor = true;
else if ( dragSession.isDataFlavorSupported("gruppe") )
validFlavor = true;
if ( validFlavor )
{
//Style action
//targetNode.style.backgroundColor = "red";
//targetNode.style.color = "red";
//event.originalTarget.style.color = "red";
dragSession.canDrop = true;
event.stopPropagation();
}
}
}
}
+165 -144
View File
@@ -1,4 +1,25 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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 <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
@@ -15,157 +36,157 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lfvtdetailoverlay.xul.php"?>';
<overlay id="LFVTOverlay"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/phpRequest.js.php" />
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/lfvtoverlay.js.php" />
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/functions.js.php" />
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/phpRequest.js.php" />
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/lfvtoverlay.js.php" />
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/functions.js.php" />
<!-- ************************ -->
<!-- * Lehrfachverteilung * -->
<!-- ************************ -->
<vbox id="lfvtEditor" flex="1">
<toolbox>
<toolbar id="nav-toolbar">
<toolbarbutton id="lfvt_toolbar_neu" label="Neue Lehreinheit" oncommand="lvaNeu();" disabled="true"/>
<!--<toolbarbutton label="Neue LVA-Partizipierung" oncommand="lvaNeuPart();"/>-->
<toolbarbutton id="lfvt_toolbar_del" label="Löschen" oncommand="lvaDelete();" disabled="true"/>
</toolbar>
</toolbox>
<!-- ************************ -->
<!-- * Lehrfachverteilung * -->
<!-- ************************ -->
<vbox id="lfvtEditor" flex="1">
<toolbox>
<toolbar id="nav-toolbar">
<toolbarbutton id="lfvt_toolbar_neu" label="Neue Lehreinheit" oncommand="lvaNeu();" disabled="true"/>
<!--<toolbarbutton label="Neue LVA-Partizipierung" oncommand="lvaNeuPart();"/>-->
<toolbarbutton id="lfvt_toolbar_del" label="Löschen" oncommand="lvaDelete();" disabled="true"/>
<toolbarbutton id="lfvt_toolbar_refresh" label="Neu laden" oncommand="lfvt_tree_refresh()" disabled="false"/>
</toolbar>
</toolbox>
<!-- ************* -->
<!-- * Auswahl * -->
<!-- ************* -->
<!-- Bem.: style="visibility:collapse" versteckt eine Spalte -->
<tree id="treeLFVT" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/lehrveranstaltung_einheiten/liste"
style="margin:0px;"
onselect="lvaAuswahl(this);"
<!-- ************* -->
<!-- * Auswahl * -->
<!-- ************* -->
<!-- Bem.: style="visibility:collapse" versteckt eine Spalte -->
<tree id="treeLFVT" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/lehrveranstaltung_einheiten/liste"
style="margin:0px;"
onselect="lvaAuswahl(this);"
>
<treecols>
<treecol id="lva_kurzbz" label="Kurzbz" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#kurzbz"/>
<splitter class="tree-splitter"/>
<treecol id="lva_lehrveranstaltung_id" label="Lehrveranstaltung_id" flex="2" hidden="true"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehrveranstaltung_id" />
<splitter class="tree-splitter"/>
<treecol id="lva_bezeichnung" label="Bezeichnung" flex="5" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#bezeichnung"/>
<splitter class="tree-splitter"/>
<treecol id="lva_sprache" label="Sprache" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#sprache" />
<splitter class="tree-splitter"/>
<treecol id="lva_ects" label="ECTS" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#ects" />
<splitter class="tree-splitter"/>
<treecol id="lva_semesterstunden" label="Semesterstunden" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#semesterstunden"/>
<splitter class="tree-splitter"/>
<treecol id="lva_lehre" label="Lehre" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehre"/>
<splitter class="tree-splitter"/>
<treecol id="lva_lehrform" label="Lehrform" flex="5" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehrform_kurzbz"/>
<splitter class="tree-splitter"/>
<treecol id="lva_stundenblockung" label="Blockung" flex="5" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#stundenblockung"/>
<splitter class="tree-splitter"/>
<treecol id="lva_wochenrythmus" label="WR" flex="5" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#wochenrythmus"/>
<splitter class="tree-splitter"/>
<treecol id="lva_startkw" label="StartKW" flex="5" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#startkw"/>
<splitter class="tree-splitter"/>
<treecol id="lva_raumtyp" label="Raumtyp" flex="5" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#raumtyp"/>
<splitter class="tree-splitter"/>
<treecol id="lva_raumtypalternativ" label="RaumtypAlt" flex="5" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#raumtypalternativ"/>
<splitter class="tree-splitter"/>
<treecol id="lva_gruppen" label="Gruppen" flex="5" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#gruppen"/>
<splitter class="tree-splitter"/>
<treecol id="lva_lektoren" label="Lektoren" flex="5" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lektoren"/>
<splitter class="tree-splitter"/>
<treecol id="lva_lehreinheit_id" label="Lehreinheit_id" flex="10" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehreinheit_id"/>
<splitter class="tree-splitter"/>
<treecol id="lva_anmerkung" label="Anmerkung" flex="5" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#anmerkung"/>
<splitter class="tree-splitter"/>
</treecols>
>
<treecols>
<treecol id="lva_kurzbz" label="Kurzbz" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#kurzbz"/>
<splitter class="tree-splitter"/>
<treecol id="lva_lehrveranstaltung_id" label="Lehrveranstaltung_id" flex="2" hidden="true"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehrveranstaltung_id" />
<splitter class="tree-splitter"/>
<treecol id="lva_bezeichnung" label="Bezeichnung" flex="5" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#bezeichnung"/>
<splitter class="tree-splitter"/>
<treecol id="lva_sprache" label="Sprache" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#sprache" />
<splitter class="tree-splitter"/>
<treecol id="lva_ects" label="ECTS" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#ects" />
<splitter class="tree-splitter"/>
<treecol id="lva_semesterstunden" label="Semesterstunden" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#semesterstunden"/>
<splitter class="tree-splitter"/>
<treecol id="lva_lehre" label="Lehre" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehre"/>
<splitter class="tree-splitter"/>
<treecol id="lva_lehrform" label="Lehrform" flex="5" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehrform_kurzbz"/>
<splitter class="tree-splitter"/>
<treecol id="lva_stundenblockung" label="Blockung" flex="5" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#stundenblockung"/>
<splitter class="tree-splitter"/>
<treecol id="lva_wochenrythmus" label="WR" flex="5" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#wochenrythmus"/>
<splitter class="tree-splitter"/>
<treecol id="lva_startkw" label="StartKW" flex="5" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#startkw"/>
<splitter class="tree-splitter"/>
<treecol id="lva_raumtyp" label="Raumtyp" flex="5" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#raumtyp"/>
<splitter class="tree-splitter"/>
<treecol id="lva_raumtypalternativ" label="RaumtypAlt" flex="5" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#raumtypalternativ"/>
<splitter class="tree-splitter"/>
<treecol id="lva_gruppen" label="Gruppen" flex="5" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#gruppen"/>
<splitter class="tree-splitter"/>
<treecol id="lva_lektoren" label="Lektoren" flex="5" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lektoren"/>
<splitter class="tree-splitter"/>
<treecol id="lva_lehreinheit_id" label="Lehreinheit_id" flex="10" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehreinheit_id"/>
<splitter class="tree-splitter"/>
<treecol id="lva_anmerkung" label="Anmerkung" flex="5" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#anmerkung"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<treechildren flex="1" >
<treeitem uri="rdf:*">
<treerow dbID="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehrveranstaltung_id">
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehrveranstaltung_id" />
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#sprache"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#ects"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#semesterstunden"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehre"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehrform_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#stundenblockung"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#wochenrythmus"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#startkw"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#raumtyp"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#raumtypalternativ"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#gruppen"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lektoren"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehreinheit_id"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#anmerkung"/>
</treerow>
</treeitem>
</treechildren>
</template>
</tree>
<template>
<treechildren flex="1" >
<treeitem uri="rdf:*">
<treerow dbID="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehrveranstaltung_id">
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehrveranstaltung_id" />
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#sprache"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#ects"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#semesterstunden"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehre"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehrform_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#stundenblockung"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#wochenrythmus"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#startkw"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#raumtyp"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#raumtypalternativ"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#gruppen"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lektoren"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehreinheit_id"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#anmerkung"/>
</treerow>
</treeitem>
</treechildren>
</template>
</tree>
<splitter collapse="after" persist="state">
<grippy />
</splitter>
<splitter collapse="after" persist="state">
<grippy />
</splitter>
<!-- ************ -->
<!-- * Detail * -->
<!-- ************ -->
<vbox flex="1" style="overflow:auto;margin:0px;">
<tabbox id="lfvt_detail_tabbox" flex="3" orient="vertical">
<tabs orient="horizontal">
<tab id="lfvt_detail_tab_detail" label="Details" />
<tab id="lfvt_detail_tab_lektor" label="Lektorenzuteilung" />
</tabs>
<tabpanels id="lfvt_detail_tabpanels-main" flex="1">
<vbox id="lfvt-detail" />
<vbox id="lfvt-lektorzuteilung" />
</tabpanels>
</tabbox>
</vbox>
</vbox>
<!-- ************ -->
<!-- * Detail * -->
<!-- ************ -->
<vbox flex="1" style="overflow:auto;margin:0px;">
<tabbox id="lfvt_detail_tabbox" flex="3" orient="vertical">
<tabs orient="horizontal">
<tab id="lfvt_detail_tab_detail" label="Details" />
<tab id="lfvt_detail_tab_lektor" label="Lektorenzuteilung" />
</tabs>
<tabpanels id="lfvt_detail_tabpanels-main" flex="1">
<vbox id="lfvt-detail" />
<vbox id="lfvt-lektorzuteilung" />
</tabpanels>
</tabbox>
</vbox>
</vbox>
</overlay>
+31 -1
View File
@@ -3,6 +3,7 @@ include('../vilesci/config.inc.php');
?>
var currentAuswahl=new auswahlValues();
var lfvt_tree_datasource;
function auswahlValues()
{
@@ -74,7 +75,7 @@ function onVerbandSelect()
// LFVT
var req = new phpRequest('../rdf/lehrveranstaltung_einheiten.rdf.php','pam','pam');
/* var req = new phpRequest('../rdf/lehrveranstaltung_einheiten.rdf.php','','');
req.add('stg_kz',stg_kz);
req.add('sem',sem);
req.add('ver',ver);
@@ -109,7 +110,35 @@ function onVerbandSelect()
// neue Datenquelle setzen
treeLFVT.database.AddDataSource(dsource);
treeLFVT.builder.rebuild();
*/
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
try
{
url = '<?php echo APP_ROOT; ?>rdf/lehrveranstaltung_einheiten.rdf.php?stg_kz='+stg_kz+'&sem='+sem+'&ver='+ver+'&grp='+grp+'&gruppe='+gruppe;
var treeLFVT=document.getElementById('treeLFVT');
//Alte DS entfernen
var oldDatasources = treeLFVT.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
treeLFVT.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
//treeLFVT.builder.refresh();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
lfvt_tree_datasource = rdfService.GetDataSource(url);
lfvt_tree_datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
lfvt_tree_datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
treeLFVT.database.AddDataSource(lfvt_tree_datasource);
lfvt_tree_datasource.addXMLSinkObserver(lfvt_tree_observer);
}
catch(e)
{
debug(e);
}
//treeLFVT.setAttribute('datasources','lfvt.rdf.php?'+"stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe);
//alert('lfvt.rdf.php?'+"stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe);
@@ -132,6 +161,7 @@ function onOrtSelect()
function onLektorSelect()
{
var contentFrame=document.getElementById('iframeTimeTableWeek');
var treeLektor=document.getElementById('tree-lektor');
var uid=treeLektor.view.getCellText(treeLektor.currentIndex,"uid");
+4 -2
View File
@@ -23,12 +23,12 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/stpl-semester-overlay.xul.php"?>';
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/tempusoverlay.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/dragboard.js"/>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/dragboard.js.php"/>
<tree id="tree-verband" onselect="onVerbandSelect();"
seltype="single" hidecolumnpicker="false" flex="1"
enableColumnDrag="true"
ondraggesture="treeVerbandDragGesture(event);"
ondraggesture="nsDragAndDrop.startDrag(event,grpObserver);"
datasources="../rdf/lehrverbandsgruppe.rdf.php" ref="http://www.technikum-wien.at/lehrverbandsgruppe/alle-verbaende"
>
<treecols>
@@ -100,6 +100,8 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/stpl-semester-overlay.xul.php"?>';
<tree id="tree-lektor" onselect="onLektorSelect();"
seltype="single" hidecolumnpicker="false" flex="1"
enableColumnDrag="true"
ondraggesture="nsDragAndDrop.startDrag(event,tree_lektor_drag_Observer);"
datasources="../rdf/mitarbeiter.rdf.php" ref="http://www.technikum-wien.at/mitarbeiter/alle">
<treecols>
<treecol id="kurzbz" label="Kuerzel" flex="2" primary="true" />
+77 -2
View File
@@ -30,6 +30,7 @@ class lehreinheitmitarbeiter
//Tabellenspalten
var $lehreinheit_id; // integer
var $mitarbeiter_uid; // varchar(16)
var $mitarbeiter_uid_old; // verwendet bei Update der UID
var $semesterstunden; // smalint
var $planstunden; // smalint
var $stundensatz; // numeric(6,2)
@@ -71,7 +72,44 @@ class lehreinheitmitarbeiter
// *********************************************************
function load($lehreinheit_id, $mitarbeiter_uid=null)
{
return false;
if(!is_numeric($lehreinheit_id))
{
$this->errormsg = 'Lehreinheit_id ist ungueltig';
return false;
}
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'";
if($result = pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
{
$this->lehreinheit_id = $row->lehreinheit_id;
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
$this->lehrfunktion_kurzbz = $row->lehrfunktion_kurzbz;
$this->semesterstunden = $row->semesterstunden;
$this->planstunden = $row->planstunden;
$this->stundensatz = $row->stundensatz;
$this->faktor = $row->faktor;
$this->anmerkung = $row->anmerkung;
$this->bismelden = $row->bismelden;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
return true;
}
else
{
$this->errormsg = 'Fehler beim laden der Daten';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim laden der Daten';
return false;
}
}
// *********************************************************
@@ -104,6 +142,7 @@ class lehreinheitmitarbeiter
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$this->lehreinheitmitarbeiter[] = $obj;
}
@@ -166,6 +205,9 @@ class lehreinheitmitarbeiter
}
else
{
if($this->mitarbeiter_uid_old=='')
$this->mitarbeiter_uid_old = $this->mitarbeiter_uid;
$qry = 'UPDATE lehre.tbl_lehreinheitmitarbeiter SET'.
' semesterstunden='.$this->addslashes($this->semesterstunden).','.
' planstunden='.$this->addslashes($this->planstunden).','.
@@ -173,9 +215,10 @@ class lehreinheitmitarbeiter
' faktor='.$this->addslashes($this->faktor).','.
' anmerkung='.$this->addslashes($this->anmerkung).','.
' lehrfunktion_kurzbz='.$this->addslashes($this->lehrfunktion_kurzbz).','.
' mitarbeiter_uid='.$this->addslashes($this->mitarbeiter_uid).','.
' ext_id = '.$this->addslashes($this->ext_id).
" WHERE lehreinheit_id=".$this->addslashes($this->lehreinheit_id)." AND
mitarbeiter_uid=".$this->addslashes($this->mitarbeiter_uid).";";
mitarbeiter_uid=".$this->addslashes($this->mitarbeiter_uid_old).";";
}
if(pg_query($this->conn,$qry))
@@ -190,6 +233,13 @@ class lehreinheitmitarbeiter
}
}
// *******************************************************
// * Prueft ob die Kombination Lehreinheit-Mitarbeiter
// * bereits existiert
// * @param $lehreinheit_id
// * $uid
// * @return true wenn die zuteilung existiert sonst false
// *******************************************************
function exists($lehreinheit_id, $uid)
{
if(!is_numeric($lehreinheit_id))
@@ -212,5 +262,30 @@ class lehreinheitmitarbeiter
return false;
}
}
// *******************************************
// * Loescht die Zuteilung eines Mitarbeiters
// * zu einer Lehreinheit
// * @param $lehreinheit_id
// * $mitarbeiter_uid
// * @return true wenn ok, false im fehlerfall
// *******************************************
function delete($lehreinheit_id, $mitarbeiter_uid)
{
if(!is_numeric($lehreinheit_id))
{
$this->errormsg = 'Lehreinheit_id ist ungueltig';
return false;
}
$qry = "DELETE FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Loeschen der Zuteilung';
return false;
}
}
}
?>