diff --git a/rma_sale/models/sale.py b/rma_sale/models/sale.py index 54f59860..28ff0b14 100644 --- a/rma_sale/models/sale.py +++ b/rma_sale/models/sale.py @@ -37,6 +37,7 @@ class SaleOrder(models.Model): line_vals = [(0, 0, { 'product_id': data['product'].id, 'quantity': data['quantity'], + 'sale_line_id': data['sale_line_id'].id, 'uom_id': data['uom'].id, 'picking_id': data['picking'] and data['picking'].id, }) for data in self.get_delivery_rma_data()] @@ -84,7 +85,7 @@ class SaleOrderLine(models.Model): def get_delivery_move(self): self.ensure_one() return self.move_ids.filtered(lambda r: ( - self.product_id == r.product_id + self == r.sale_line_id and r.state == 'done' and not r.scrapped and r.location_dest_id.usage == "customer" @@ -107,10 +108,11 @@ class SaleOrderLine(models.Model): 'assigned', 'done']) qty -= sum(move_dest.mapped('product_uom_qty')) data.append({ - 'product': product, + 'product': move.product_id, 'quantity': qty, 'uom': move.product_uom, 'picking': move.picking_id, + 'sale_line_id': self, }) else: data.append({ @@ -118,5 +120,6 @@ class SaleOrderLine(models.Model): 'quantity': self.qty_delivered, 'uom': self.product_uom, 'picking': False, + 'sale_line_id': self, }) return data diff --git a/rma_sale/views/sale_portal_template.xml b/rma_sale/views/sale_portal_template.xml index 3e75f659..a1f0027e 100644 --- a/rma_sale/views/sale_portal_template.xml +++ b/rma_sale/views/sale_portal_template.xml @@ -67,13 +67,17 @@ - + +
@@ -92,12 +96,10 @@
- - - - + +