From 81947b3df2b6842cd2e70e9cb4f987efd8813049 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 26 Jul 2019 13:48:09 +0200 Subject: [PATCH 1/2] Tempus Filter nach LektorIn --- content/lvplanung/stpl-week-overlay.js.php | 55 +++++++++++ content/tempus.xul.php | 2 +- content/tempusoverlay.xul.php | 107 ++++++++++++--------- include/mitarbeiter.class.php | 4 +- 4 files changed, 121 insertions(+), 47 deletions(-) diff --git a/content/lvplanung/stpl-week-overlay.js.php b/content/lvplanung/stpl-week-overlay.js.php index 1d58e41a6..f2e86abb5 100644 --- a/content/lvplanung/stpl-week-overlay.js.php +++ b/content/lvplanung/stpl-week-overlay.js.php @@ -63,6 +63,61 @@ function onLVAFilter() vboxLehrveranstalungPlanung.setAttribute('datasources',datasources); } +// LVA-Panel aktualisieren +function onLektorRefresh() +{ + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + var treeLektorenTree=document.getElementById('tree-lektor'); + //var datasources=vboxLehrveranstalungPlanung.getAttribute('datasources'); + var url = '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.GetDataSources(); + + datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); + datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); + + treeLektorenTree.database.RemoveDataSource(oldDatasources); + treeLektorenTree.database.AddDataSource(datasource); + if(typeof(filter)!='undefined') + treeLektorenTree.builder.rebuild(); + + //vboxLehrveranstalungPlanung.setAttribute('datasources',datasources+"&bla="); + + //datasources="rdf:null" ref="http://www.technikum-wien.at/mitarbeiter/liste" +} + +// 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 = '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() { diff --git a/content/tempus.xul.php b/content/tempus.xul.php index 3715fcdbc..d34aba44f 100644 --- a/content/tempus.xul.php +++ b/content/tempus.xul.php @@ -301,7 +301,7 @@ echo ''; - + diff --git a/content/tempusoverlay.xul.php b/content/tempusoverlay.xul.php index ac82ed771..e3aab8017 100644 --- a/content/tempusoverlay.xul.php +++ b/content/tempusoverlay.xul.php @@ -119,52 +119,69 @@ echo ' - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/include/mitarbeiter.class.php b/include/mitarbeiter.class.php index 70dff1aac..b6997d2fa 100644 --- a/include/mitarbeiter.class.php +++ b/include/mitarbeiter.class.php @@ -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()) From 2e3075b8c4ef356e5bd2a0aa7df714e273b922b9 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Wed, 14 Aug 2019 11:57:12 +0200 Subject: [PATCH 2/2] Aktualisieren funktioniert nun wieder MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Studiengänge in Lektorenliste werden richtig sortiert --- content/fasoverlay.js.php | 32 +++++++++++----------- content/lvplanung/stpl-week-overlay.js.php | 12 ++++---- content/tempusoverlay.js.php | 5 +++- include/mitarbeiter.class.php | 2 +- rdf/mitarbeiter.rdf.php | 2 +- 5 files changed, 27 insertions(+), 26 deletions(-) diff --git a/content/fasoverlay.js.php b/content/fasoverlay.js.php index bf0da34ae..9d426d4dc 100644 --- a/content/fasoverlay.js.php +++ b/content/fasoverlay.js.php @@ -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;igetStgKz('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) {