diff --git a/application/views/person/bpk/bpkData.php b/application/views/person/bpk/bpkData.php index 3580ed4bc..1c70b44a6 100644 --- a/application/views/person/bpk/bpkData.php +++ b/application/views/person/bpk/bpkData.php @@ -3,7 +3,8 @@ 'query' => ' SELECT person_id, vorname, nachname, geschlecht, svnr, ersatzkennzeichen, matr_nr, - staatsbuergerschaft, gebdatum, false AS mitarbeiter + staatsbuergerschaft, gebdatum, false AS mitarbeiter, + (SELECT count(*) FROM public.tbl_akte WHERE person_id=tbl_person.person_id) AS anzahl_dokumente FROM public.tbl_person WHERE @@ -14,7 +15,8 @@ UNION SELECT person_id, vorname, nachname, geschlecht, svnr, ersatzkennzeichen, matr_nr, - staatsbuergerschaft, gebdatum, true AS mitarbeiter + staatsbuergerschaft, gebdatum, true AS mitarbeiter, + (SELECT count(*) FROM public.tbl_akte WHERE person_id=tbl_person.person_id) AS anzahl_dokumente FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) @@ -36,7 +38,8 @@ ucfirst($this->p->t('person', 'matrikelnummer')), ucfirst($this->p->t('person', 'staatsbuergerschaft')), ucfirst($this->p->t('person', 'geburtsdatum')), - 'Mitarbeiter' + 'Mitarbeiter', + 'Anzahl Dokumente' ), 'formatRow' => function($datasetRaw) { diff --git a/content/fas.xul.php b/content/fas.xul.php index d1d43f473..19b24b0f0 100644 --- a/content/fas.xul.php +++ b/content/fas.xul.php @@ -903,7 +903,7 @@ foreach($addon_obj->result as $addon) echo ''; //echo ''; echo ''; - echo ''; + echo ''; } if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('mitarbeiter')) { diff --git a/content/fasoverlay.js.php b/content/fasoverlay.js.php index db26a9180..fcdc20228 100644 --- a/content/fasoverlay.js.php +++ b/content/fasoverlay.js.php @@ -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 = '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 = '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'); diff --git a/content/fasoverlay.xul.php b/content/fasoverlay.xul.php index 51564dc19..eea32279b 100644 --- a/content/fasoverlay.xul.php +++ b/content/fasoverlay.xul.php @@ -133,52 +133,68 @@ echo ' - - - - - + + + + + + + + + + + + + + + + - - + + + 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; }