diff --git a/addons/sale/models/sale.py b/addons/sale/models/sale.py index 24b35183f68..e05b4db37cc 100644 --- a/addons/sale/models/sale.py +++ b/addons/sale/models/sale.py @@ -515,7 +515,7 @@ class SaleOrder(models.Model): self.write({'state': 'sale'}) @api.multi - def action_confirm(self): + def _action_confirm(self): for order in self.filtered(lambda order: order.partner_id not in order.message_partner_ids): order.message_subscribe([order.partner_id.id]) self.write({ @@ -524,8 +524,6 @@ class SaleOrder(models.Model): }) if self.env.context.get('send_email'): self.force_quotation_send() - if self.env['ir.config_parameter'].sudo().get_param('sale.auto_done_setting'): - self.action_done() # create an analytic account if at least an expense product if any([expense_policy != 'no' for expense_policy in self.order_line.mapped('product_id.expense_policy')]): @@ -534,6 +532,13 @@ class SaleOrder(models.Model): return True + @api.multi + def action_confirm(self): + self._action_confirm() + if self.env['ir.config_parameter'].sudo().get_param('sale.auto_done_setting'): + self.action_done() + return True + @api.multi def _create_analytic_account(self, prefix=None): for order in self: diff --git a/addons/sale_stock/models/sale_order.py b/addons/sale_stock/models/sale_order.py index 38a01917cf4..e61adb554b1 100644 --- a/addons/sale_stock/models/sale_order.py +++ b/addons/sale_stock/models/sale_order.py @@ -34,11 +34,10 @@ class SaleOrder(models.Model): procurement_group_id = fields.Many2one('procurement.group', 'Procurement Group', copy=False) @api.multi - def action_confirm(self): - result = super(SaleOrder, self).action_confirm() + def _action_confirm(self): + super(SaleOrder, self)._action_confirm() for order in self: order.order_line._action_launch_procurement_rule() - return result @api.depends('picking_ids') def _compute_picking_ids(self):