In R5 haben wir ja leider keine Schleife in der Formelsprache verfügbar.
Ich habe hier in einer DB ein Setup-Dokument. Dort stehen in einem Checkbox-Feld die Rollen der ACL (db.ACL.roles). Wenn eine Rolle selektiert, darf der User, der Mitglied dieser Rolle ist, das Dokument bearbeiten.
Das ganze frage ich via Function in Postopen und Querymodechange ab, Auszug:
Forall strRoleProfile In vRolesProfile 'Go through the profile doc setting entries
Forall strRolename In vRolesFromACL 'go through the ACL Userroles
If strRolename = strRoleProfile Then
iUserIsAllowed = True
Exit Forall
End If
End Forall
If iUserIsAllowed = True Then Exit Forall
End Forall
(vRolesProfile = das MultiValue-Feld des Profildokumentes, vRolesFromACL = Evaluate("@UserRoles"))
Gibt es eine Möglichkeit, eine ähnliche Abfrage in der HideWhen - Formel eines Buttons zu platzieren?
Also: Schaue nach, ob eine dem User zugeordneten Rollen dem Eintrag des Profildokumentes entspricht. Wenn ja: Zeige den Button an.