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 '
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+