1.1 --- a/imip_manager.py Wed Mar 25 17:57:42 2015 +0100
1.2 +++ b/imip_manager.py Wed Mar 25 18:04:26 2015 +0100
1.3 @@ -31,6 +31,7 @@
1.4
1.5 sys.path.append(LIBRARY_PATH)
1.6
1.7 +from imiptools.client import update_attendees
1.8 from imiptools.data import get_address, get_uri, get_window_end, make_freebusy, \
1.9 Object, to_part, \
1.10 uri_dict, uri_item, uri_items, uri_values
1.11 @@ -78,39 +79,6 @@
1.12 def get_window_end(self):
1.13 return get_window_end(self.get_tzid(), self.get_window_size())
1.14
1.15 - def update_attendees(self, obj, added, removed):
1.16 -
1.17 - """
1.18 - Update the attendees in 'obj' with the given 'added' and 'removed'
1.19 - attendee lists. A list is returned containing the attendees whose
1.20 - attendance should be cancelled.
1.21 - """
1.22 -
1.23 - to_cancel = []
1.24 -
1.25 - if added or removed:
1.26 - attendees = uri_items(obj.get_items("ATTENDEE") or [])
1.27 -
1.28 - if removed:
1.29 - remaining = []
1.30 -
1.31 - for attendee, attendee_attr in attendees:
1.32 - if attendee in removed:
1.33 - if attendee_attr.get("PARTSTAT") in ("ACCEPTED", "TENTATIVE"):
1.34 - to_cancel.append((attendee, attendee_attr))
1.35 - else:
1.36 - remaining.append((attendee, attendee_attr))
1.37 -
1.38 - attendees = remaining
1.39 -
1.40 - if added:
1.41 - for attendee in added:
1.42 - attendees.append((attendee, {"PARTSTAT" : "NEEDS-ACTION", "RSVP" : "TRUE"}))
1.43 -
1.44 - obj["ATTENDEE"] = attendees
1.45 -
1.46 - return to_cancel
1.47 -
1.48 class ManagerHandler(Common, Handler):
1.49
1.50 """
1.51 @@ -239,7 +207,7 @@
1.52
1.53 # Update the attendees in the event.
1.54
1.55 - to_cancel = self.update_attendees(self.obj, added, removed)
1.56 + to_cancel = update_attendees(self.obj, added, removed)
1.57
1.58 self.update_dtstamp()
1.59 self.set_sequence(update)
1.60 @@ -646,7 +614,7 @@
1.61 # Save single user events.
1.62
1.63 elif save:
1.64 - to_cancel = self.update_attendees(obj, added, removed)
1.65 + to_cancel = update_attendees(obj, added, removed)
1.66 self.store.set_event(self.user, uid, recurrenceid, node=obj.to_node())
1.67 self.update_freebusy(uid, recurrenceid, obj)
1.68 self.remove_request(uid, recurrenceid)