Domino 9 und frühere Versionen > ND6: Entwicklung

Problem mit Dokument Berechtigungen

<< < (5/9) > >>

Axel:
Ich habe das Ganze bei mir mal nachgestellt und mit dieser HideWhen-Formel für den Button sollte es funktionieren:

!(@UserName=From) & @IsNotMember("[creator]"; @UserRoles)

Voraussetzung ist natürlich, dass der Username im Feld Form in diesem Format, CN=Vorname Nachname/OU=Division/O=Firma, vorliegt und dass, wenn die DB lokal liegt die konsistente ACL aktiviert ist.

 
Axel

judicious:
Alle Infos hier mal zusammengefasst:

Formular Felder:
Author: Text / computed for display
value: @UserName
Country: combobox / editable
City: dialog list / editable
Location: dialog list / editable
detail: text / editable
Configuration: RichText / Editable

HiddenFields:
showname: Text / computed for display
value: @Name([CN];Author)
From: Authors / Computed / Allow multiple values
value: @UserName : "[Creator]"

Buttons:
acsave: immer sichtbar
acclose: immer sichtbar
acedit: hide when --> Formel: !@UserName=From | !@IsMember("[creator]"; @UserRoles)

DB:
People, Server, Groups:
-Default- --> Editor ( keine Rolen )
Mein Name --> Manager ( Alle Rolen )

Rolen:
Creator
DBOwner
Developers

Sonstiges:
Enforce a consistent ACL across all replicas


Edit: Man... wieso geht es mit & ??? Jetzt geht es:
!(@UserName=From) & @IsNotMember("[Creator]"; @UserRoles)
!(@UserName=From) | @IsNotMember("[Creator]"; @UserRoles)

Cool danke erstmal. Ich weiss zwar nicht wieso das jetzt läöuft mit einem AND und nicht mit einem OR.

Jetzt habe ich aber direkt noch eine Frage:
Ich habe im Querysave folgenden Code:

Sub Querysave(Source As Notesuidocument, Continue As Variant)
      'Created on 13.02.06 by someone
   Dim ThisDoc As NotesDocument
   Set ThisDoc = Source.Document
   'Checks the mandatory fields and stops saving if a field is empty
   If Source.FieldGetText("country") = "" Then
      source.GotoField("country")
      Messagebox "Country field is empty",  0 + 48, "Failure"
      Continue = False
      Exit Sub
   End If
   Source.Close
End Sub

Das klappt auch soweit, dass wenn ich das Feld leer lasse kommt die Meldung, aber danach kommt ein Fehler: Cannot execute the specified command.

umi:
Das liegt jetzt an den logischen operatoren:
!(@UserName=From) & @IsNotMember("[Creator]"; @UserRoles)
=> @username != from & @isnotmember("[Creator]";@userroles)

!(@UserName=From) | @IsNotMember("[Creator]"; @UserRoles)
=> @username!=from | @IsNotMember("[Creator]"; @UserRoles)
=> @username=from &  @isMember("[Creator]"; @UserRoles)

koehlerbv:
Kleine Anmerkung: Auf einmal wird Creator ja gross geschrieben ... Der vorherige Vergleich auf "[creator]" konnte dann auch nicht klappen.

Zum QuerySave: Ein Source.Close hat da aber nichts zu suchen.

Bernhard

judicious:

--- Zitat von: koehlerbv am 20.02.06 - 15:18:06 ---Kleine Anmerkung: Auf einmal wird Creator ja gross geschrieben ... Der vorherige Vergleich auf "[creator]" konnte dann auch nicht klappen.

--- Ende Zitat ---

Keine Angst das habe ich immer korrigiert ;)


--- Zitat von: koehlerbv am 20.02.06 - 15:18:06 ---Zum QuerySave: Ein Source.Close hat da aber nichts zu suchen.

--- Ende Zitat ---

Wenn ich das aber weglasse, dann kommt zwar der Fehler, speichern lässt sich das Dokument aber trotzdem

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln