From 832b4145606097925351a3fe5f51177428bd1e14 Mon Sep 17 00:00:00 2001
From: Walid <waha@odoo.com>
Date: Fri, 26 May 2023 12:44:14 +0000
Subject: [PATCH] [FIX] stock: dropshiping delivery slip in client's language

Steps to reprodue:
- Create a dropshipped product
- Sell the product to a client with a different language set
- Print the delivery slip

Bug:
delivery slip is currently being printed in the vendor's language

Fix:
Print the delivery slip in the client language when possible

opw-3193015

closes odoo/odoo#121305

Signed-off-by: Adrien Widart (awt) <awt@odoo.com>
---
 addons/stock/models/stock_picking.py        | 3 +++
 addons/stock/report/report_deliveryslip.xml | 4 ++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/addons/stock/models/stock_picking.py b/addons/stock/models/stock_picking.py
index cfee4995053b..15fae4367737 100644
--- a/addons/stock/models/stock_picking.py
+++ b/addons/stock/models/stock_picking.py
@@ -1433,3 +1433,6 @@ class Picking(models.Model):
             body=message,
         )
         return True
+
+    def _get_report_lang(self):
+        return self.move_lines and self.move_lines[0].partner_id.lang or self.partner_id.lang or self.env.lang
diff --git a/addons/stock/report/report_deliveryslip.xml b/addons/stock/report/report_deliveryslip.xml
index bb2139debde2..a9fe1dc9eef4 100644
--- a/addons/stock/report/report_deliveryslip.xml
+++ b/addons/stock/report/report_deliveryslip.xml
@@ -3,7 +3,7 @@
     <template id="report_delivery_document">
         <t t-call="web.html_container">
             <t t-call="web.external_layout">
-                <t t-set="o" t-value="o.with_context(lang=o.partner_id.lang or o.env.lang)" />
+                <t t-set="o" t-value="o.with_context(lang=o._get_report_lang())" />
                 <t t-set="partner" t-value="o.partner_id or (o.move_lines and o.move_lines[0].partner_id) or False"/>
                 <t t-if="partner" name="partner_header">
                     <t t-set="address">
@@ -229,7 +229,7 @@
 
     <template id="report_deliveryslip">
         <t t-foreach="docs" t-as="o">
-            <t t-call="stock.report_delivery_document" t-lang="o.partner_id.lang or o.env.lang"/>
+            <t t-call="stock.report_delivery_document" t-lang="o._get_report_lang()"/>
         </t>
     </template>
 </odoo>
-- 
GitLab