diff --git a/addons/mrp/models/mrp_production.py b/addons/mrp/models/mrp_production.py index 6cbaf4c6629..8a637080c3b 100644 --- a/addons/mrp/models/mrp_production.py +++ b/addons/mrp/models/mrp_production.py @@ -410,7 +410,7 @@ class MrpProduction(models.Model): quantity = order.product_uom_id._compute_quantity(order.product_qty, order.bom_id.product_uom_id) / order.bom_id.product_qty boms, lines = order.bom_id.explode(order.product_id, quantity, picking_type=order.bom_id.picking_type_id) order._generate_workorders(boms) - orders_to_plan.write({'state': 'planned'}) + return orders_to_plan.write({'state': 'planned'}) @api.multi def _generate_workorders(self, exploded_boms): @@ -539,17 +539,19 @@ class MrpProduction(models.Model): moves_to_cancel.action_cancel() self.write({'state': 'done', 'date_finished': fields.Datetime.now()}) self.env["procurement.order"].search([('production_id', 'in', self.ids)]).check() - self.write({'state': 'done'}) + return self.write({'state': 'done'}) @api.multi def do_unreserve(self): for production in self: production.move_raw_ids.filtered(lambda x: x.state not in ('done', 'cancel')).do_unreserve() + return True @api.multi def button_unreserve(self): self.ensure_one() self.do_unreserve() + return True @api.multi def button_scrap(self): diff --git a/addons/mrp/models/mrp_unbuild.py b/addons/mrp/models/mrp_unbuild.py index 5b426901256..dc22a8e87f1 100644 --- a/addons/mrp/models/mrp_unbuild.py +++ b/addons/mrp/models/mrp_unbuild.py @@ -131,7 +131,7 @@ class MrpUnbuild(models.Model): produced_quant_ids = produce_moves.mapped('quant_ids').filtered(lambda quant: quant.qty > 0) consume_move.quant_ids.sudo().write({'produced_quant_ids': [(6, 0, produced_quant_ids.ids)]}) - self.write({'state': 'done'}) + return self.write({'state': 'done'}) def _generate_consume_moves(self): moves = self.env['stock.move'] diff --git a/addons/mrp/models/mrp_workorder.py b/addons/mrp/models/mrp_workorder.py index 23cd851b780..86107856873 100644 --- a/addons/mrp/models/mrp_workorder.py +++ b/addons/mrp/models/mrp_workorder.py @@ -342,6 +342,7 @@ class MrpWorkorder(models.Model): self.final_lot_id = False if self.qty_produced >= self.production_id.product_qty: self.button_finish() + return True @api.multi def button_start(self): @@ -369,7 +370,7 @@ class MrpWorkorder(models.Model): 'date_start': datetime.now(), 'user_id': self.env.user.id }) - self.write({'state': 'progress', + return self.write({'state': 'progress', 'date_start': datetime.now(), }) @@ -377,7 +378,7 @@ class MrpWorkorder(models.Model): def button_finish(self): self.ensure_one() self.end_all() - self.write({'state': 'done', 'date_finished': fields.Datetime.now()}) + return self.write({'state': 'done', 'date_finished': fields.Datetime.now()}) @api.multi def end_previous(self, doall=False): @@ -405,6 +406,7 @@ class MrpWorkorder(models.Model): if not len(loss_id): raise UserError(_("You need to define at least one unactive productivity loss in the category 'Performance'. Create one from the Manufacturing app, menu: Configuration / Productivity Losses.")) timeline.copy({'date_start': maxdate, 'date_end': enddate, 'loss_id': loss_id.id}) + return True @api.multi def end_all(self): @@ -413,22 +415,24 @@ class MrpWorkorder(models.Model): @api.multi def button_pending(self): self.end_previous() + return True @api.multi def button_unblock(self): for order in self: order.workcenter_id.unblock() + return True @api.multi def action_cancel(self): - self.write({'state': 'cancel'}) + return self.write({'state': 'cancel'}) @api.multi def button_done(self): if any([x.state in ('done', 'cancel') for x in self]): raise UserError(_('A Manufacturing Order is already done or cancelled!')) self.end_all() - self.write({'state': 'done', + return self.write({'state': 'done', 'date_finished': datetime.now()}) @api.multi