def _get_recurrence_params(self): if not self: return {} event_date = self._get_start_date() weekday_field_name = weekday_to_field(event_date.weekday()) return { weekday_field_name: True, 'weekday': weekday_field_name.upper(), 'byday': str(get_weekday_occurence(event_date)), 'day': event_date.day, }
def _split_recurrence(self, time_values): """Apply time changes to events and update the recurrence accordingly. :return: detached events """ if not time_values: return self.browse() previous_week_day_field = weekday_to_field(self._get_start_date().weekday()) self.write(time_values) return self._apply_recurrence_values({ previous_week_day_field: False, **self._get_recurrence_params(), }, future=True)