Na klar.
Der Code der SharedAction:
Sub Click(Source As Button)
On Error Goto errHandler
Dim session As NotesSession
Dim db As NotesDatabase
Dim ws As NotesUIWorkspace
Dim settingsDoc As NotesDocument
Dim serverAgent As NotesAgent
Dim newFolderName As String
Dim boxType As Long
Dim answer As Integer
'Init
Set session = New NotesSession
Set db = session.CurrentDatabase
Set ws = New NotesUIWorkspace
Set serverAgent = db.GetAgent("SetupFolderRights")
'sicherstellen dass der nutzer über einem ordner in der gkks-hierarchie ist
If(ws.CurrentView.ViewName Like "GKSS\*") Then
'berechtigungen auslesen
Set settingsDoc = New NotesDocument(db)
settingsDoc.FORM = "fFolderRights"
settingsDoc.co_folderTitle = ws.CurrentView.ViewName
settingsDoc.co_rights = ws.CurrentView.View.Readers
If (ws.dialogbox("fFolderRights",True,True,False,True,False,False,"Ordner erstellen",settingsDoc)) Then
'ws.CurrentView.View.Readers = settingsDoc.co_rights
Call settingsDoc.Save(True,False)
Call serverAgent.RunOnServer(settingsDoc.NoteID)
End If
End If
Exit Sub
errHandler:
Print "Rechte konnten nicht gesetzt werden (" & Error & "-" & Erl & ")"
Exit Sub
End Sub
Der Code des Agenten
Sub Initialize()
Dim session As NotesSession
Dim db As NotesDatabase
Dim settingsDoc As NotesDocument
Dim serverAgent As NotesAgent
'Init
Set session = New NotesSession
Set db = session.CurrentDatabase
Set serverAgent = session.Currentagent
Set settingsDoc = db.GetDocumentByID(serverAgent.ParameterDocID)
Print serverAgent.Parameterdocid
'berechtigungen übernehmen
db.Getview(settingsDoc.co_folderTitle(0)).Readers = settingsDoc.co_rights
Call settingsDoc.Remove(True)
End Sub