Better detect resource collections who already delegated the event

Authored by fjl on Jul 3 2018, 1:17 PM.


Group Reviewers
PyKolab Developers

Even with D461 applied, invitations created by Outlook that contain both participants and resources still fail to update the resource's calendar: The resource reservation ist sent with CUTYPE=RESOURCE;ROLE=NON-PARTICIPANT;RSVP=TRUE. Wallace seems to mis-interprets the ROLE=NON-PARTICIPANT as being part of a delegated resource:

# ignore updates and cancellations to resource collections who already delegated the event
if len(receiving_attendee.get_delegated_to()) > 0 or receiving_attendee.get_role() == kolabformat.NonParticipant:

When delegating a resource, Wallace sets both the role and rsvp state:

# set delegator to NON-PARTICIPANT and RSVP=FALSE
delegator = itip_event['xml'].get_attendee_by_email(original_resource['mail'])

We can take advantage of that and test on both role and rsvp state:

if len(receiving_attendee.get_delegated_to()) > 0 or (receiving_attendee.get_role() == kolabformat.NonParticipant and not receiving_attendee.get_rsvp()):
Test Plan

Use Outlook 2016 to send an invitation to real participants and add a resource reservation. The iTip will contain both as attendee:


Diff Detail

rP pykolab
Lint Skipped
Unit Tests Skipped

Event Timeline

fjl created this revision.Jul 3 2018, 1:17 PM
fjl created this object with edit policy "PyKolab Developers (Project)".
pasik added a subscriber: pasik.Jul 3 2018, 1:28 PM
pasik added a comment.Oct 12 2018, 2:35 PM

Could anyone please review this patch? it sounds like an important fix to have.

fjl added a comment.Nov 23 2018, 9:01 AM

Is there any action I can take to aid in getting this patch (and others) into Kolab?

vanmeeuwen accepted this revision.May 17 2019, 10:13 AM
vanmeeuwen added a subscriber: vanmeeuwen.

Thanks @fjl.

This revision is now accepted and ready to land.May 17 2019, 10:13 AM
vanmeeuwen closed this revision.May 17 2019, 10:19 AM

Your patches seem not to apply normally...

Slightly modified version will be included in pykolab-0.8.11.