Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Blackraven am 26.03.07 - 13:53:29
-
Hallo zusammen,
folgendes Szenario:
Ich habe ein Dokument A, dieses wurde vom User namens Schmidt erstellt. (Autorenfeld "FROM" Eintrag Schmidt).
Nun habe ich noch ein weiteres Autoren-Feld "AdditionalEditor" in dem User "Mueller" eingetragen wird. Somit kann User Mueller das Dokument editieren.
Nun ändert User Mueller den Wert im autoren-Feld "AdditionalEditor" auf den Wert "Meier". was dazu führt, dass User Mueller in keinem Autorenfeld mehr drin steht. Somit bekomm ich eine Fehlermeldung beim speichern.
Hat jem. von Euch vielleicht ne Idee, wie ich das anstellen kann. ich möchte ja prinzipiell, dass Mueller nach dem Speichern das Dokument nicht mehr editieren kann.
Danke & Gruß
-
Im Querymodechange abfragen, ob der User "Mueller" in einem der Felder drin ist. Wenn nicht, "continue = false"...
-
das geht ja nicht....er soll die Änderung ja speichern dürfen.
-
Dann eben im Postopen.
-
ich glaub ich versteh dich nicht so ganz.....
wenn ich "Continue = False" mache, dann kann er ja irgendwas nicht tun..... also editieren oder speichern. Er soll aber ja beides können.
-
dass Mueller nach dem Speichern das Dokument nicht mehr editieren kann.
Ja, was denn nun ?
Du solltest dein ganzes Konzept nochmals überdenken. Irgendetwas ist da wohl durcheinander.
-
Läuft das innerhalb eines Workflows ab?
Dann frag im QueryMode auf status und Username ab.
@ Klauss: ICh glaube Blackraven will, dass die User das Autorenfeld auf einen anderen umstellen und diese Änderung noch abspeichern können, danach das Dokument aber nicht mehr zum Editieren öffnen können.
-
Das glaube ich auch, aber ich seh da keinen rechten Sinn drin.
-
Solche "Rechtevergabe" auf Basis von Code im PostOpen oder QueryModeChange ist Murks und nur in Ausnahmefällen zu gebrauchen (siehe den BP-Artikel hierzu).
Wenn sich ein Autor selbst aus dem (oder den) Autorenfeld(ern) entfernen soll, so geht das nur im Backend. Im Frontend scheitert das sonst am QuerySave.
Bernhard
-
Danke Bernhard,
dann brauch ich mich jetzt nicht weiter zu verrenken und werd versuchen meinem "Requester" ne andere Möglichkeit vorzuschlagen.
-
Und was heißt bitteschön "eine andere Möglichkeit " ? Soll Herr Meier jetzt nicht mehr Herrn Müller eintragen können, sondern nur noch jeder sich selbst, damit das Speichern klappt ?
Was du willst, geht ganz wunderbar - es muß nur sauber programmiert sein, denn Herr Meier kann mit der doc.Save-Methode das Dokument sehr wohl speichern, wenn er sich gerade aus dem Autorenfeld entfernt hat - aber nur genau einmal.
Wenn ich bei manchen Kollegen die doc.Save-Orgien sehe, in denen ein Dokument beim Verlassen nach jeder Teilaktion noch einmal gespeichert wird, dann geht das alles nicht. Wenn es sauber ist, geht es. Schau dir einmal bei deinen Dokumenten das Feld $Revisions an. Wenn da häufiger Wenige-Sekundenabstände drinstehen, dann ist unsauber programmiert.
Gruß
Norbert