mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Merge branch 'TempusLektorFilter'
This commit is contained in:
+16
-16
@@ -103,24 +103,24 @@ var LektorTreeListener =
|
||||
function LektorTreeSelectMitarbeiter()
|
||||
{
|
||||
var tree=document.getElementById('tree-lektor');
|
||||
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
|
||||
if(LektorTreeOpenStudiengang!=null)
|
||||
if (tree.view != null)
|
||||
{
|
||||
for(var i=0;i<items;i++)
|
||||
{
|
||||
//Lehreinheit_id der row holen
|
||||
col = tree.columns ? tree.columns["studiengang_kz"] : "studiengang_kz";
|
||||
var studiengang_kz=tree.view.getCellText(i,col);
|
||||
if(studiengang_kz == LektorTreeOpenStudiengang)
|
||||
{
|
||||
tree.view.toggleOpenState(i);
|
||||
break;
|
||||
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
|
||||
if (LektorTreeOpenStudiengang != null) {
|
||||
for (var i = 0; i < items; i++) {
|
||||
//Lehreinheit_id der row holen
|
||||
col = tree.columns ? tree.columns["studiengang_kz"] : "studiengang_kz";
|
||||
var studiengang_kz = tree.view.getCellText(i, col);
|
||||
if (studiengang_kz == LektorTreeOpenStudiengang) {
|
||||
tree.view.toggleOpenState(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
//nach dem laden der daten wieder ganz oben im tree positionieren da es sonst vorkommt, dass
|
||||
//der scrollbalken unterhalb aller eintraege rutscht und dann nichts mehr im tree sichtbar ist.
|
||||
//(funktioniert anscheinend auch nur mit setTimeout)
|
||||
window.setTimeout("document.getElementById('tree-lektor').treeBoxObject.scrollToRow(0)",10);
|
||||
//nach dem laden der daten wieder ganz oben im tree positionieren da es sonst vorkommt, dass
|
||||
//der scrollbalken unterhalb aller eintraege rutscht und dann nichts mehr im tree sichtbar ist.
|
||||
//(funktioniert anscheinend auch nur mit setTimeout)
|
||||
window.setTimeout("document.getElementById('tree-lektor').treeBoxObject.scrollToRow(0)", 10);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -63,6 +63,59 @@ function onLVAFilter()
|
||||
vboxLehrveranstalungPlanung.setAttribute('datasources',datasources);
|
||||
}
|
||||
|
||||
// LVA-Panel aktualisieren
|
||||
function onLektorRefresh()
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var treeLektorenTree=document.getElementById('tree-lektor');
|
||||
// Input-Feld leeren
|
||||
document.getElementById('tempus-lektor-filter').value = '';
|
||||
//var datasources=vboxLehrveranstalungPlanung.getAttribute('datasources');
|
||||
var url = '<?php echo APP_ROOT; ?>rdf/mitarbeiter.rdf.php?user=user&'+gettimestamp();
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
var datasource = rdfService.GetDataSource(url);
|
||||
var oldDatasources = treeLektorenTree.database.GetDataSources();
|
||||
|
||||
datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
|
||||
treeLektorenTree.database.RemoveDataSource(oldDatasources.getNext());
|
||||
treeLektorenTree.database.AddDataSource(datasource);
|
||||
treeLektorenTree.builder.rebuild();
|
||||
|
||||
}
|
||||
|
||||
// Lektorenliste filtern
|
||||
function onLektorFilter()
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var filter=document.getElementById('tempus-lektor-filter').value;
|
||||
|
||||
var treeLektorenTree=document.getElementById('tree-lektor');
|
||||
|
||||
if(filter.length>2)
|
||||
{
|
||||
var url = '<?php echo APP_ROOT; ?>rdf/mitarbeiter.rdf.php?filter='+encodeURIComponent(filter)+'&'+gettimestamp();
|
||||
var oldDatasources = treeLektorenTree.database.GetDataSources();
|
||||
|
||||
//Refresh damit die entfernten DS auch wirklich entfernt werden
|
||||
treeLektorenTree.builder.rebuild();
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
if(typeof(filter)=='undefined')
|
||||
var datasource = rdfService.GetDataSource(url);
|
||||
else
|
||||
var datasource = rdfService.GetDataSourceBlocking(url);
|
||||
datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
treeLektorenTree.database.RemoveDataSource(oldDatasources.getNext());
|
||||
treeLektorenTree.database.AddDataSource(datasource);
|
||||
if(typeof(filter)!='undefined')
|
||||
treeLektorenTree.builder.rebuild();
|
||||
}
|
||||
}
|
||||
|
||||
// Liefert die Sortierreihenfolge der Lehrstunden
|
||||
function LehrstundeGetSortOrder()
|
||||
{
|
||||
|
||||
@@ -301,7 +301,7 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
|
||||
<tree id="tree-verband" />
|
||||
<tree id="tree-ort" />
|
||||
<vbox id="vbox-fachbereich" />
|
||||
<tree id="tree-lektor" />
|
||||
<vbox id="vbox-lektor" />
|
||||
</tabpanels>
|
||||
</tabbox>
|
||||
<splitter collapse="before" persist="state">
|
||||
|
||||
@@ -282,7 +282,10 @@ function onLektorSelect(event)
|
||||
|
||||
var stg_idx = tree.view.getParentIndex(tree.currentIndex);
|
||||
var col = tree.columns ? tree.columns["studiengang_kz"] : "studiengang_kz";
|
||||
var stg_kz=tree.view.getCellText(stg_idx,col);
|
||||
if (stg_idx != -1)
|
||||
var stg_kz=tree.view.getCellText(stg_idx,col);
|
||||
else
|
||||
var stg_kz = 0;
|
||||
|
||||
document.getElementById('LehrveranstaltungEditor').setAttribute('stg_kz',stg_kz);
|
||||
document.getElementById('LehrveranstaltungEditor').setAttribute('uid',uid);
|
||||
|
||||
@@ -119,52 +119,69 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/stpl-semester-overlay.xu
|
||||
</rule>
|
||||
</template>
|
||||
</tree>
|
||||
<tree id="tree-lektor" onmouseup="onLektorSelect(event);"
|
||||
seltype="multi" hidecolumnpicker="false" flex="1"
|
||||
enableColumnDrag="true"
|
||||
ondraggesture="nsDragAndDrop.startDrag(event,mitarbeiterDDObserver);"
|
||||
ondrop="nsDragAndDrop.drop(event,LektorFunktionDDObserver)"
|
||||
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"
|
||||
context="fasoverlay-lektor-tree-popup"
|
||||
>
|
||||
<treecols>
|
||||
<treecol id="kurzbz" 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="Vorname" flex="2" hidden="true"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<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"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="tree-lektor-fixangestellt" label="Fixangestellt" flex="1" hidden="true"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
<rule>
|
||||
<treechildren>
|
||||
<treeitem uri="rdf:*">
|
||||
<treerow>
|
||||
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#kurzbz"/>
|
||||
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname"/>
|
||||
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname"/>
|
||||
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre"/>
|
||||
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid"/>
|
||||
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#studiengang_kz"/>
|
||||
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#fixangestellt"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
</rule>
|
||||
</template>
|
||||
</tree>
|
||||
<vbox id="vbox-lektor">
|
||||
<hbox>
|
||||
<!-- <spacer flex="1" />-->
|
||||
<toolbox>
|
||||
<toolbar id="toolbarLektorTreeFilter" tbautostretch="always" persist="collapsed">
|
||||
<toolbarbutton id="toolbarbuttonLektorTreeRefresh"
|
||||
image="../skin/images/refresh.png"
|
||||
oncommand="onLektorRefresh();"
|
||||
tooltiptext="Neu laden"
|
||||
/>
|
||||
<textbox id="tempus-lektor-filter" size="30" oninput="onLektorFilter()" flex="1"/>
|
||||
</toolbar>
|
||||
</toolbox>
|
||||
<!-- <spacer flex="1" />-->
|
||||
</hbox>
|
||||
<tree id="tree-lektor" onmouseup="onLektorSelect(event);"
|
||||
seltype="multi" hidecolumnpicker="false" flex="1"
|
||||
enableColumnDrag="true"
|
||||
ondraggesture="nsDragAndDrop.startDrag(event,mitarbeiterDDObserver);"
|
||||
ondrop="nsDragAndDrop.drop(event,LektorFunktionDDObserver)"
|
||||
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"
|
||||
context="fasoverlay-lektor-tree-popup"
|
||||
>
|
||||
<treecols>
|
||||
<treecol id="kurzbz" 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="Vorname" flex="2" hidden="true"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<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"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="tree-lektor-fixangestellt" label="Fixangestellt" flex="1" hidden="true"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
<rule>
|
||||
<treechildren>
|
||||
<treeitem uri="rdf:*">
|
||||
<treerow>
|
||||
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#kurzbz"/>
|
||||
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname"/>
|
||||
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname"/>
|
||||
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre"/>
|
||||
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid"/>
|
||||
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#studiengang_kz"/>
|
||||
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#fixangestellt"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
</rule>
|
||||
</template>
|
||||
</tree>
|
||||
</vbox>
|
||||
|
||||
<vbox id="vbox-main">
|
||||
<popupset>
|
||||
|
||||
@@ -404,7 +404,7 @@ class mitarbeiter extends benutzer
|
||||
*/
|
||||
public function getMitarbeiterStg($lektor=true,$fixangestellt, $stge, $fkt_kurzbz, $order='studiengang_kz, nachname, vorname, kurzbz', $datum_von='', $datum_bis='')
|
||||
{
|
||||
$sql_query='SELECT DISTINCT campus.vw_mitarbeiter.*, studiengang_kz FROM campus.vw_mitarbeiter
|
||||
$sql_query='SELECT DISTINCT campus.vw_mitarbeiter.*, studiengang_kz, tbl_studiengang.typ, tbl_studiengang.kurzbz AS stg_kurzbz FROM campus.vw_mitarbeiter
|
||||
JOIN public.tbl_benutzerfunktion USING (uid) JOIN public.tbl_studiengang USING(oe_kurzbz)
|
||||
WHERE true';
|
||||
if(!is_null($lektor))
|
||||
@@ -833,7 +833,9 @@ class mitarbeiter extends benutzer
|
||||
*/
|
||||
public function getMitarbeiterFilter($filter)
|
||||
{
|
||||
$qry = "SELECT * FROM campus.vw_mitarbeiter WHERE lower(nachname) ~* lower(".$this->db_add_param($filter).") OR uid ~* ".$this->db_add_param($filter).';';
|
||||
$qry = "SELECT * FROM campus.vw_mitarbeiter WHERE lower(nachname) ~* lower(".$this->db_add_param($filter).") OR uid ~* ".$this->db_add_param($filter);
|
||||
$qry .= " ORDER BY nachname, vorname, kurzbz;";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
|
||||
@@ -166,7 +166,7 @@ if($lehrveranstaltung_id==null && $filter==null && $mitarbeiter_uid==null)
|
||||
{
|
||||
$stge=$bb->getStgKz('admin');
|
||||
$stge=array_merge($stge, $bb->getStgKz('assistenz'));
|
||||
$ma=$mitarbeiter->getMitarbeiterStg($lektor,$fixangestellt,$stge, 'lkt');
|
||||
$ma=$mitarbeiter->getMitarbeiterStg($lektor,$fixangestellt,$stge, 'lkt', 'typ, stg_kurzbz, nachname, vorname, vw_mitarbeiter.kurzbz');
|
||||
$laststg=-1;
|
||||
if(count($ma)>0)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user