Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: robertpp am 13.03.03 - 17:01:22

Titel: Dokument nicht bearbeiten!!!
Beitrag von: robertpp am 13.03.03 - 17:01:22
Hallo,
Ich möchte haben das kein User die erstellten Docs bearbeiten kann.
Das hab ich in der Maske so verwirklicht:

Sub Querymodechange(Source As Notesuidocument, Continue As Variant)
   Dim session As New NotesSession
   Dim userName As New NotesName(session.UserName)
   Dim db As NotesDatabase
   Dim acl As NotesACL
   Dim entry As NotesACLEntry
   Set db = session.CurrentDatabase
   Set acl = db.ACL
   user2 = username.Abbreviated
   Set entry = acl.GetEntry(user2)
   
   If Not source.isnewdoc Then    
      If Not entry Is Nothing Then
         If  Entry.IsRoleEnabled("[admin]" ) Then
            continue = True
         Else
            Messagebox "Arbeitsaufträge können nicht bearbeitet werden.", 0, "Fehler"
            Continue = False         
         End If
      End If
   End If   
End Sub

Funtioniert auch ohnen Probleme wenn der user in der ansicht auf das doc klickt und im Doc dann doppelt klickt und es bearbeiten möchte!!

ABER:
Wenn der user sich in der Ansicht aber auf ein Doc stellt und dann auf dem Bearbeitungsbleistift in der Smarticonleiste klickt dann kann er es bearbeiten!!
Wie kann ich das umgehen?
danke robertpp
Titel: Re:Dokument nicht bearbeiten!!!
Beitrag von: robertpp am 13.03.03 - 17:41:34
Ich hab das Problem gefunden:

In der Maske gehört das noch hinein:
Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
   If Not source.isnewdoc Then
      If Source.EditMode Then continue = False
   End If
End Sub

robertpp
Titel: Re:Dokument nicht bearbeiten!!!
Beitrag von: Axel am 13.03.03 - 17:43:41
Hi,

regel doch das über ein Autorenfeld. Jeder der da drinsteht kann das Dokument bearbeiten. Die anderen nicht. Dann brauchst du in den Masken-Events keine Klimmzüge zu machen.


Axel
Titel: Re:Dokument nicht bearbeiten!!!
Beitrag von: eknori am 13.03.03 - 17:53:55
Guckst du hier http://www.eknori.de/downloads.htm
dann runterblättern zu "Leser- und Autorenfelder unter Kontrolle"

Damit funzt das dann völlig problemlos und ist super flexibel

eknori
Titel: Re:Dokument nicht bearbeiten!!!
Beitrag von: doliman am 13.03.03 - 22:03:43
Hi,

regel doch das über ein Autorenfeld. Jeder der da drinsteht kann das Dokument bearbeiten. Die anderen nicht. Dann brauchst du in den Masken-Events keine Klimmzüge zu machen.


Axel


Hi Axel,

der Benutzer kann trotz Authoren Feld in den Bearbeitungsmodus, lediglich beim Speichern wird dann gesagt, daß die Berechtigungen fehlen.
Titel: Re:Dokument nicht bearbeiten!!!
Beitrag von: robertpp am 14.03.03 - 07:43:36
doliman hat den Punkt getroffen wo das problem liegt!!
Und außerdem dürfen die Ersteller auch nicht das Doc bearbeiten und ich arbeite mit Autorenfelder nur das bringt eben auch nichts!!
Also es funktioniert jetzt eben außer die die das Doc erstellt haben die dürfen es noch immer ändern!!

robertpp
Titel: Re:Dokument nicht bearbeiten!!!
Beitrag von: Axel am 14.03.03 - 08:21:35
Hi,

wer nicht im Authorenfeld steht darf das Dokument nicht editieren, d.h. er kann das Dokument nicht im Editmodus öffnen und nicht in den Editmodus wechseln. Vorausgesetzt er hat nur das Recht Autor in der ACL. Für alle höheren Rechte, also Editor, Entwickler und Manager, greifen die Autorenfelder nicht.

Um auch zu verhindern, das der Ersteller des Dokumentes es nachträgöich verändern kann, mache das Autorenfeld im Querysave-Event einfach leer. Oder du trägst nur den DB-Manager ein, als Rettungsanker.

Ich hatte mit solchen Varianten nie Schwierigkeiten.


Axel

Titel: Re:Dokument nicht bearbeiten!!!
Beitrag von: robertpp am 14.03.03 - 10:14:47
Ich hab leider den ersteller die Rechte Editor geben müssen weil ich eine forlfauende nummer eingebaut habe von der DB seqnum.nsf Verknüpung zum Forum eintrag:
http://www.atnotes.de/index.php?board=7;action=display;threadid=6751
und wenn ich dem ersteller autor rechte gebe dann kann er die fortlaufende nummer nicht erstellen.
So jetzt weiß ich nicht was ich machen soll?
robertpp
Titel: Re:Dokument nicht bearbeiten!!!
Beitrag von: Axel am 14.03.03 - 10:31:48
Hi,

ich bin zwar nicht ganz im Bilde, wie diese fortlaufende Nummerierung läuft, aber irgendwie ist da ein NotesDokument im Spiel.

Versuch doch auch in diesem Dokument ein Autorenfeld einzubauen. Dort kannst du ja fest eine Rolle, die du jedem User zuweißt, eintragen. Damit kann auch ein Autor das Dokument ändern und deine Nummerierung sollte wieder funktionieren.

Axel
Titel: Re:Dokument nicht bearbeiten!!!
Beitrag von: robertpp am 14.03.03 - 11:00:14
danke axel für den tipp!! ich hab ganz übersehen das in dem notesdoc wo die nummer gespeichert ist das feld schon gibt um dort gruppen und rollen einzutragen die nummeren erstellen dürfen!!
Ich hab jetzt noch den ersteller nur noch leserechte gegeben und jetzt passt es!
robertpp