diff --git a/addons/stock/models/stock_picking.py b/addons/stock/models/stock_picking.py index ecb8f6262da..362867fee0f 100644 --- a/addons/stock/models/stock_picking.py +++ b/addons/stock/models/stock_picking.py @@ -821,6 +821,14 @@ class Picking(models.Model): self.write({'printed': True}) return self.env.ref('stock.action_report_picking').report_action(self) + def should_print_delivery_address(self): + self.ensure_one() + return self.move_ids_without_package and self.move_ids_without_package[0].partner_id and self._is_to_external_location() + + def _is_to_external_location(self): + self.ensure_one() + return self.picking_type_code == 'outgoing' + def action_confirm(self): self._check_company() self.mapped('package_level_ids').filtered(lambda pl: pl.state == 'draft' and not pl.move_ids)._generate_moves() diff --git a/addons/stock/report/report_deliveryslip.xml b/addons/stock/report/report_deliveryslip.xml index b81471bd2a4..801148c98c1 100644 --- a/addons/stock/report/report_deliveryslip.xml +++ b/addons/stock/report/report_deliveryslip.xml @@ -9,13 +9,13 @@
+ t-if="o.should_print_delivery_address()"> Delivery Address:
+ t-elif="o.picking_type_id.code != 'internal' and o.picking_type_id.warehouse_id.partner_id"> Warehouse Address:
diff --git a/addons/stock_dropshipping/models/stock.py b/addons/stock_dropshipping/models/stock.py index a0382350d5c..f725d1e9251 100644 --- a/addons/stock_dropshipping/models/stock.py +++ b/addons/stock_dropshipping/models/stock.py @@ -35,6 +35,9 @@ class StockPicking(models.Model): for picking in self: picking.is_dropship = picking.location_dest_id.usage == 'customer' and picking.location_id.usage == 'supplier' + def _is_to_external_location(self): + self.ensure_one() + return super()._is_to_external_location() or self.is_dropship class StockPickingType(models.Model): _inherit = 'stock.picking.type'