diff --git a/rma/models/stock_picking.py b/rma/models/stock_picking.py index c2fbe651..ef8989c3 100644 --- a/rma/models/stock_picking.py +++ b/rma/models/stock_picking.py @@ -9,5 +9,18 @@ class StockPicking(models.Model): def send_to_shipper(self): res = False for pick in self.filtered(lambda p: not p.carrier_tracking_ref): + # deliver full order if no items are done. + pick_has_no_done = sum(pick.move_line_ids.mapped('qty_done')) == 0 + if pick_has_no_done: + pick._rma_complete() res = super(StockPicking, pick).send_to_shipper() + if pick_has_no_done: + pick._rma_complete_reverse() return res + + def _rma_complete(self): + for line in self.move_line_ids: + line.qty_done = line.product_uom_qty + + def _rma_complete_reverse(self): + self.move_line_ids.write({'qty_done': 0.0})