Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: theBastian am 23.10.06 - 14:57:10

Titel: Dokument nur Löschen, wenn User bestimmte Rolle besitzt
Beitrag von: theBastian am 23.10.06 - 14:57:10
Hi,

sitze mal wieder über einem Problem und finde keine Antwort, warum das nicht funktioniert.  :(

Es sollen nur bestimmte Dokumente gelöscht werden dürfen (basierend auf dem Formname).
Wenn jedoch der User die Rolle [Admin] hat, soll er alle Dokumente löschen dürfen.

Code
Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)
	Dim session As New NotesSession
	Dim db As NotesDatabase
	Dim roles As Variant
	Dim collection As NotesDocumentCollection
	Dim i As Integer
	Dim doc As notesdocument
	Dim strForm As String
	
	Set db = session.CurrentDatabase
	roles = db.QueryAccessRoles(session.UserName)
	
	For i = 0 To Ubound(roles)
		If roles(i) Like "[Admin]" Then	
			Exit Sub
		End If
	Next
	
	Set collection = source.Documents
	For i = 1 To collection.Count
		Set doc = collection.GetNthDocument(i)
		strForm = doc.getitemvalue ("Form")(0)
		If strForm = "frmStructure" Then
			Call doc.Lock ()
		Else
			continue = False
		End If
	Next	
End Sub

Leider erkennt Like die Rolle nicht, obwohl es im Debugger genauso aussieht.

Habt ihr da ev. noch eine Idee?

Grüße
Sebastian
Titel: Re: Dokument nur Löschen, wenn User bestimmte Rolle besitzt
Beitrag von: Thomas Schulte am 23.10.06 - 15:02:43
Warum benutzt du überhaupt Like? Wenn er die Rolle Hat dann, das ist ein simples =
Titel: Re: Dokument nur Löschen, wenn User bestimmte Rolle besitzt
Beitrag von: theBastian am 23.10.06 - 15:07:00
Habe das erste Mal Rollen in Script versucht und in der Hilfe verweist @IsMember auf Like.

... und ich habe natürlich stur auf Notes vertraut.  >:(
Danke für Deinen Hinweis.

Grüße
Sebastian
Titel: Re: Dokument nur Löschen, wenn User bestimmte Rolle besitzt
Beitrag von: Thomas Schulte am 23.10.06 - 15:19:40
Schau dir mal die Wildcards Beschreibungen an. Dann weist du warum das so nicht funktionieren konnte.
Titel: Re: Dokument nur Löschen, wenn User bestimmte Rolle besitzt
Beitrag von: theBastian am 23.10.06 - 15:27:41
Ja, stimmt, "[" und "]" sind schon anderweitg "verbraten".  ;)

Grüße
Sebastian
Titel: Re: Dokument nur Löschen, wenn User bestimmte Rolle besitzt
Beitrag von: Axel am 24.10.06 - 08:10:30
Du kannst die Rollenprüfung auch mit Evaluate erschlagen.

Siehe dazu: BP: [LotusScript]: Evaluate (http://atnotes.de/index.php?topic=28334.0).
Hier besonders Kapitel 5.3.


Axel