1.1 --- a/imipweb/event.py Sun Oct 18 23:58:02 2015 +0200
1.2 +++ b/imipweb/event.py Mon Oct 19 14:52:02 2015 +0200
1.3 @@ -830,14 +830,18 @@
1.4
1.5 to_unschedule, to_exclude = self.get_removed_periods(periods)
1.6 periods = set(periods)
1.7 + active_periods = [p for p in periods if not p.replaced]
1.8
1.9 changed = self.obj.set_period(period) or changed
1.10 changed = self.obj.set_periods(periods) or changed
1.11 - changed = self.obj.update_exceptions(to_exclude) or changed
1.12 +
1.13 + # Add and remove exceptions.
1.14 +
1.15 + changed = self.obj.update_exceptions(to_exclude, active_periods) or changed
1.16
1.17 # Assert periods restored after cancellation.
1.18
1.19 - changed = self.revert_cancellations([p for p in periods if not p.replaced]) or changed
1.20 + changed = self.revert_cancellations(active_periods) or changed
1.21
1.22 # Organiser-only changes...
1.23