Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: TMC am 22.10.03 - 21:51:47

Titel: Hide when die 1000ste
Beitrag von: TMC am 22.10.03 - 21:51:47
Hi,

bestimmt tausend mal gefragt, aber ich komm gerade nicht drauf und konnte bei mir grad keine DB finden, wo ich das schon angewendet habe.

Verbergen eines Buttons wenn nicht
[All] oder [Admin] in den Userroles.

@If(@IsNewDoc; @True; @False) | !@IsMember ("[Admin]";@UserRoles)
| !@IsMember ("[All]";@UserRoles)

So müssen beide Rollen aktiviert sein, der Button soll aber auch angezeigt werden, wenn nur eine der beiden Rollen aktiviert.
Klammern hab ich schon getestet....

Gruß,
TMC
Titel: Re:Hide when die 1000ste
Beitrag von: Semeaphoros am 22.10.03 - 21:58:34
Darüber hinaus willst Du es auch noch verbergen, wenn das ein neues Dokument ist?

!@If(!@IsNewDoc) | @IsMember ("[Admin]";@UserRoles)
| @IsMember ("[All]";@UserRoles)

Das sollte es eigentlich schaffen
Titel: Re:Hide when die 1000ste
Beitrag von: TMC am 22.10.03 - 22:09:46
Hmm, leider geht es so auch nicht.

Aber vielleicht nochmal das hide when (nicht) in meinem Fall erklärt:

Es gibt da einen Button, nennen wir ihn "Delete".

User 1, hat nur die Rolle [All]: er soll ihn sehen
User 2, hat nur die Rolle [Admin]: er soll ihn auch sehen
User 3, hat die Rollen [All] und [Admin], soll ihn auch sehen
User 4, hat die Rolle [doof], darf ihn nicht sehen.

Zusätzlich darf den Button keiner sehen, wenn es ein neues Dok ist.

Dein geposteter Code macht es ja umgekehrt.
Aber auch wenn ich es so teste:
!@If(!@IsNewDoc) | !@IsMember ("[Admin]";@UserRoles)
| !@IsMember ("[All]";@UserRoles)
Wird der Button nur angezeigt, wenn man User 3 ist.

Gruß,
TMC
Titel: Re:Hide when die 1000ste
Beitrag von: Semeaphoros am 22.10.03 - 22:25:46
Ok, jetzt wirds verständlich.

Probier mal, bei meinem Code einfach das erste Ausrufezeichen wegzunehmen, wenn es wirklich echt umgekehrt ist, dann wars das. Ansonsten versuche ich es, nochmal aufzubauen:

Code
@IsNewDoc | !@IsMember ("[Admin]";@UserRoles)
| !@IsMember ("[All]";@UserRoles)

Nicht ganz sicher, ob das trifft, probier mal

Uebrigens, das If am Anfang ist auch überflüssig.
Titel: Re:Hide when die 1000ste
Beitrag von: TMC am 22.10.03 - 22:31:54
Also ich hab gleich mal das hier von Dir probiert, ohne Erfolg:
@IsNewDoc | !@IsMember ("[Admin]";@UserRoles)
| !@IsMember ("[All]";@UserRoles)

Noch eine Info: ist ein Action-Button (also nicht in der Maske selbst). Konsistente ACL ist auch an (eigentlich logisch).

Ich vermute es liegt in der Logik hier beim Aufbau.....?

Versuche es jetzt nochmal mit Klammern:
@IsNewDoc | (!@IsMember ("[Admin]";@UserRoles)
| !@IsMember ("[All]";@UserRoles))

Melde mich wieder....

TMC
Titel: Re:Hide when die 1000ste
Beitrag von: TMC am 22.10.03 - 22:34:28
und wieder das gleiche Spiel mit den Klammern:

Habe ich beide Rollen, dann gehts, habe ich nur eine: geht nicht.

 ???

TMC
Titel: Re:Hide when die 1000ste
Beitrag von: Semeaphoros am 22.10.03 - 23:00:03
Next try

Code
@IsNewDoc | ! (@IsMember ("[Admin]";@UserRoles)
| @IsMember ("[All]";@UserRoles))
Titel: Re:Hide when die 1000ste
Beitrag von: Semeaphoros am 22.10.03 - 23:04:17
Jetzt hab ich möglicherweise meinen Denkfehler. Das folgende sollte identisch sein mit dem vorhergehenden:

Code
@IsNewDoc |  ( ! @IsMember ("[Admin]";@UserRoles)
& ! @IsMember ("[All]";@UserRoles))

.... diesees    .AND.     ist entscheidend!
Na ja, bei logischen Konstrukten geht es manchmal in eine total falsche Richtung .... bis die Lambe leuchtet :-)
Titel: Re:Hide when die 1000ste
Beitrag von: TMC am 22.10.03 - 23:13:02
cool, das hier geht:
@IsNewDoc | ! (@IsMember ("[Admin]";@UserRoles)
| @IsMember ("[All]";@UserRoles))

Den anderen hab ich noch nicht ausprobiert, aber der hier geht.
*Schweiß von Stirn abwischend*

Müßtest mal die ACL-Log von mir sehen, die platzt jetzt schon fast vor lauter Tests  ;D

Danke!

TMC


Titel: Re:Hide when die 1000ste
Beitrag von: Semeaphoros am 22.10.03 - 23:18:07
Na, wenn nur das ACL-Log platzt ......

Fein, dass es jetzt geht. Reine Logik, die dazu noch im krassen Gegensatz zur sprachlichen Logik steht, hat so ihre Tücken, obwohl eigentlich alles logisch ist. Logisch .... oder?  ;D
Titel: Re:Hide when die 1000ste
Beitrag von: TMC am 22.10.03 - 23:24:13
logisch  ;)

wie nur ein so simples "verbergen wenn nicht (oder doch)" so manchen ins Grübeln bringt ist schon witzig.

Wobei ich persönlich oft zur Faulheit tendiere.
Beispiel: Dreisatz.
Also z.B. simple Spritverbrauchs-Rechnung.
Ich beobachte mich selber, wie ich mir doch im Kopf (oder auf Papier) einen Dreisatz zurecht mache, obwohl es doch auch so simpelst logisch zu lösen wäre.
Ich war auch in Mathe in der Schule immer unter den besten, aber bei so simplen Sachen wie Spritberechnung ist man dann einfach faul.

TMC

Titel: Re:Hide when die 1000ste
Beitrag von: Semeaphoros am 22.10.03 - 23:31:54
Jo, das ist so. Das Einfache reizt einfach nicht mehr .... :-)

Wobei Logik zwar aus einfachen Prinzipien besteht, aber in der Ganzheit dann schlussendlich sehr komplex wird ........ eine wahre Crux .....

Hey, haben wir nicht ein Weissbier zum Anstossen verdient?


Y  Y

Prost!
Titel: Re:Hide when die 1000ste
Beitrag von: TMC am 22.10.03 - 23:34:18
Das geb aber ich aus  ;)

Y Y

Ein Prost zwischen Bayern und der Schweiz erklingt ..... 8)

TMC