- Beim Neu Anlegen einer LE wird das Lehrfach automatisch ausgewaehlt
- Druecken auf Scrollbar beim Verband loest nun kein neues laden aus
- Bei Lektorzuordnung wird nun automatisch der Stundensatz des Lektors eingetragen
This commit is contained in:
Andreas Österreicher
2007-03-22 14:46:45 +00:00
parent 2ce47148ec
commit 43004428d0
7 changed files with 148 additions and 61 deletions
-8
View File
@@ -330,16 +330,8 @@ var LeLektorDDObserver=
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();
+6 -1
View File
@@ -152,13 +152,18 @@ function auswahlValues()
this.lektor_uid=null;
}
function onVerbandSelect()
function onVerbandSelect(evt)
{
var contentFrame=document.getElementById('iframeTimeTableWeek');
var tree=document.getElementById('tree-verband');
//Wenn nichts markiert wurde -> beenden
if(tree.currentIndex==-1)
return;
//Wenn nicht auf eine der Zeilen gedrueckt wurde (zb Scrollbar) -> beenden
if(evt.target.nodeName!='treechildren')
return;
var col;
col = tree.columns ? tree.columns["stg_kz"] : "stg_kz";
var stg_kz=tree.view.getCellText(tree.currentIndex,col);
+1 -1
View File
@@ -25,7 +25,7 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
<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.php"/>
<tree id="tree-verband" onmouseup="onVerbandSelect();"
<tree id="tree-verband" onmouseup="onVerbandSelect(event);"
seltype="single" hidecolumnpicker="false" flex="1"
enableColumnDrag="true"
ondraggesture="nsDragAndDrop.startDrag(event,lvbgrpDDObserver);"
+70 -1
View File
@@ -67,7 +67,7 @@ if(!$rechte->isBerechtigt('admin'))
if(!$error)
{
if(isset($_POST['type']) && $_POST['type']=='lehreinheit_mitarbeiter_add')
if(isset($_POST['type']) && $_POST['type']=='lehreinheit_mitarbeiter_save')
{
//Lehreinheitmitarbeiter Zuteilung
//wenn do=update dann wird aktualisiert
@@ -147,6 +147,75 @@ if(!$error)
}
}
}
if(isset($_POST['type']) && $_POST['type']=='lehreinheit_mitarbeiter_add')
{
//neue Lehreinheitmitarbeiterzuteilung anlegen
if(isset($_POST['lehreinheit_id']) && isset($_POST['mitarbeiter_uid']))
{
$lem = new lehreinheitmitarbeiter($conn, null, null, true);
$lem->lehreinheit_id = $_POST['lehreinheit_id'];
$lem->lehrfunktion_kurzbz = 'lektor';
$lem->mitarbeiter_uid = $_POST['mitarbeiter_uid'];
$lem->semesterstunden = '0';
$lem->planstunden = '0';
$lem->faktor = '1';
$lem->anmerkung = '';
$lem->bismelden = true;
$lem->updateamum = date('Y-m-d H:i:s');
$lem->updatevon = $user;
$lem->insertamum = date('Y-m-d H:i:s');
$lem->insertvon = $user;
$lem->new=true;
$qry = "SELECT stundensatz FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid='".addslashes($_POST['mitarbeiter_uid'])."'";
if($result = pg_query($conn, $qry))
{
if($row = pg_fetch_object($result))
{
if($row->stundensatz!='')
$lem->stundensatz = $row->stundensatz;
else
$lem->stundensatz = '0';
}
else
{
$error=true;
$return=false;
$errormsg='Mitarbeiter '.addslashes($_POST['mitarbeiter_uid']).' wurde nicht gefunden';
}
}
else
{
$error=true;
$return=false;
$errormsg='Fehler bei einer Datenbankabfrage:'.pg_errormessage($conn);
}
if(!$error)
{
if($lem->save())
{
$return = true;
$error = false;
}
else
{
$return = false;
$errormsg = $lem->errormsg;
$error = true;
}
}
}
else
{
$return = false;
$errormsg = 'Fehlerhafte Parameteruebergabe';
}
}
elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit_mitarbeiter_del')
{
//Lehreinheitmitarbeiterzuteilung loeschen
@@ -215,11 +215,11 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/lvplanung/lehrveranstaltung.cs
<treecols>
<treecol id="lehrveranstaltung-lehreinheitgruppe-treecol-bezeichnung" label="Bezeichnung" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#bezeichnung" />
sort="rdf:http://www.technikum-wien.at/lehreinheitgruppe/rdf#bezeichnung" />
<splitter class="tree-splitter"/>
<treecol id="lehrveranstaltung-lehreinheitgruppe-treecol-lehreinheitgruppe_id" label="ID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#lehreinheitgruppe_id" />
sort="rdf:http://www.technikum-wien.at/lehreinheitgruppe/rdf#lehreinheitgruppe_id" />
</treecols>
<template>
<rule>
@@ -262,19 +262,19 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/lvplanung/lehrveranstaltung.cs
<treecols>
<treecol id="lehrveranstaltung-lehreinheitmitarbeiter-treecol-nachname" label="Nachname" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#nachname" onclick="LehreinheitenTreeSort()"/>
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#nachname"/>
<splitter class="tree-splitter"/>
<treecol id="lehrveranstaltung-lehreinheitmitarbeiter-treecol-vorname" label="Vorname" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#vorname" onclick="LehreinheitenTreeSort()"/>
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#vorname"/>
<splitter class="tree-splitter"/>
<treecol id="lehrveranstaltung-lehreinheitmitarbeiter-treecol-mitarbeiter_uid" label="UID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#mitarbeiter_uid" onclick="LehreinheitenTreeSort()"/>
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#mitarbeiter_uid"/>
<splitter class="tree-splitter"/>
<treecol id="lehrveranstaltung-lehreinheitmitarbeiter-treecol-lehreinheit_id" label="LehreinheitID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#lehreinheit_id" onclick="LehreinheitenTreeSort()"/>
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#lehreinheit_id"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
@@ -28,7 +28,10 @@ $conn = pg_pconnect(CONN_STRING);
$user = get_uid();
loadVariables($conn, $user);
?>
// *********** Globale Variablen *****************//
var LeDetailLehrfach_id; //Lehrfach_id die nach dem Laden markiert werden soll
var LeDetailLehrfach_label; //Bezeichnung des Lehrfachs das markiert werden soll
var LeDetailGruppeDatasource; //Datasource fuer Gruppen DropDown
var LeDetailLektorDatasource; //Datasource fuer Lektren DropDown
var LvSelectLehreinheit_id; //Lehreinheit_id die nach dem Rebuild des Trees markiert werden soll
@@ -36,6 +39,7 @@ var leDetailLektorUid; // UID der Lektorzuordnung die nach dem Rebuild markiert
var leDetailLektorLehreinheit_id; // Lehreinheit_id der Lektorzuordnung die nach dem Rebuild markiert werden soll
// ********** Observer und Listener ************* //
// ****
// * Observer fuer LV Tree
// * startet Rebuild nachdem das Refresh
@@ -83,7 +87,53 @@ var LvLektorTreeListener =
}
};
// ****
// * Observer fuer Lehrfachdropdown
// ****
var LeDetailLehrfachSinkObserver =
{
onBeginLoad: function(aSink) { },
onInterrupt: function(aSink) { },
onResume: function(aSink) { },
onEndLoad: function(aSink) {
//Das richtige Lehrfach markieren
if(LeDetailLehrfach_id!='') //Wenn die Lehrfach_id bekannt ist, dann einfach markieren
document.getElementById('lehrveranstaltung-detail-menulist-lehrfach').value=LeDetailLehrfach_id;
else
{
if(LeDetailLehrfach_label!='') //Wenn Name bekannt ist
{
menulist = document.getElementById('lehrveranstaltung-detail-menulist-lehrfach');
//Alle eintraege aus menulist holen
var items = menulist.childNodes[1].childNodes //Anzahl der Zeilen ermitteln
found=false;
for(i in items)
{
//Richtigen eintrag suchen
if(items[i].label==LeDetailLehrfach_label)
{
//Eintrag markieren
menulist.selectedIndex=i;
found=true;
break;
}
}
//Wenn nichts gefunden wurde, wird der erste Eintrag markiert
if(!found)
menulist.selectedIndex=0;
}
}
},
onError: function(aSink, aStatus, aErrorMsg) {
alert('Bei der Datenuebertragung ist ein Fehler Aufgetreten. Bitte Versuchen Sie es erneut.');
}
};
// ***************** KEY Events ************************* //
// ****
// * Wird ausgefuehrt wenn eine Taste gedrueckt wird und der Focus
// * im Lehrveranstaltungs-tree ist
@@ -120,7 +170,8 @@ function LvDetailMitarbeiterTreeKeyPress(event)
LeMitarbeiterDel();
}
// ****************** FUNCTIONS ************************** //
// ****************** FUNKTIONEN ************************** //
// ****
// * Asynchroner (Nicht blockierender) Refresh des LV Trees
// ****
@@ -157,13 +208,12 @@ function LeNeu()
LeDetailReset();
//Detail Tab als aktiv setzen
document.getElementById('lehrveranstaltung-tab-detail').selected=true;
document.getElementById('lehrveranstaltung-tabpanels-main').selectedIndex=0;
document.getElementById('lehrveranstaltung-tabs').selectedItem = document.getElementById('lehrveranstaltung-tab-detail');
//Lektor-Tab und GruppenTree ausblenden
document.getElementById('lehrveranstaltung-detail-tree-lehreinheitgruppe').hidden=true;
document.getElementById('lehrveranstaltung-detail-label-lehreinheitgruppe').hidden=true;
document.getElementById('lehrveranstaltung-tab-lektor').hidden=true;
document.getElementById('lehrveranstaltung-tab-lektor').collapsed=true;
//Lehrveranstaltungs_id holen
var col = tree.columns ? tree.columns["lehrveranstaltung-treecol-lehrveranstaltung_id"] : "lehrveranstaltung-treecol-lehrveranstaltung_id";
@@ -172,8 +222,10 @@ function LeNeu()
//Lehrfach drop down setzen
//ID in globale Variable speichern
LvDetailLehrfach_id='';
LeDetailLehrfach_id='';
var col = tree.columns ? tree.columns["lehrveranstaltung-treecol-bezeichnung"] : "lehrveranstaltung-treecol-bezeichnung";
LeDetailLehrfach_label=tree.view.getCellText(tree.currentIndex,col);
lehrfachmenulist = document.getElementById('lehrveranstaltung-detail-menulist-lehrfach');
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
@@ -322,24 +374,6 @@ function LeDelete()
}
}
// ****
// * Observer fuer lehrfachdropdown
// ****
var LeDetailLehrfachSinkObserver =
{
onBeginLoad: function(aSink) { },
onInterrupt: function(aSink) { },
onResume: function(aSink) { },
onEndLoad: function(aSink) {
//Das richtige Lehrfach markieren
if(LeDetailLehrfach_id!='')
document.getElementById('lehrveranstaltung-detail-menulist-lehrfach').value=LeDetailLehrfach_id;
},
onError: function(aSink, aStatus, aErrorMsg) {
alert('Bei der Datenuebertragung ist ein Fehler Aufgetreten. Bitte Versuchen Sie es erneut.');
}
};
// ****
// * Leert alle Eingabe- und Auswahlfelder
// ****
@@ -497,19 +531,7 @@ function LeAuswahl()
document.getElementById('lehrveranstaltung-detail-tree-lehreinheitgruppe').hidden=false;
document.getElementById('lehrveranstaltung-detail-label-lehreinheitgruppe').hidden=false;
document.getElementById('lehrveranstaltung-tab-lektor').hidden=false;
//Hack damit der DetailTab als erstes angezeigt wird (sonst wird nach aus- und wieder einblenden
//der LektorenTab vor dem DetailTab angezeigt)
document.getElementById('lehrveranstaltung-tab-detail').hidden=true;
document.getElementById('lehrveranstaltung-tab-detail').hidden=false;
//Wenn jemand neu drueckt und dann ohne speichern auf eine Lehreinheit wechselt, dann
//sind beide tabs aktiv. darum wird der lektor-tab auf inaktiv gesetzt
if(document.getElementById('lehrveranstaltung-tab-detail').selected &&
document.getElementById('lehrveranstaltung-tab-lektor').selected)
document.getElementById('lehrveranstaltung-tab-lektor').selected=false;
//endHack
document.getElementById('lehrveranstaltung-tab-lektor').collapsed=false;
if (tree.currentIndex==-1) return;
try
@@ -584,7 +606,7 @@ function LeAuswahl()
//ID in globale Variable speichern
LeDetailLehrfach_id=lehrfach;
lehrfachmenulist = document.getElementById('lehrveranstaltung-detail-menulist-lehrfach');
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
@@ -596,7 +618,7 @@ function LeAuswahl()
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
lehrfachmenulist.builder.refresh();
lehrfachmenulist.builder.rebuild();
//Url zusammenbauen
var url = '<?php echo APP_ROOT;?>rdf/lehrfach.rdf.php?lehrveranstaltung_id='+lehrveranstaltung+'&'+gettimestamp();
@@ -604,11 +626,11 @@ function LeAuswahl()
//RDF holen
var newDs = rdfService.GetDataSource(url);
lehrfachmenulist.database.AddDataSource(newDs);
//SinkObserver hinzufuegen
var sink = newDs.QueryInterface(Components.interfaces.nsIRDFXMLSink);
sink.addXMLSinkObserver(LeDetailLehrfachSinkObserver);
//Daten den Feldern zuweisen
document.getElementById('lehrveranstaltung-detail-textbox-unr').value=unr;
@@ -707,8 +729,7 @@ function LeMitarbeiterSave()
//Request absetzen
var req = new phpRequest('lvplanung/lehrveranstaltungDBDML.php','','');
req.add('type','lehreinheit_mitarbeiter_add');
req.add('do','update');
req.add('type','lehreinheit_mitarbeiter_save');
lehreinheit_id = document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-lehreinheit_id').value;
mitarbeiter_uid = document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-mitarbeiter_uid').value;
req.add('lehreinheit_id',lehreinheit_id);
@@ -173,7 +173,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/lehrveranstaltungdetailo
<!-- ************ -->
<vbox flex="1" style="overflow:auto;margin:0px;" persist="height">
<tabbox id="lehrveranstaltung-tabbox" flex="3" orient="vertical">
<tabs orient="horizontal">
<tabs orient="horizontal" id="lehrveranstaltung-tabs">
<tab id="lehrveranstaltung-tab-detail" label="Details" />
<tab id="lehrveranstaltung-tab-lektor" label="Lektorenzuteilung" />
</tabs>