1.1 --- a/imip_manager.py Sun Feb 08 21:52:50 2015 +0100
1.2 +++ b/imip_manager.py Sun Feb 08 22:15:17 2015 +0100
1.3 @@ -41,7 +41,7 @@
1.4 from imiptools.period import add_day_start_points, add_empty_days, add_slots, \
1.5 convert_periods, get_freebusy_details, \
1.6 get_scale, have_conflict, get_slots, get_spans, \
1.7 - partition_by_day
1.8 + partition_by_day, remove_from_freebusy, update_freebusy
1.9 from imiptools.profile import Preferences
1.10 import imip_store
1.11 import markup
1.12 @@ -323,6 +323,16 @@
1.13 def remove_event(self, uid):
1.14 return self.store.remove_event(self.user, uid)
1.15
1.16 + def update_freebusy(self, uid, obj):
1.17 + tzid = self.get_tzid()
1.18 + freebusy = self.store.get_freebusy(self.user)
1.19 + update_freebusy(freebusy, self.user, obj.get_periods_for_freebusy(tzid),
1.20 + obj.get_value("TRANSP"), uid, self.store)
1.21 +
1.22 + def remove_from_freebusy(self, uid):
1.23 + freebusy = self.store.get_freebusy(self.user)
1.24 + remove_from_freebusy(freebusy, self.user, uid, self.store)
1.25 +
1.26 # Presentation methods.
1.27
1.28 def new_page(self, title):
1.29 @@ -544,12 +554,13 @@
1.30
1.31 elif save:
1.32 self.store.set_event(self.user, uid, obj.to_node())
1.33 - freebusy = self.store.get_freebusy(self.user)
1.34 + self.update_freebusy(uid, obj)
1.35 self.remove_request(uid)
1.36
1.37 # Remove the request and the object.
1.38
1.39 elif discard:
1.40 + self.remove_from_freebusy(uid)
1.41 self.remove_event(uid)
1.42 self.remove_request(uid)
1.43