1.1 --- a/imiptools/handlers/resource.py Sun Oct 26 23:39:11 2014 +0100
1.2 +++ b/imiptools/handlers/resource.py Mon Oct 27 16:37:31 2014 +0100
1.3 @@ -74,21 +74,20 @@
1.4 # free/busy record and check for suitability.
1.5
1.6 periods = self.get_periods()
1.7 - freebusy = self.update_freebusy(attendee, periods)
1.8 - scheduled = freebusy is not None
1.9 + freebusy = self.store.get_freebusy(attendee) or []
1.10 + scheduled = self.can_schedule(freebusy, periods)
1.11
1.12 attendee_attr["PARTSTAT"] = scheduled and "ACCEPTED" or "DECLINED"
1.13 -
1.14 self.details["ATTENDEE"] = [(attendee, attendee_attr)]
1.15
1.16 - calendar.append(to_node(
1.17 - {"VEVENT" : [(self.details, {})]}
1.18 - ))
1.19 + event = to_node({"VEVENT" : [(self.details, {})]})
1.20 + calendar.append(event)
1.21 + self.store.set_event(attendee, self.uid, event)
1.22 +
1.23 + # Only update free/busy details if the event is scheduled.
1.24
1.25 if scheduled:
1.26 - self.store.set_event(attendee, self.uid, to_node(
1.27 - {"VEVENT" : [(self.details, {})]}
1.28 - ))
1.29 + self.update_freebusy(freebusy, attendee, periods)
1.30 if self.publisher:
1.31 self.publisher.set_freebusy(attendee, freebusy)
1.32