summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fixco_custom/models/account_payment.py6
-rw-r--r--fixco_custom/views/account_payment.xml8
2 files changed, 14 insertions, 0 deletions
diff --git a/fixco_custom/models/account_payment.py b/fixco_custom/models/account_payment.py
index 41a2ce5..8f36de6 100644
--- a/fixco_custom/models/account_payment.py
+++ b/fixco_custom/models/account_payment.py
@@ -5,6 +5,12 @@ from odoo.exceptions import UserError
class AccountPayment(models.Model):
_inherit = 'account.payment'
+ def action_multi_reset_to_draft(self):
+ for payment in self:
+ if payment.state != 'posted':
+ raise UserError("Only posted payments can be reset to draft.")
+ payment.action_draft()
+
@api.constrains('journal_id')
def set_default_journal_id(self):
for rec in self:
diff --git a/fixco_custom/views/account_payment.xml b/fixco_custom/views/account_payment.xml
index c291281..a0af30b 100644
--- a/fixco_custom/views/account_payment.xml
+++ b/fixco_custom/views/account_payment.xml
@@ -11,5 +11,13 @@
</button>
</field>
</record>
+
+ <record id="action_reset_to_draft" model="ir.actions.server">
+ <field name="name">Reset to Draft</field>
+ <field name="model_id" ref="account.model_account_payment" />
+ <field name="binding_model_id" ref="account.model_account_payment" />
+ <field name="state">code</field>
+ <field name="code">action = records.action_multi_reset_to_draft()</field>
+ </record>
</data>
</odoo>