diff --git a/account_payment_order/models/account_payment_order.py b/account_payment_order/models/account_payment_order.py index 3b1263607..c4ca51b6a 100644 --- a/account_payment_order/models/account_payment_order.py +++ b/account_payment_order/models/account_payment_order.py @@ -92,6 +92,14 @@ class AccountPaymentOrder(models.Model): 'account.move', 'payment_order_id', string='Journal Entries', readonly=True) + @api.multi + def unlink(self): + for order in self: + if order.state == 'uploaded': + raise ValidationError(_( + "You cannot delete an uploaded payment order. You can " + "cancel it in order to do so.")) + @api.multi @api.constrains('payment_type', 'payment_mode_id') def payment_order_constraints(self): @@ -173,6 +181,16 @@ class AccountPaymentOrder(models.Model): }) return True + @api.multi + def action_done_cancel(self): + for move in self.move_ids: + move.button_cancel() + for move_line in move.line_ids: + move_line.remove_move_reconcile() + move.unlink() + self.action_cancel() + return True + @api.multi def cancel2draft(self): self.write({'state': 'draft'}) diff --git a/account_payment_order/views/account_payment_order.xml b/account_payment_order/views/account_payment_order.xml index 2318237c3..bfa639387 100644 --- a/account_payment_order/views/account_payment_order.xml +++ b/account_payment_order/views/account_payment_order.xml @@ -21,6 +21,8 @@ string="Back to Draft" />