Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Lloyd am 09.04.13 - 11:43:18
-
Hallo,
ich habe eine Anwendung in der ich mit mehreren Leser- u. Autorenfeldern in den Dokumenten arbeite. Diese werden zum Teil durch Namen und Gruppen und zum Teil durch Rollen befüllt. In den Dokumenten werden im QueryClose verschiedene Berechnungen und Aktualisierungen durchgeführt (und auch nochmal über das Backend was ins Dokument zurückgeschrieben). Ist ein Dokument älter als 14 Tage darf es vom "normalen" User nicht mehr bearbeitet werden, sehr wohl aber noch von den Führungskräften. Hier knallt es im Moment. Da nach 14 Tagen der normale User nichts mehr bearbeiten darf, läuft das Script im QueryClose natürlich auf einen Fehler wenn so ein Dokument geschlossen wird. Gibt es eine Möglichkeit abzufragen ob der User auf das Dokument Autorenrechte hat, egal ob direkt, über eine Gruppe oder über eine Rolle. Ich suche nach sowas wie "ist Mitarbeiter Autor im Dokument" dann führ das QueryClos aus, ansonsten nicht. Das Script ins QuerySave zu verlagern scheidet aus. Im Moment fällt mir nur ein das über eine Fehlerbehandlung abzufangen.
-
Falscher Ansatz. Wenn der Mitarbeiter keine Autoren Rechte mehr hat, darf er erst gar nicht in einen Edit Modus kommen und damit kann er eigentlich auch keine Veränderungen mehr am Dokument bewirken.
-
Falls der Code partout im QueryClose ablaufen soll (Völlig d'accord mit Thomas: warum eigentlich, wenn evtl. gar keine Rechte mehr bestehen??), dann versuche es in den EditMode zu versetzen (falls EditMode = False). Wenn dann Dein ErrorHandler angesprungen wird, weisst Du Bescheid.
Bernhard
-
Da der QueryClose event auch im Lesemodus abläuft muss man nur abprüfen ob das Dokument im Lese- oder Schreibmodus ist.
Der QueryClose event hat ja nichts mit editieren eines Dokumentes zu tun.
Ach so, falls die Frage jetzt kommt ---- mit uidoc.editMode ;)
-
Hallo,
danke für die Ansätze.
Selbst im Lesemodus des Hauptdokuments muss das QueryClose ausgeführt werden, zumindest bei den berechtigten Mitarbeitern. Der Versuch in den Bearbeitungsmodus umzuschalten und dann abzufangen werde ich wohl nehmen.
Vielen Dank an alle.
-
Wenn da etwas berechnet werden muss, spielst Du doch so Roulette: Der geneuigte User öffnet 8und schliesst) das Dokument - oder eben nicht ...
Bernhard