diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index 3446d71c0e5..9b61ec2130c 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -604,7 +604,7 @@ class purchase_order(osv.osv): :return: UTC datetime string for server-side use """ # TODO: move to fields.datetime in server after 7.0 - user_datetime = datetime.strptime(userdate, DEFAULT_SERVER_DATE_FORMAT) + relativedelta(hours=12.0) + user_date = datetime.strptime(userdate, DEFAULT_SERVER_DATE_FORMAT) if context and context.get('tz'): tz_name = context['tz'] else: @@ -612,10 +612,11 @@ class purchase_order(osv.osv): if tz_name: utc = pytz.timezone('UTC') context_tz = pytz.timezone(tz_name) + user_datetime = user_date + relativedelta(hours=12.0) local_timestamp = context_tz.localize(user_datetime, is_dst=False) user_datetime = local_timestamp.astimezone(utc) return user_datetime.strftime(DEFAULT_SERVER_DATETIME_FORMAT) - return userdate + return user_date.strftime(DEFAULT_SERVER_DATETIME_FORMAT) def _prepare_order_picking(self, cr, uid, order, context=None): return { diff --git a/addons/sale_stock/sale_stock.py b/addons/sale_stock/sale_stock.py index e874bc7fdcc..d7208b63859 100644 --- a/addons/sale_stock/sale_stock.py +++ b/addons/sale_stock/sale_stock.py @@ -243,7 +243,7 @@ class sale_order(osv.osv): :return: UTC datetime string for server-side use """ # TODO: move to fields.datetime in server after 7.0 - user_datetime = datetime.strptime(userdate, DEFAULT_SERVER_DATE_FORMAT) + relativedelta(hours=12.0) + user_date = datetime.strptime(userdate, DEFAULT_SERVER_DATE_FORMAT) if context and context.get('tz'): tz_name = context['tz'] else: @@ -251,10 +251,11 @@ class sale_order(osv.osv): if tz_name: utc = pytz.timezone('UTC') context_tz = pytz.timezone(tz_name) + user_datetime = user_date + relativedelta(hours=12.0) local_timestamp = context_tz.localize(user_datetime, is_dst=False) user_datetime = local_timestamp.astimezone(utc) return user_datetime.strftime(DEFAULT_SERVER_DATETIME_FORMAT) - return userdate + return user_date.strftime(DEFAULT_SERVER_DATETIME_FORMAT) # if mode == 'finished': # returns True if all lines are done, False otherwise