diff --git a/rma/__manifest__.py b/rma/__manifest__.py index a0e44aa1..4f85e032 100644 --- a/rma/__manifest__.py +++ b/rma/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Return Merchandise Authorization Management", "summary": "Return Merchandise Authorization (RMA)", - "version": "15.0.1.1.0", + "version": "15.0.1.1.1", "development_status": "Production/Stable", "category": "RMA", "website": "https://github.com/OCA/rma", diff --git a/rma/models/rma.py b/rma/models/rma.py index 8f2101b5..811d2546 100644 --- a/rma/models/rma.py +++ b/rma/models/rma.py @@ -1210,10 +1210,13 @@ class Rma(models.Model): self._ensure_can_be_replaced() moves_before = self.delivery_move_ids self._action_launch_stock_rule(scheduled_date, warehouse, product, qty, uom) - new_move = self.delivery_move_ids - moves_before - if new_move: - self.message_post( - body=_( + new_moves = self.delivery_move_ids - moves_before + body = "" + # The product replacement could explode into several moves like in the case of + # MRP BoM Kits + for new_move in new_moves: + body += ( + _( 'Replacement: Move %(move_name)s (Picking " - 'Product %(name)s
' - "Quantity %(qty)s %(uom)s
" - "This replacement did not create a new move, but one of " - "the previously created moves was updated with this data." - ) - % ( - { - "id": product.id, - "name": product.display_name, - "qty": qty, - "uom": uom.name, - } - ) + self.message_post( + body=body + or _( + "Replacement:
" + 'Product %(name)s
' + "Quantity %(qty)s %(uom)s
" + "This replacement did not create a new move, but one of " + "the previously created moves was updated with this data." ) + % ( + { + "id": product.id, + "name": product.display_name, + "qty": qty, + "uom": uom.name, + } + ) + ) if self.state != "waiting_replacement": self.state = "waiting_replacement"