Autor Thema: Berechtigunsproblem beim Kalendereintrag via Agent  (Gelesen 1529 mal)

Offline EUWE_MAX

  • Junior Mitglied
  • **
  • Beiträge: 73
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Habe ein Berechtigungsproblem beim Kalendereintrag via Agent

Agent ist signiert mit "Developer"
"Developer" ist im Serverdokument Sicherheit authorisiert

Urlaubsantrag wird gestellt von A an Vorgesetzten/Bewilliger B

B bewilligt und der Agent soll in der  DB  von A im Kalender den Urlaub buchen, dies wird abgewiesen mangels Rechten !?

Sobald aber Bewilliger B Einlieferer in der ACL  von A ist, geht der Kalendereintrag...
Kann ja nicht sein, das jeder User seine Bewilliger in seine ACL einträgt als Einlieferer....

Weiß mgl. jemand wo der Fehler / mein Unverständnis liegt ?

schönen Dank und Gruss Max

SCRIPT:
Sub Initialize
   Dim workspace As New NotesUIWorkspace
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim dbmail As NotesDatabase
   Dim doc As NotesDocument
   Dim uidoc As NotesUIDocument
   Dim dateRange As NotesDateRange
   Dim art As String   
   Dim tmpdate As String
   Dim tmpdate2 As String
   Dim datum_von As String
   Dim datum_bis As String
   Dim startDate As NotesDateTime
   Dim endDate As NotesDateTime
   Dim reg As New NotesRegistration
   
   
   Set db = session.CurrentDatabase
   Set uidoc = workspace.CurrentDocument
   Set doc = New NotesDocument( db )
   doc.Form = "Urlaub"
   
   datum_von = uidoc.FieldGetText( "datum_1" )
   datum_bis = uidoc.FieldGetText( "datum_2" )
   
   art = uidoc.FieldGetText( "art_1" )
   db_name = uidoc.FieldGetText("MailDb" )
   
   Set startDate = New NotesDateTime (datum_von)
   Set endDate = New NotesDateTime(datum_bis)
   
   reg.RegistrationServer= "Lotus1"
   Set dbmail = session.GetDatabase("Lotus1/Org",db_name,False)   
   
   Set doc = dbmail.CreateDocument
   
   doc.Form = "Appointment"
   doc.subject = art + "  vom " + datum_von + " bis " + datum_bis
   doc.AppointmentType="2"
   Set dateRange = session.CreateDateRange
   
   tmpDate = datum_von + " 04:00:00"
   tmpDate2 = datum_bis + " 23:59:59"   
   
   Set ndt_datum_von = New NotesDateTime(tmpDate)
   Set ndt_datum_bis = New NotesDateTime(datum_bis + " 23:59:59")
   
   Dim ndt_CalendarDateTime As Variant
   Redim ndt_CalendarDateTime(0)
   
   ndt_CalendarDateTime(0) = ndt_datum_von.LSLocalTime
   Call ndt_datum_von.AdjustDay(1)
   
   i = 0
   While ndt_datum_bis.TimeDifference(ndt_datum_von) > 0
      Redim Preserve ndt_CalendarDateTime(Ubound(ndt_CalendarDateTime) + 1)
      ndt_CalendarDateTime(Ubound(ndt_CalendarDateTime)) = ndt_datum_von.LSLocalTime
      Call ndt_datum_von.AdjustDay(1)
   Wend
   
   doc.CalendarDateTime = ndt_CalendarDateTime
   
   Set dateRange.StartDateTime = startDate
   Set dateRange.EndDateTime = endDate
   Set doc.TimeRange = dateRange
   doc.SequenceNum = 1
   doc.OrgTable = "P0"
   
   Set doc.StartDateTime = New NotesDateTime (tmpDate)
   Set doc.StartDate = New NotesDateTime (tmpDate)
   Set doc.EndDateTime = New NotesDateTime (tmpDate2)
   Call doc.ReplaceItemValue("_ViewIcon",9)
   Call doc.ComputeWithForm(False,False)
   Call doc.Save(True,False,True)   
End Sub
« Letzte Änderung: 09.06.04 - 13:13:19 von EUWE_MAX »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Berechtigunsproblem beim Kalendereintrag via Agent
« Antwort #1 am: 09.06.04 - 11:53:22 »
Der Agent läuft im FrontEnd und damit mit den Rechten des aktuellen Users. Ausserdem ist der Eintrag des Users "Developer" im Serverdokument hier belanglos - wenn, müsste Developer in der ACL des Mailfiles eingetragen sein.
Funktionieren kann das nur, wenn der Agent scheduled auf dem Server läuft, statt im FrontEnd. Dann wäre es das einfachste, wenn der Agent mit der Server-ID signiert ist, da der Server ja Zugriff auf die Mailfiles haben sollte.

HTH,
Bernhard


Offline EUWE_MAX

  • Junior Mitglied
  • **
  • Beiträge: 73
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Berechtigunsproblem beim Kalendereintrag via Agent
« Antwort #2 am: 09.06.04 - 13:47:37 »
Danke für den Hinweis Bernhard.

Ich arbeite mich gerade in LS ein,
da sind solche Fingerzeige für mich sehr hilfreich.

Das mit Backend und Frontend habe ich noch nicht so auf dem Schirm.

schönen Gruß und Dank Max

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Berechtigunsproblem beim Kalendereintrag via Agent
« Antwort #3 am: 09.06.04 - 14:10:24 »
Simple gesagt: "Frontend" ist all das, was auch der User mit dem Client machen kann. Die Klassen haben alle das "UI" im Namen. UI-Klassen dürfen für server based agents nicht verwendet werden.
"Backend" ist all das, was direkt in der DB (auf Festplatte) passiert.

HTH,
Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz