From fb9824e5df413362f927ed3cdbcbbef248b5832f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesu=CC=81s=20Alan=20Ramos=20Rodri=CC=81guez?= Date: Fri, 14 Jul 2023 12:33:49 -0600 Subject: [PATCH] [FIX] purchase_request: fix datetime from request to order in other timezone that is not UTC --- .../purchase_request_line_make_purchase_order.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/purchase_request/wizard/purchase_request_line_make_purchase_order.py b/purchase_request/wizard/purchase_request_line_make_purchase_order.py index bb5bfd2e71d..06af413cc9a 100644 --- a/purchase_request/wizard/purchase_request_line_make_purchase_order.py +++ b/purchase_request/wizard/purchase_request_line_make_purchase_order.py @@ -176,7 +176,8 @@ def _prepare_purchase_order_line(self, po, item): # Suggest the supplier min qty as it's done in Odoo core min_qty = item.line_id._get_supplier_min_qty(product, po.partner_id) qty = max(qty, min_qty) - date_required = item.line_id.date_required + date_required = fields.Datetime.to_datetime(item.line_id.date_required) + context_date = fields.Datetime.context_timestamp(self, date_required) vals = { "name": product.name, "order_id": po.id, @@ -186,9 +187,7 @@ def _prepare_purchase_order_line(self, po, item): "product_qty": qty, "account_analytic_id": item.line_id.analytic_account_id.id, "purchase_request_lines": [(4, item.line_id.id)], - "date_planned": datetime( - date_required.year, date_required.month, date_required.day - ), + "date_planned": date_required - context_date.utcoffset(), "move_dest_ids": [(4, x.id) for x in item.line_id.move_dest_ids], } if item.line_id.analytic_tag_ids: @@ -303,10 +302,9 @@ def make_purchase_order(self): po_line._onchange_quantity() # The onchange quantity is altering the scheduled date of the PO # lines. We do not want that: - date_required = item.line_id.date_required - po_line.date_planned = datetime( - date_required.year, date_required.month, date_required.day - ) + date_required = fields.Datetime.to_datetime(item.line_id.date_required) + context_date = fields.Datetime.context_timestamp(self, date_required) + po_line.date_planned = date_required - context_date.utcoffset() res.append(purchase.id) return {