From 22778bc02acf22bb0b587b90cb56ec659832ae29 Mon Sep 17 00:00:00 2001 From: Cedric Collins Date: Mon, 13 Sep 2021 16:26:56 -0500 Subject: [PATCH] [IMP] delivery_fedex_hibou: convert local delivery times to UTC --- delivery_fedex_hibou/models/delivery_fedex.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/delivery_fedex_hibou/models/delivery_fedex.py b/delivery_fedex_hibou/models/delivery_fedex.py index cb5b2fb9..d1d6c450 100644 --- a/delivery_fedex_hibou/models/delivery_fedex.py +++ b/delivery_fedex_hibou/models/delivery_fedex.py @@ -1,4 +1,5 @@ import logging +import pytz from odoo import fields, models, tools, _ from odoo.exceptions import UserError, ValidationError from odoo.addons.delivery_fedex.models.delivery_fedex import _convert_curr_iso_fdx @@ -200,11 +201,15 @@ class DeliveryFedex(models.Model): 'error_message': _('Error:\n%s') % request['errors_message'], 'warning_message': False} + date_delivered = request.get('date_delivered', False) + if date_delivered: + tz = pytz.timezone(self.delivery_calendar_id.tz) + date_delivered = tz.localize(date_delivered).astimezone(pytz.utc).replace(tzinfo=None) return {'success': True, 'price': price, 'error_message': False, 'transit_days': request.get('transit_days', False), - 'date_delivered': request.get('date_delivered', False), + 'date_delivered': date_delivered, 'warning_message': _('Warning:\n%s') % warnings if warnings else False} """ @@ -633,12 +638,16 @@ class DeliveryFedex(models.Model): service_code = request['service_code'] carrier = self.fedex_find_delivery_carrier_for_service(service_code) if carrier: + date_delivered = request.get('date_delivered', False) + if date_delivered: + tz = pytz.timezone(self.delivery_calendar_id.tz) + date_delivered = tz.localize(date_delivered).astimezone(pytz.utc).replace(tzinfo=None) result.append({'carrier': carrier, 'success': True, 'price': price, 'error_message': False, 'transit_days': request.get('transit_days', False), - 'date_delivered': request.get('date_delivered', False), + 'date_delivered': date_delivered, 'date_planned': date_planned, 'warning_message': _('Warning:\n%s') % warnings if warnings else False, 'service_code': request['service_code'],