Autor Thema: Eingeschränkte Auswahl aus ACL  (Gelesen 1324 mal)

Offline RvM

  • Senior Mitglied
  • ****
  • Beiträge: 375
  • Geschlecht: Männlich
  • Domino: Geht nicht - gibt's nicht
    • PhotosForFree
Eingeschränkte Auswahl aus ACL
« am: 09.12.02 - 09:57:38 »
Ich möchte gerne ein Namensfeld nur mit Personen, die eine entsprechende Rolle haben, aus der ACL aussuchen.
Wie muss ich da vorgehen?
-------
Gruß Rolf
--------------

Offline Notestime

  • Senior Mitglied
  • ****
  • Beiträge: 358
  • Geschlecht: Männlich
  • ... time for new ways
    • HoCaS
Re:Eingeschränkte Auswahl aus ACL
« Antwort #1 am: 09.12.02 - 10:30:09 »
Kannst Du das mal spezifizieren? Was willst Du genau machen?

Ich versteh die Frage nicht so recht.

Bernd
Admin & Designer,
6 Server (4xAIX, 2xLinux),
850 Clients

Offline RvM

  • Senior Mitglied
  • ****
  • Beiträge: 375
  • Geschlecht: Männlich
  • Domino: Geht nicht - gibt's nicht
    • PhotosForFree
Re:Eingeschränkte Auswahl aus ACL
« Antwort #2 am: 09.12.02 - 10:40:49 »
Ich möchte gerne, das der Editor aus der ACL für das Editieren eines versteckten Leserfeldes nur diejenigen User in der ACL auswählen kann, denen eine entsprechende Rolle zu gewiesen ist, denn wenn Du ein Namensfeld über die Auswahl "Zugriffskontrollliste für Auswahl verwenden" füllen möchtest, bekommst Du   ALLE Einträge der ACL angezeigt.
Und genau das will ich nicht.
-------
Gruß Rolf
--------------

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Eingeschränkte Auswahl aus ACL
« Antwort #3 am: 09.12.02 - 10:46:14 »
... über die NotesDatabase bekommst du Zugriff auf die NotesACL,

... über NotesACL.GetFirstEntry => GetNextEntry bekommest du alle Einträge...

... über NotesACLEntry.Roles kannst du die Rollen in der ACL herausbekommen...

Der Rest ist Select Case oder entsprechendes...

ata
Grüßle Toni :)

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Eingeschränkte Auswahl aus ACL
« Antwort #4 am: 09.12.02 - 10:55:44 »
aus der Notes Help

Dim session As New NotesSession
  Dim db As NotesDatabase
  Dim acl As NotesACL
  Dim entry As NotesACLEntry
  Dim levelString As String
  Dim levelConstant As Integer
  Set uidoc = workspace.CurrentDocument
  Set db = session.CurrentDatabase
  Set acl = db.ACL
  levelString = Inputbox$( "What level?" )
  ' function call to convert the string
  ' into an ACLLEVEL constant
  levelConstant = GetLevelConstant( levelString )
  ' go through all the entries in the ACL
  Set entry = acl.GetFirstEntry
  While Not ( entry Is Nothing )
    ' if the entry has the level that the user chose
    If ( entry.Level = levelConstant ) Then
      ' append the entry's name to the text list
      ' in the People field
      Call uidoc.FieldAppendText _
      ( "People", entry.Name & "; " )
    End If
    Set entry = acl.GetNextEntry( entry )
  Wend
  ' refresh current document so that
  ' text list displays nicely
  Call uidoc.Refresh
End Sub

mußt etwas umbauen, aber das Prinzip ist jetzt schon sichtbar.
Statt "entry.level" (ruft eine eigene Funktion auf) mußt Du natürlich checken, ob das aktuelle entry die Rolle ABC hat, also:
If entry.IsRoleEnabled( "[ROLLE_ABC]" ) Then...
Feldwert-Liste befüllen...

Das Ganze würde ich zB ausführen, wenn das Doc in den Editmode gesetzt wird, dann ein verstecktes Multivaluefeld befüllen, das einem dritten Feld = Auswahlfeld als Schlüsselwortliste dient


edit: @ata, ich sehe Du hast es schon passend.  :)
« Letzte Änderung: 09.12.02 - 10:57:08 von Rob Green »
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz