Remove invalid SEPA mandate when payment is reset to draft
Closes #14756
This commit is contained in:
@@ -489,6 +489,19 @@ class Payment(metaclass=PoolMeta):
|
||||
('sepa_info_id', operator, code_value, *extra),
|
||||
]
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('draft')
|
||||
def draft(cls, payments):
|
||||
to_remove_mandate = []
|
||||
for payment in payments:
|
||||
if (payment.sepa_mandate
|
||||
and payment.sepa_mandate.state != 'validated'):
|
||||
to_remove_mandate.append(payment)
|
||||
if to_remove_mandate:
|
||||
cls.write(to_remove_mandate, {'sepa_mandate': None})
|
||||
super().draft(payments)
|
||||
|
||||
|
||||
class Payment_Invoice(metaclass=PoolMeta):
|
||||
__name__ = 'account.payment'
|
||||
|
||||
Reference in New Issue
Block a user