diff --git a/content/fasoverlay.js.php b/content/fasoverlay.js.php index 9b3363d6d..c0674d2f1 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;i2) + { + 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.js.php b/content/tempusoverlay.js.php index 1593def08..1b796fada 100644 --- a/content/tempusoverlay.js.php +++ b/content/tempusoverlay.js.php @@ -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); diff --git a/content/tempusoverlay.xul.php b/content/tempusoverlay.xul.php index 45fe88843..0e35d71f0 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..7073c763a 100644 --- a/include/mitarbeiter.class.php +++ b/include/mitarbeiter.class.php @@ -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()) diff --git a/rdf/mitarbeiter.rdf.php b/rdf/mitarbeiter.rdf.php index 819d5ddf0..aa04a3bcb 100644 --- a/rdf/mitarbeiter.rdf.php +++ b/rdf/mitarbeiter.rdf.php @@ -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) {