Autor Thema: Funktionsabhängige Ansichtsauswahl mit @UserRoles?  (Gelesen 4718 mal)

Offline SaSaWu

  • Aktives Mitglied
  • ***
  • Beiträge: 140
  • Geschlecht: Männlich
Hallo, ich habe da ein Problem mit einer funktionsabhängigen Ansichtsauswahl:

In den Dokumenten einer Datenbank lege ich das Feld 'Rolle' in Abhängigkeit der Funktion des Benutzers fest.

Bsp.: Der Inhaber der Funktion [OE100] legt ein neues Dokument an, das Feld 'Rolle' im Dokument erhält den Wert 100.

In einer Ansicht möchte ich nur Dokumente anzeigen, die zur Funktion des Benutzers gehören. Wenn der Benutzer also die Funktion [OE100] besitzt, sollen nur Dokumente mit dem Wert 100 im Feld 'Rolle' angezeigt werden. Dies wollte ich über folgende Ansichtsauswahl erreichen:

ro1 := @If(@Contains(@UserRoles;"[OE100]");"100";"200");

SELECT (Rolle = ro1)

Anscheinend funktioniert der Befehl '@UserRoles' nicht in der Ansichtsauswahl!?!

Wer kann mir helfen?

Glombi

  • Gast
Re:Funktionsabhängige Ansichtsauswahl mit @UserRoles?
« Antwort #1 am: 02.09.03 - 14:11:47 »
Hi,
ist das eine private Ansicht? Falls nicht: Die (öffentlichen) Ansichten werden vom Server berechnet, also wird dann auch für den Server @UserRoles ausgewertet.

Andreas

Offline SaSaWu

  • Aktives Mitglied
  • ***
  • Beiträge: 140
  • Geschlecht: Männlich
Re:Funktionsabhängige Ansichtsauswahl mit @UserRoles?
« Antwort #2 am: 02.09.03 - 14:18:09 »
Nein, es ist eine öffentliche Ansicht! Geht trotzdem nicht!!!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Funktionsabhängige Ansichtsauswahl mit @UserRoles?
« Antwort #3 am: 02.09.03 - 14:26:58 »
Wie Andreas schon schrieb: Eben WEIL es eine öffentliche Ansicht ist, geht es nicht.

Wenn Deine DB nur relativ wenige Doks enthalten wird, kannst Du tricksen: Füge Deine Ansicht eine verborgene Spalte hinzu mit @Today (oder irgend etwas anderes zeitabhängiges). Das zwingt den Server dazu, die Ansicht bei jedem Öffnen neu aufzubauen (Performanceproblem!) und wertet so die @UserRoles des gerade anfragenden Clients aus.

Ansichten "Common, private after first use" haben dieses Problem nicht, aber einen grossen Nachteil: Sind sie vom User das erste Mal verwendet worden, programmierst Du Dir 'nen Wolf, um spätere Ansichtsänderungen durchzuführen.

Vielleicht gäbe es aber auch noch ganz andere Lösungen: Wozu sollen denn die User Roles-abhängig unterschiedliche Doks sehen ?

Bernhard

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re:Funktionsabhängige Ansichtsauswahl mit @UserRoles?
« Antwort #4 am: 02.09.03 - 14:27:30 »
@UserRoles funktioniert nicht in der Ansichtsauswahl. Steht in der Noteshilfe drin.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Funktionsabhängige Ansichtsauswahl mit @UserRoles?
« Antwort #5 am: 02.09.03 - 14:32:10 »
MadMetzger hat natürlich recht !!!

Vergiß den Blödsinn, den ich eben gepostet habe - ausser der Frage, was Du eigentlich erreichen willst.

Bernhard

Offline SaSaWu

  • Aktives Mitglied
  • ***
  • Beiträge: 140
  • Geschlecht: Männlich
Re:Funktionsabhängige Ansichtsauswahl mit @UserRoles?
« Antwort #6 am: 02.09.03 - 14:38:40 »
...hab' mir schon 'nen Wolf programmiert wegen der UserRoles-Funktion. Danke für die Antworten!

Also, ich möchte folgendes erreichen:

Verschiedene Stellen sollen Dokumente in **einer** Datenbank anlegen können. Jede Stelle soll (wg. der besseren Übersicht) nur seine Dokumente lesen und bearbeiten können. Außerdem soll die Möglichkeit gegeben sein, Dokumenten Leserechte für andere Stellen einzuräumen. Quasi der "Superuser" kann alle Dokumente einsehen.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Funktionsabhängige Ansichtsauswahl mit @UserRoles?
« Antwort #7 am: 02.09.03 - 14:44:08 »
Wenn das auch ein Sicherheits-Feature sein soll, dann mußt Du mit Leserfeldern arbeiten. Wird ein Dokument nur durch seine Darstellung (oder nicht) in einer Ansicht verborgen, dann kann ein "nicht-berechtigter" User das Dokument zum Beispiel dadurch einsehen, daß er zum nächsten ungelesenen Dokument geht ...

HTH,
Bernhard

Offline SaSaWu

  • Aktives Mitglied
  • ***
  • Beiträge: 140
  • Geschlecht: Männlich
Re:Funktionsabhängige Ansichtsauswahl mit @UserRoles?
« Antwort #8 am: 02.09.03 - 14:50:10 »
Die Sicherheit bleibt (ausnahmsweise) mal außen vor. Es soll lediglich ein 'Aufblähen' der Ansicht verhindert werden.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Funktionsabhängige Ansichtsauswahl mit @UserRoles?
« Antwort #9 am: 02.09.03 - 14:52:46 »
Sind die Anzahl der Roles endlich ?
Dann könntest Du ja auch den Ansichtszugriff jeweils begrenzen (Ansichts-ACL).

Vielleicht hilft das ja am schnellsten ...

Bernhard

Offline SaSaWu

  • Aktives Mitglied
  • ***
  • Beiträge: 140
  • Geschlecht: Männlich
Re:Funktionsabhängige Ansichtsauswahl mit @UserRoles?
« Antwort #10 am: 02.09.03 - 15:02:38 »
Ja, sie sind endlich. Ich möchte jedoch verhindern, 10 Ansichten im Navigationsbereich anbieten zu müssen. Eleganter wäre da eine automatische Auswahl der funktionsabhängigen Ansicht nach Öffnen der DB. Aber von diesem "Traum" muss ich mich wohl langsam verabschieden...

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re:Funktionsabhängige Ansichtsauswahl mit @UserRoles?
« Antwort #11 am: 02.09.03 - 15:17:53 »
Leg doch für jede Rolle eine Ansicht an und frag dann im PostOpen der Datenbank die Rolle ab und öffne die entsprechende Ansicht. Damit dann nicht zu viele Ansichten sichtbar sind, schränkst du einfach den Zugrif auf die Ansichten zu den Rollen passend ein.

Offline SaSaWu

  • Aktives Mitglied
  • ***
  • Beiträge: 140
  • Geschlecht: Männlich
Re:Funktionsabhängige Ansichtsauswahl mit @UserRoles?
« Antwort #12 am: 02.09.03 - 15:30:10 »
Hörts sich sehr gut an. Wo finde ich das PostOpen der DB bzw. wie steuere ich das PostOpen der DB an?

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re:Funktionsabhängige Ansichtsauswahl mit @UserRoles?
« Antwort #13 am: 02.09.03 - 16:10:01 »
Das PostOpen der DB findest du unter Gestaltung \ Andere \ Datenbankscript. Dort kannst du das PostOpen-Event auswählen und die UserRoles ganz einfach per Formelsprache auswerten.

Offline SaSaWu

  • Aktives Mitglied
  • ***
  • Beiträge: 140
  • Geschlecht: Männlich
Re:Funktionsabhängige Ansichtsauswahl mit @UserRoles?
« Antwort #14 am: 02.09.03 - 16:42:34 »
Ich danke allen für die Hilfe. Dann werde ich mich mal daran versuchen...

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Funktionsabhängige Ansichtsauswahl mit @UserRoles?
« Antwort #15 am: 02.09.03 - 17:01:13 »
Wie greifen Deine User eigentlich auf die Ansichten zu ? Outline, Navigator oder Direkt-Zugriff auf Views? Ausser letzterem kannst Du ja mit Formeln arbeiten, also sowas in der Art
- UserRoles enthält 100 -> Öffne View V100, UserRoles enthält 200 -> Öffne View V200 usw.

Dann hast Du nur ein Steuerungselement für n views. Aus der Rolle könnte man ggf. sogar den View-Namen ermitteln und bräuchte (bei neuen Roles und Views) nie wieder an das Navigationselement heran.

HTH,
Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz