Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Event cloning with monthly interval fails #1580
# Ticket imported from Trac
Cloning an event with monthly intervals fails when the start date is set to the last day of a month with 31 days. This is caused by the way we iterate months: creating a new date object using the day of start_date. This happens both for Clone the event with a fixed interval and Clone the agenda on given days.
The patch should be done using dateutil.rrule in both cases.
For the first type of repetitions we should keep the day of the month unless it doesn't exist for a particular month. In that case we will create the event on the last day of the month. i.e. January 31, February 28, March 31, ...
For the second type of repetitions we should make sure that we don't skip months that don't have 5th weekday and creating the event on the 4th weekday as a fallback. i.e. 5th Sunday of November, 4th Sunday of December, ... 5th Sunday of March.
The issue is not fixed for monthly repetition cloning that starts for example at 31st of October, the recurrence in November is ignored, instead of forced to compose last day of month.
According to dateutil.rrule docs: 'recurrence instances falling on invalid dates and times are ignored rather than coerced'