From e48a6607919f9471ef3a9467736e5e5c8bae4313 Mon Sep 17 00:00:00 2001 From: Goffin Simon Date: Mon, 2 Nov 2015 17:52:31 +0100 Subject: [PATCH] [FIX] calendar: onchange_dates When creating a calendar event with all_day=False, the fields 'start' and 'stop' did not have to be set by onchange_dates due to a bad datetime format. Then the function used to set fields 'start', 'stop', 'start_date' and 'end_date' must be onchange_duration(only used when with all_day=False). This function has been introduced by b7e393a. opw:653045 --- addons/calendar/calendar.py | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/addons/calendar/calendar.py b/addons/calendar/calendar.py index 62f149e161d..cc15abc5291 100644 --- a/addons/calendar/calendar.py +++ b/addons/calendar/calendar.py @@ -1011,8 +1011,10 @@ class calendar_event(osv.Model): return value start = datetime.strptime(start, DEFAULT_SERVER_DATETIME_FORMAT) value['stop_date'] = (start + timedelta(hours=duration)).strftime(DEFAULT_SERVER_DATE_FORMAT) + value['stop'] = (start + timedelta(hours=duration)).strftime(DEFAULT_SERVER_DATETIME_FORMAT) value['stop_datetime'] = (start + timedelta(hours=duration)).strftime(DEFAULT_SERVER_DATETIME_FORMAT) value['start_date'] = start.strftime(DEFAULT_SERVER_DATE_FORMAT) + value['start'] = start.strftime(DEFAULT_SERVER_DATETIME_FORMAT) return {'value': value} def onchange_dates(self, cr, uid, ids, fromtype, start=False, end=False, checkallday=False, allday=False, context=None): @@ -1038,16 +1040,6 @@ class calendar_event(osv.Model): value['stop_datetime'] = datetime.strftime(end, DEFAULT_SERVER_DATETIME_FORMAT) value['stop'] = datetime.strftime(end, DEFAULT_SERVER_DATETIME_FORMAT) - else: - if fromtype == 'start' and start: - start = datetime.strptime(start, DEFAULT_SERVER_DATETIME_FORMAT) - value['start_date'] = datetime.strftime(start, DEFAULT_SERVER_DATE_FORMAT) - value['start'] = datetime.strftime(start, DEFAULT_SERVER_DATETIME_FORMAT) - if fromtype == 'stop' and end: - end = datetime.strptime(end, DEFAULT_SERVER_DATETIME_FORMAT) - value['stop_date'] = datetime.strftime(end, DEFAULT_SERVER_DATE_FORMAT) - value['stop'] = datetime.strftime(end, DEFAULT_SERVER_DATETIME_FORMAT) - return {'value': value} def new_invitation_token(self, cr, uid, record, partner_id):