Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Colli am 16.02.06 - 16:34:39

Titel: Userroles und Username
Beitrag von: Colli am 16.02.06 - 16:34:39
Hallo,

ich habe zwei Namens-Felder "PersonA" und "VertreterB", die über die Adressliste ausgefüllt werden und wie folgt umgesetzt werden:
@Name([CN];PersonA) etc.

Desweiteren hab ich eine Rolle [ReadAll], in der zur Sicherheit ein paar Personen vertreten sind, die alle Infos des Dokuments lesen dürfen.

Nun möchte ich einen Abschnitt der Seite so kontrollieren, dass er nur von Personen gelesen werden darf, die entweder im Feld "PersonA" oder "VertreterB" oder halt in der Rolle [ReadAll] vertreten sind.

Folgende Hide-When-Formel funktioniert nicht richtig.
Abschnitt verbergen, wenn folgende Formel wahr ist:

!@IsMember(@UserRoles;"[ReadAll]") | !@IsMember(@UserName;PersonA) | !@IsMember(@UserName;VertreterB)

Was kann falsch sein?
Titel: Re: Userroles und Username
Beitrag von: Axel am 16.02.06 - 16:40:41
Versuch's mal so:

!@IsMember(@UserRoles;"[ReadAll]") & !@IsMember(@UserName;PersonA) & !@IsMember(@UserName;VertreterB)


Axel

Titel: Re: Userroles und Username
Beitrag von: koehlerbv am 16.02.06 - 16:42:33
In Deiner Hide-When-Formel vergleichst Du den kompletten Usernamen mit dem common name dank Einsatz von @Name. Das ist dann der berühmte Vergleich zwischen Äpfel und Birnen.

Abgesehen davon können vermutlich immer noch alle User alles lesen - sich brauchen ja nur über die document properties zu gehen ...

Bernhard
Titel: Re: Userroles und Username
Beitrag von: koehlerbv am 16.02.06 - 16:43:51
@Axel: Eine UND-Verknüpfung würde hier bewirken, dass nicht angezeigt wird, wenn ALLE Bedingungen zutreffen. Das ist sicher nicht im Sinne des Erfinders ... äh, der Erfinderin.

Bernhard (hat Blödsinn gepostet!)
Titel: Re: Userroles und Username
Beitrag von: Colli am 16.02.06 - 16:47:34
@Bernhard
Hast du denn einen Tipp wie ich es richtig hinbekomme?
Titel: Re: Userroles und Username
Beitrag von: Axel am 16.02.06 - 16:49:58
@Bernhard

Grrr.  >:(

Auf diese logischen Verknüpfungen fall ich jedesmal rein. Das @Name ganz oben war mir entgangen. Der Feierabend ruft schon ganz laut.    ;)

Axel
Titel: Re: Userroles und Username
Beitrag von: Colli am 16.02.06 - 16:51:00
Der Feierabend ruft schon ganz laut.    ;)

Axel
Das ist wohl war. Morgen früh reicht mir auch noch der Tipp! ;)
Titel: Re: Userroles und Username
Beitrag von: ascabg am 16.02.06 - 16:56:55
Hi

Zitat
Nun möchte ich einen Abschnitt der Seite so kontrollieren, dass er nur von Personen gelesen werden darf, die entweder im Feld "PersonA" oder "VertreterB" oder halt in der Rolle [ReadAll] vertreten sind

Also Abschnitt verbergen wenn @Name([CN]; @UserName) nicht die Role "ReadAll" hat UND nicht im Feld "PersonA" UND nicht im Feld "VertreterB"

Aus meiner Sicht also ergo

Code
_UNAME := @Name([CN]; @UserName);
!@IsMember(@UserRoles;"[ReadAll]") & !@IsMember(_UNAME;PersonA) & !@IsMember(_UNAME;VertreterB)

womit wir im Prinzip wieder bei Axel seiner Formel sind.

Andreas
Titel: Re: Userroles und Username
Beitrag von: koehlerbv am 16.02.06 - 16:57:35
Und Andreas (und Axel natürlich) haben Recht - jetzt bin ich selber über die Negation der Negation gestolpert. In diesem Falle muss es selbstverständlich AND sein und nicht OR.

Mea culpa.
Bernhard
Titel: Re: Userroles und Username
Beitrag von: Glombi am 16.02.06 - 17:03:27
Also ich mache das auch, wenn ich gut drauf bin  ;)

und würde es dann so coden:

_UNAME := @Name([CN]; @UserName);
!(
@IsMember("[ReadAll]";@UserRoles) | @IsMember(_UNAME;PersonA:VertreterB)
)


Andreas
Titel: Re: Userroles und Username
Beitrag von: Glombi am 16.02.06 - 17:08:54
In diesem Zusammenhang auch immer wieder empfehlenswert

BP zu Hide-when (http://atnotes.de/index.php?topic=18203.0)
Titel: Re: Userroles und Username
Beitrag von: Colli am 17.02.06 - 12:51:37
@All


Vielen Dank.
Titel: Re: Userroles und Username
Beitrag von: Colli am 04.05.06 - 13:57:12
Ich hab ja jetzt gelernt, dass bei mehreren Rollen nicht @IsMember genommen werden kann sondern @keywords.

dann wird aus
Code
_UNAME := @Name([CN]; @UserName);
!(
@IsMember("[ReadAll]";@UserRoles) | @IsMember(_UNAME;PersonA:VertreterB)
)

sowas?
Code
_UNAME := @Name([CN]; @UserName);
@Keywords(@UserRoles;"[EditAll]":"[ReadAll]":"[Stammdaten]";"")="" | !@IsMember(_UNAME;PersonA:VertreterB)
Titel: Re: Userroles und Username
Beitrag von: Colli am 10.05.06 - 14:42:46
Es geht nämlich nicht.
Kann mir jemand sagen ob ich mal wieder gegen eine andere Regel verstoße?
Titel: Re: Userroles und Username
Beitrag von: Glombi am 10.05.06 - 14:57:38
Die Logik ist falsch, es muss so heissen:

_UNAME := @Name([CN]; @UserName);
@Keywords(@UserRoles;"[EditAll]":"[ReadAll]":"[Stammdaten]";"")="" & !@IsMember(_UNAME;PersonA:VertreterB)

Andreas