diff --git a/addons/repair/models/repair.py b/addons/repair/models/repair.py index 8d6542a10cb..b6f300d4c23 100644 --- a/addons/repair/models/repair.py +++ b/addons/repair/models/repair.py @@ -148,10 +148,10 @@ class Repair(models.Model): sale_order_line_id = fields.Many2one( 'sale.order.line', check_company=True, readonly=True, copy=False, help="Sale Order Line from which the Repair Order comes from.") - repair_request = fields.Char( - related='sale_order_line_id.product_id.display_name', + repair_request = fields.Text( + related='sale_order_line_id.name', string='Repair Request', - help="Product from which the Repair Order was created.") + help="Sale Order Line Description.") # Return Binding picking_id = fields.Many2one( @@ -431,8 +431,12 @@ class Repair(models.Model): }) product_moves = self.env['stock.move'].create(product_move_vals) - self.move_id = product_moves.id - + repair_move = {m.repair_id.id: m for m in product_moves} + for repair in self: + move_id = repair_move.get(repair.id, False) + if move_id: + repair.move_id = move_id + self.sale_order_line_id.move_ids.picked = True all_moves = self.move_ids + product_moves all_moves._action_done() diff --git a/addons/repair/models/sale_order.py b/addons/repair/models/sale_order.py index ebcb06bea7f..4bf88693c73 100644 --- a/addons/repair/models/sale_order.py +++ b/addons/repair/models/sale_order.py @@ -101,6 +101,13 @@ class SaleOrderLine(models.Model): 'sale_order_line_id': line.id, 'picking_type_id': order.warehouse_id.repair_type_id.id, }) + if line.product_template_id.type in ('consu', 'product'): + new_repair_vals[-1].update({ + 'product_id': line.product_id.id, + 'product_qty': line.product_uom_qty, + 'product_uom': line.product_uom.id, + }) + if new_repair_vals: self.env['repair.order'].sudo().create(new_repair_vals)