[IMP] account_payment_order: Don't allow deletion of an uploaded payment order + allow to cancel an uploaded payment order

This commit is contained in:
mdietrichc2c
2017-07-26 15:40:14 +02:00
committed by Pedro M. Baeza
parent 4667c181af
commit 18a46ce204
2 changed files with 20 additions and 0 deletions

View File

@@ -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'})

View File

@@ -21,6 +21,8 @@
string="Back to Draft" />
<button name="action_cancel" type="object" states="draft,open,generated"
string="Cancel Payments"/>
<button name="action_done_cancel" type="object" states="uploaded"
string="Cancel Payments"/>
<field name="state" widget="statusbar"/>
</header>
<sheet>