Autor Thema: USERrolle [Admin] in Lotus Script  (Gelesen 2333 mal)

Offline Blitz

  • Frischling
  • *
  • Beiträge: 35
  • Geschlecht: Männlich
USERrolle [Admin] in Lotus Script
« am: 24.09.08 - 16:24:05 »
Hallo,

habe die Bearbeitung von Dokumenten in der maske für alle User gesperrt.

Sub Querymodechange(Source As Notesuidocument, Continue As Variant)
   
   Dim session As New NotesSession
   Dim doc As NotesDocument
   Set doc=source.Document
   If Not isnewdoc  Then
      Messagebox ("Dieses Dokument befindet sich im Lesemodus. Änderungen sind nur über den Butten 'Rückantwort' möglich!")
      continue=False
   End If
   
End Sub

Funktioniert auch super.

Allerdings möcht ich die User der Userrolle [ADMIN] hiervon ausnehmen.

Die Formel kenne ich! @If (@Contains(@UserRoles ; "[Admin]");0;1)
Wie mache ich das aber in Lotus Script? Muss es je oben einbauen?

Vielen Dank.

Gruss

Sascha

« Letzte Änderung: 24.09.08 - 17:17:40 von Blitz »

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: USERrolle [Admin] in Lotus Script
« Antwort #1 am: 24.09.08 - 16:29:50 »
Ich hab mir mal dafür eine Funktion geschrieben:
Code
Function isRoleEnable( Role$, db As notesDatabase) As Integer
	Dim doc As notesDOcument
	Dim Macro$, u
	isRoleEnable = False
	
	Macro$ = |@isMember("| & Role$ & |";@UserRoles) |
	If db Is Nothing Then
		u = Evaluate (Macro)
	Else
		Set doc = db.createDocument	
		u = Evaluate (Macro$, doc)
	End If
	
	If u(0) = "1" Then isRoleEnable = True
End Function
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: USERrolle [Admin] in Lotus Script
« Antwort #2 am: 24.09.08 - 16:34:29 »
Ein Blick in die DesignerHilfe :

IsRoleEnabled method  der Notes ACLEntry class ist mein Woodoo für so etwas ...
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Blitz

  • Frischling
  • *
  • Beiträge: 35
  • Geschlecht: Männlich
Re: USERrolle [Admin] in Lotus Script
« Antwort #3 am: 24.09.08 - 16:51:02 »
Vielen dank.

Genau diese Funktion habe ich gesucht.

IsRoleEnabled method 

Funktioniert!

Gruss Sascha

« Letzte Änderung: 24.09.08 - 17:17:15 von Blitz »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: USERrolle [Admin] in Lotus Script
« Antwort #4 am: 24.09.08 - 21:52:19 »
Sascha, das funktioniert NICHT! Das, was Du da machst, ist eine Sperre für Dummuser - und nur für diese!
Nimm Dir einen Nicht-Admin-User, und drücke dann Strg-B (oder Menü: Bearbeiten - Dokument oder ...), und Du wirst sehen, dass QueryModeChange da gar nicht ausgeführt wird.

Im Bord "Best Practices" findest Du hierzu auch noch einen ausführlicheren Beitrag, aber beachte dabei bitte auch das einleitende Kapitel: Mit der puren Nutzung der Events erzeugst Du KEINE wirkliche Sicherheit bei der Verhinderung des Editierens von Dokumenten durch nichtautorisierte Personen!

Bernhard (weit in Deutschlands Norden im Urlaub)

Offline Blitz

  • Frischling
  • *
  • Beiträge: 35
  • Geschlecht: Männlich
Re: USERrolle [Admin] in Lotus Script
« Antwort #5 am: 25.09.08 - 10:49:36 »
Hallo,

vielen Dank für den Hinweis. Habe es getestet und war wie von Dir beschrieben!

Werde mal den beitrag lesen

Gruss

Sascha

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz