Filter für Lehrende in FAS und Tempus

This commit is contained in:
Manfred
2022-03-16 16:13:47 +01:00
parent 334460a230
commit a08c8d7a76
5 changed files with 124 additions and 46 deletions
+1 -1
View File
@@ -903,7 +903,7 @@ foreach($addon_obj->result as $addon)
echo '<tree id="tree-verband" />';
//echo '<vbox id="vbox-fachbereich" />';
echo '<vbox id="vbox-organisationseinheit" />';
echo '<tree id="tree-lektor" />';
echo '<vbox id="vbox-lektor" />';
}
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('mitarbeiter'))
{
+56
View File
@@ -741,6 +741,10 @@ function onLektorSelect(event)
var uid=tree.view.getCellText(tree.currentIndex,col);
var stg_idx = tree.view.getParentIndex(tree.currentIndex);
//Wenn der Filter angewendet wurde, gibt es keinen Parent. Daher wird hier der stg_idx auf 0 gesetzt.
if(stg_idx == -1 && uid != '')
stg_idx = 0;
//wenn direkt ein studiengang markiert wurde dann abbrechen
if(stg_idx==-1)
return;
@@ -789,6 +793,58 @@ function onLektorSelect(event)
}
}
// Lektorenliste aktualisieren
function onLektorRefresh()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var treeLektorenTree=document.getElementById('tree-lektor');
// Input-Feld leeren
document.getElementById('fas-lektor-filter').value = '';
var url = '<?php echo APP_ROOT; ?>rdf/mitarbeiter.rdf.php?user=true&'+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('fas-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();
treeLektorenTree.builder.addListener(LektorTreeListener);
}
}
function loadURL(event)
{
var contentFrame = document.getElementById('contentFrame');
+18 -2
View File
@@ -133,7 +133,22 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiteroverlay.xul
</tree>
</vbox>
<tree id="tree-lektor" onmouseup="onLektorSelect(event);"
<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="fas-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);"
@@ -178,7 +193,8 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiteroverlay.xul
</treechildren>
</rule>
</template>
</tree>
</tree>
</vbox>
<tree id="tree-menu-mitarbeiter" onselect="onMitarbeiterSelect();"
seltype="single" hidecolumnpicker="true" flex="1"
+4
View File
@@ -284,6 +284,10 @@ function onLektorSelect(event)
var stg_idx = tree.view.getParentIndex(tree.currentIndex);
var col = tree.columns ? tree.columns["studiengang_kz"] : "studiengang_kz";
//Wenn der Filter angewendet wurde, gibt es keinen Parent. Daher wird hier der stg_idx auf 0 gesetzt.
if(stg_idx == -1 && uid != '')
stg_idx = 0;
if (stg_idx != -1)
var stg_kz=tree.view.getCellText(stg_idx,col);
else
+2
View File
@@ -849,6 +849,8 @@ class mitarbeiter extends benutzer
$obj->titelpost = $row->titelpost;
$obj->kurzbz = $row->kurzbz;
$obj->vornamen = $row->vornamen;
$obj->aktiv =$this->db_parse_bool($row->aktiv);
$obj->fixangestellt = $this->db_parse_bool($row->fixangestellt);
$this->result[] = $obj;
}