Skriptfilter

Aus KreisAlarm-Dokumentation
Wechseln zu: Navigation, Suche

<kw_bread_crumbs></kw_bread_crumbs>

AdministrationPersonenfilter.gif

Um Personen zu selektieren, kann die Suchmaske bei der Aktivenverwaltung unter Umständen nicht ausreichen. Besondere Selektionen sind beispielsweise dann interessant, wenn man Personen selektieren möchte, die bestimmte Lehrscheine in einem bestimmten Zeitraum erworben haben.

Für solche Selektionen sind logische Abfragen nötig, die hier in JavaScript definiert werden können.

Treffermengen-Funktion

Die zu definierende Funktion

 function accept (person, parameters) {
  return false;
  }

wird jeweils mit der zu untersuchenden Person aufgerufen und gibt als Ergebnis zurück, ob diese Person zur Ergebnisliste zählt oder nicht. Dazu können Parameter über das zweite Argument mittels Index parameters[0] abgefragt werden. In zukünftigen Versionen könnte es auch möglich sein, die Namen der Parameter anzugeben. Der Zugriff erfolgt dann alternativ auch über parameters['mein Parametername']. Die API für die Person kann hier abgefragt werden. 1

Performance

Aufgrund der aufwändigeren (aber dafür flexibleren) Abfrage dauern Abfragen über solche Filter länger als auf SQL basierende Abfragen.

Beispiel

Angenommen, es wurden die Parameter Vorname,Nachname definiert. Um nun nur die Personen zu selektieren, die genau diesen Vornamen und Nachnamen haben, würde die JavaScript-Funktion wie folgt aussehen:

 function accept (person, parameters) {
  // Die erste Zeile für den erfolgreichen Syntax-Test
  if (!person)
     return false;
  var vorname = parameters[0];
  var nachname = parameters[1];
  return nachname == person.nachname && vorname == person.vorname;
  }