# HG changeset patch # User Paul Boddie # Date 1443452643 -7200 # Node ID 2c7a4ff3b8a80a46e1c4368f3f82c2e00985e263 # Parent a5d8322e0c318e42e1eb36f5e7f73d6008194852 Fixed recurrence cancellation support. diff -r a5d8322e0c31 -r 2c7a4ff3b8a8 imipweb/client.py --- a/imipweb/client.py Mon Sep 28 17:03:39 2015 +0200 +++ b/imipweb/client.py Mon Sep 28 17:04:03 2015 +0200 @@ -130,7 +130,7 @@ for p in to_unschedule: if not p.origin: continue - obj["RECURRENCE-ID"] = [p.get_start_item()] + obj["RECURRENCE-ID"] = [(format_datetime(p.get_start()), p.get_start_attr())] parts.append(obj.to_part("CANCEL")) # Send the updated event, along with a cancellation for each of the diff -r a5d8322e0c31 -r 2c7a4ff3b8a8 imipweb/event.py --- a/imipweb/event.py Mon Sep 28 17:03:39 2015 +0200 +++ b/imipweb/event.py Mon Sep 28 17:04:03 2015 +0200 @@ -715,7 +715,7 @@ # Set the periods in the object, first obtaining removed and # modified period information. - to_unschedule = self.get_removed_periods() + to_unschedule = self.get_removed_periods(periods) self.obj.set_period(period) self.obj.set_periods(periods) @@ -837,9 +837,12 @@ return periods - def get_removed_periods(self): + def get_removed_periods(self, periods): - "Return a list of recurrence periods to remove upon updating an event." + """ + Return those from the recurrence 'periods' to remove upon updating an + event. + """ to_unschedule = [] args = self.env.get_args()