Remove invalid SEPA mandate when payment is reset to draft
Closes #14756 (grafted from b7ab57a8f93db47a432e33e4fbf5959fc3912c34) --HG-- branch : 7.0
This commit is contained in:
@@ -472,6 +472,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 Mandate(Workflow, ModelSQL, ModelView):
|
||||
'SEPA Mandate'
|
||||
|
||||
Reference in New Issue
Block a user