From c89993df6730cded68abdb7c5a0485b75aed6909 Mon Sep 17 00:00:00 2001 From: Pierre Masereel Date: Mon, 8 Apr 2019 13:43:25 +0000 Subject: [PATCH] [IMP] delivery: add estimated price on picking --- addons/delivery/models/sale_order.py | 7 +++++++ addons/delivery/models/stock_picking.py | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/addons/delivery/models/sale_order.py b/addons/delivery/models/sale_order.py index ff3eb2c1a35..0f0adfa07ce 100644 --- a/addons/delivery/models/sale_order.py +++ b/addons/delivery/models/sale_order.py @@ -131,6 +131,13 @@ class SaleOrder(models.Model): if all(line.product_id.invoice_policy == 'delivery' and line.invoice_status == 'no' for line in order_lines): order.invoice_status = 'no' + def _get_estimated_weight(self): + self.ensure_one() + weight = 0.0 + for order_line in self.order_line.filtered(lambda l: l.product_id.type in ['product', 'consu'] and not l.is_delivery and not l.display_type): + weight += order_line.product_qty * order_line.product_id.weight + return weight + class SaleOrderLine(models.Model): _inherit = 'sale.order.line' diff --git a/addons/delivery/models/stock_picking.py b/addons/delivery/models/stock_picking.py index d006e7fd036..46af527b1aa 100644 --- a/addons/delivery/models/stock_picking.py +++ b/addons/delivery/models/stock_picking.py @@ -225,6 +225,13 @@ class StockPicking(models.Model): raise UserError(_('You are shipping different packaging types in the same shipment.\nPackaging Types: %s' % package_names)) return True + def _get_estimated_weight(self): + self.ensure_one() + weight = 0.0 + for move in self.move_lines: + weight += move.product_qty * move.product_id.weight + return weight + class StockReturnPicking(models.TransientModel): _inherit = 'stock.return.picking'