Domino 9 und frühere Versionen > Entwicklung
Dokument kann nicht geändert werden, aufgrund von Zugriffsrechten
Solaris:
Hallo,
ich komme mal wieder net weiter :(
Ich habe es nun geschafft, das die Rechte funktionieren. Nur leider zu gut für meinen Zweck :D
Jedenfalls habe ich eine Maske, in der ein Autorenfeld und ein Leserfeld ist. In dem Autorenfeld steht die Rolle "Autor" eingetragen, welche allein ein Dokument erstellen und bearbeiten darf.
Nun ist es jedoch so, das eine zweite Rolle namens "Freigabe", das Dokument freigeben mus, sodaß die ganze Firma das Dokument sieht. Vorher darf es nur die Rolle "Autor" bzw die Rolle "Freigabe" sehen. Erst nachdem die Rolle "Freigabe", was in meinem Fall unsere Geschäftsführung ist, das Dokument abgesegnet und somit freigegen hat, darf das Dokument der ganzen Firma zugänglich sein.
Ich habe nun eine Aktion erstellt, wo die Rolle "Freigabe" alleinig draufklicken darf. Dannsoll ein Wert im dokument geändert werden, der anzeigt ob das Dokument schon freigegeben ist, oder noch nicht. Dieser ist Standartmässig auf "0" gesetzt und soll dann in eine "1" abgeändert werden.
Jedoch darf die Rolle "Freigabe" das Dokument nicht bearbeiten, da ich angeben habe das dies nur die rolle "Autor" darf. In diesem einen Punkt, soll esaber auch der Rolle "Freigabe" möglich sein durch klick auf diesen Aktionsbutton einen Wert im Dokument zu ändern.
Gibt es da irgendeine Lösung?
Ich verzweifel schon wieder mal :/
Vielen Dank,
Solaris :)
Ps: Hier meine Formel der Aktionsschaltfläche:
--- Zitat ---@If(@UserRoles="[Freigabe]"; @If(@Prompt([YESNO];"Freigabe";"Möchten sie das Dokument wirklich freigeben?")="1"; @Command([EditDocument]) & IsFree="1" & @Command([FileSave]) ;"");"")
--- Ende Zitat ---
"IsFree" ist dabei das versteckte Feld, welches geändert werden soll...
Axel:
Hi,
ich würde das Ganze so regeln:
in die Maske ein Leser- und ein Autorenfeld (ist ja bereits vorhanden). Erstelle eine weitere Rolle, z.B. "Public". Diese rolle weißt du den Usern zu die auf die freigegebenen Dokument zugreifen dürfen (ich denke mal nur lesen).
Bis das Dokument freigegeben ist stehen in beiden Feldern jeweils die Rolle Autor und Freigabe.
Bei der Freigabe änderst du das Leserfeld und trägst nur Public ein. Auch kannst du denn Wert ändern, der anzeigt, ob ein dokument bereits freigegeben ist oder nicht.
Axel
Rob Green:
les...ups...verschachtelt..aber nun scheine ich es kapiert zu haben.
A. Autor erstellt Doc
B. im Rollenfeld 1 steht "[Authoren]"
C. im Rollenfeld 2 steht "[Freigeber]"
D. beide Rollenfelder sind vom Typ Autor
E. beide Rollenfelder bestimmen gemeinsam die Änderungsrechte am Doc
F. im Rollenfeld 1 steht Formel drin, da Feld berechnet ist:
@if(Feld_Status<>"Freigabe";"[Autoren]";"")
G. im Rollenfeld 2 steht keine Formel drin, ist lediglich in sich selbst berechnet und hat die Formel "[Freigeber]" -> GF kann damit jederzeit die Freigabe wieder entziehen
H. wenn Autor Doc erstellt hat, steht in den Rollenfeldern einmal "Autoren" und einmal "Freigeber" als Rolle drin.
I. solange GF das Doc sich nicht gekrallt hat, kann Autor nachträglich Änderungen vornehmen, ohne schwitzen zu müssen wegen doofen Fehlern.
J. wenn GF das Doc genehmigt, dann ist Rollenfeld 1 leer = Autor hat keine Änbderungsrechte mehr
L. wenn GF Partner B nach Freigabe das Doc liest und GF anmacht, wie unmöglich der Text ist, kann GF A das Teil umgehend wieder sperren...ist halt praxiserprobt
dazu sollte der Code in dem Button so lauten
@If(@ismember("[Freigabe]";@userroles);
@if(ISfree="1";@prompt.."Möchten Sie das Doc wieder sperren?".....SONST...
@If(@Prompt([YESNO];"Freigabe";"Möchten sie das Dokument wirklich freigeben?")="1"; @Command([EditDocument]) & IsFree="1" & @Command([FileSave]) ;"");"")...
Solaris:
Hi Axel, Hi rob,
danke erstmal für eure schnellen Antworten *freu*
Axel, deinen rat kann ich zumindest sofort nachvollziehen. Bei Dir Rob, muss ich nochmal was nachfragen :)
A bis E versteh ich.
--- Zitat ---F. im Rollenfeld 1 steht Formel drin, da Feld berechnet ist:
@if(Feld_Status<>"Freigabe";"[Autoren]";"")
--- Ende Zitat ---
Was ist hier "Feld_Status"?
Muss ich ein neues Feld erstellen, oder was habe ich darunter zu verstehen?
du fragst ja hier ab, ob "Feld_Status" ungleich der Rolle "Freigabe" ist und setz dann dem Feld die Rolle [Autor] zu bzw wenn es nicht stimmt bleibt das Feld leer.
Ich habe ja bisher nur ein feld, wo eine "0" für ein nicht freigegebenes Dokument steht und eine "1" für ein freigegebenes... *wirr*
H ist ok :)
--- Zitat ---I. solange GF das Doc sich nicht gekrallt hat, kann Autor nachträglich Änderungen vornehmen, ohne schwitzen zu müssen wegen doofen Fehlern.
--- Ende Zitat ---
Das stimmt. Evtl sollte ich noch für den Autor einen Button einbauen, der es zur Freigabe freischlatet - somit also die GF das Dokument jetzt erst sehen kann...
Denn bisher kann die GF immer mitlesen ;)
Alles andere hab ich auch verstanden :)
Gruß Solaris
PS: Ich bitte die Undurchsichtigkeit in meinem Text oben zu entschuldigen ::) ;D
Rob Green:
Was ist hier "Feld_Status"?
Muss ich ein neues Feld erstellen, oder was habe ich darunter zu verstehen?
du fragst ja hier ab, ob "Feld_Status" ungleich der Rolle "Freigabe" ist und setz dann dem Feld die Rolle [Autor] zu bzw wenn es nicht stimmt bleibt das Feld leer.
Ich habe ja bisher nur ein feld, wo eine "0" für ein nicht freigegebenes Dokument steht und eine "1" für ein freigegebenes... *wirr*
das Feld "Status" war nur ein Beispiel dafür, wo Du den Feldwert ablegst, daß das Doc freigegeben ist. Du setzt 1 oder 0, ich habe in meinem Beispiel den Status "Freigegeben" gewählt..ist sich gleich.. Auf keinen Fall frage ich damit eine Rolle ab, nur den Inhalt zwecks Freigabcheck! Du kannst also Dein eigenes Statusfeld ruhig belassen wie es ist. Solltest, wenn Du meinem Bsp. folgst aus dem Autorenfeld 1 ein berechnetes Feld machen, das solange das Doc nicht freigegeben ist (0) die Rolle Autoren enthält und wenn das Doc seitens GF freigegeben ist, das 1. Autorenfeld leert. Deswegen die Formel im 1. Autorenfeld
@if(Feld_Status<>"Freigabe";"[Autoren]";"") (bei Dir - nochmals - 0 oder 1 asl Abfrage des IFs.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln