summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Masereel <pim@odoo.com>2019-01-09 12:52:01 +0000
committerPierre Masereel <pim@odoo.com>2019-01-09 12:52:01 +0000
commitad40ed029ce0cf7cafec4454b4e9ca3a8db33d55 (patch)
treeb43306631d4b943b9687950c308ab419188dba7e
parenta323b86ecbcad3ede67d8d656655d40bcdc9e6e9 (diff)
[FIX] delivery: weight computation without quant
The weight computation was not working anymore on packages that don't have any quant, because they are fresh ones. We fix this by setting back the behaviour with the picking id in context and adapt the function to find the corresponding move lines. closes odoo/odoo#30071
-rw-r--r--addons/delivery/models/stock_picking.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/addons/delivery/models/stock_picking.py b/addons/delivery/models/stock_picking.py
index a9afc258004..e8a1344cb08 100644
--- a/addons/delivery/models/stock_picking.py
+++ b/addons/delivery/models/stock_picking.py
@@ -16,8 +16,13 @@ class StockQuantPackage(models.Model):
@api.depends('quant_ids')
def _compute_weight(self):
weight = 0.0
- for quant in self.quant_ids:
- weight += quant.quantity * quant.product_id.weight
+ if self.env.context.get('picking_id'):
+ current_picking_move_line_ids = self.env['stock.move.line'].search([('result_package_id', '=', self.id), ('picking_id', '=', self.env.context['picking_id'])])
+ for ml in current_picking_move_line_ids:
+ weight += ml.product_uom_id._compute_quantity(ml.qty_done,ml.product_id.uom_id) * ml.product_id.weight
+ else:
+ for quant in self.quant_ids:
+ weight += quant.quantity * quant.product_id.weight
self.weight = weight
weight = fields.Float(compute='_compute_weight', help="Weight computed based on the sum of the weights of the products.")