1.1 --- a/imipweb/event.py Sun May 17 00:40:01 2015 +0200
1.2 +++ b/imipweb/event.py Sun May 17 01:12:05 2015 +0200
1.3 @@ -22,8 +22,9 @@
1.4 from datetime import date, datetime, timedelta
1.5 from imiptools.client import update_attendees, update_participation
1.6 from imiptools.data import get_uri, uri_dict, uri_values
1.7 -from imiptools.dates import format_datetime, to_date, get_datetime, \
1.8 - get_datetime_item, get_period_item, to_datetime, \
1.9 +from imiptools.dates import end_date_from_calendar, format_datetime, \
1.10 + get_datetime, get_datetime_item, get_period_item, \
1.11 + to_date, to_datetime, \
1.12 to_recurrence_start, to_timezone, to_utc_datetime
1.13 from imiptools.mail import Messenger
1.14 from imiptools.period import have_conflict
1.15 @@ -93,6 +94,7 @@
1.16
1.17 args = self.env.get_args()
1.18 uid = obj.get_uid()
1.19 + recurrenceid = obj.get_recurrenceid()
1.20
1.21 # Get the possible actions.
1.22
1.23 @@ -216,9 +218,8 @@
1.24
1.25 "Set in the given 'obj' the given 'period' as the main start and end."
1.26
1.27 - p = event_period_from_period(period)
1.28 - result = self.set_datetime_in_object(p.get_start(), p.start_attr and p.start_attr.get("TZID"), "DTSTART", obj)
1.29 - result = self.set_datetime_in_object(p.get_end(), p.end_attr and p.end_attr.get("TZID"), "DTEND", obj) or result
1.30 + result = self.set_datetime_in_object(period.get_start(), period.start_attr and period.start_attr.get("TZID"), "DTSTART", obj)
1.31 + result = self.set_datetime_in_object(period.get_calendar_end(), period.end_attr and period.end_attr.get("TZID"), "DTEND", obj) or result
1.32 return result
1.33
1.34 def set_periods_in_object(self, obj, periods):
1.35 @@ -236,7 +237,7 @@
1.36 for p in periods:
1.37 if p.origin != "RRULE":
1.38 tzid = p.start_attr and p.start_attr.get("TZID") or p.end_attr and p.end_attr.get("TZID")
1.39 - new_rdates.append(get_period_item(p.get_start(), p.get_end(), tzid))
1.40 + new_rdates.append(get_period_item(p.get_start(), p.get_calendar_end(), tzid))
1.41
1.42 obj["RDATE"] = new_rdates
1.43
1.44 @@ -333,7 +334,7 @@
1.45 else:
1.46 dtend, dtend_attr = dtstart, dtstart_attr
1.47
1.48 - return EventPeriod(dtstart, dtend, dtstart_attr, dtend_attr)
1.49 + return EventPeriod(dtstart, end_date_from_calendar(dtend), dtstart_attr, dtend_attr)
1.50
1.51 def get_main_period(self):
1.52