Filtern nach Benutzergruppen
Vorgehensweise zum Filtern nach Benutzergruppen

In dieser Beschreibung wird in einer PostgreSQL-Tabelle eine zusätzliche Spalte angelegt, die Gruppennamen enthält. Die Gruppennamen entsprechen cardo Gruppen. Über einen Filterausdruck (zeilenbasierter Datenfilter) in den Ebeneneigenschaften werden der Benutzergruppe nur die Datensätze freigegeben, an denen die Gruppe auch eingetragen ist.

Vorgehensweise (Beispieldatei enthält Punktgeometrien mit den Attributen Brücke, Pegel, Schützenhaus, ...): 

  1. Legen Sie eine neue cardo-Gruppe ‚SB Brücken‘ an (SB soll für Sachbearbeiter stehen).
  2. Nehmen Sie sich selbst in die Gruppe auf.
  3. Fügen Sie der Tabelle eine neue Spalte ‚usergroup‘ hinzu.
  4. Das können Sie im PGAdmin entweder interaktiv oder über einen entsprechenden SQL-Befehl
    „ALTER TABLE  geodaten.tabname ADD COLUMN ‚usergroup‘ VARCHAR(60)“ erreichen.
  5. Setzen Sie für alle Objekte (objektart) mit dem Attribut Brücke den Wert ‚SB Brücke‘ in der Spalte usergroup:
    UPDATE geodaten.tabname SET usergroup = 'SB BRÜCKEN' WHERE objektart= 'Brücke'
  6. Hinweis: Setzen Sie den Wert ‚SB BRÜCKEN‘ in Großbuchstaben, da cardo-Gruppennamen automatisch immer in Großbuchstaben verwendet werden!
    postgres.png
  7. Wechseln Sie ins Management Center in die Ebeneneinstellungen.
  8. Setzen Sie an der Ebene einen entsprechenden Filter, so dass nach den Benutzergruppen in der Spalte usergroup gefiltert wird.
  9. Dazu können Sie am Ebenenparameter theLayer eine entsprechende Klausel WHERE … IN … definieren unter Zuhilfenahme der cardo-Systemvariable $groupNamesForIn$.
  10. (SELECT * FROM geodaten.tabname WHERE usergroup IN ($groupNamesForIn$) ) A
  11. Hinweis: Damit ein SQL-Statement für theLayer verwendet werden kann, muss zwingend eine Spalte mit eindeutiger Id in theIdField angegeben werden. 
  12. Richten Sie noch eine Legende ein.
  13. Überprüfen Sie die Ebene im Auskunftssystem.
  14. Sie sollten nun nur ihre Punkte mit dem Attribut Brücken sehen.
    gisviewer.png