Hi,
I want to modify the popup in the class 'account.register.payments', so i inherit and add my changes in that. After running this it will call the original method and shows the original popup, it will not shows mine.
Coding,
class account_register_payments(models.TransientModel):
_inherit = "account.register.payments"
@api.model
def default_get(self, fields):
rec = super(account_register_payments, self).default_get(fields)
context = dict(self._context or {})
active_model = context.get('active_model')
active_ids = context.get('active_ids')
# Checks on context parameters
if not active_model or not active_ids:
raise UserError(_("Programmation error: wizard action executed without active_model or active_ids in context."))
if active_model != 'account.invoice':
raise UserError(_("Programmation error: the expected model for this action is 'account.invoice'. The provided one is '%d'.") % active_model)
# Checks on received invoice records
invoices = self.env[active_model].browse(active_ids)
if any(invoice.state != 'open' for invoice in invoices):
raise UserError(_("You can only register payments for open invoices"))
if any(inv.commercial_partner_id != invoices[0].commercial_partner_id for inv in invoices):
raise UserError(_("In order to pay multiple invoices at once, they must belong to the same commercial partner."))
if any(MAP_INVOICE_TYPE_PARTNER_TYPE[inv.type] != MAP_INVOICE_TYPE_PARTNER_TYPE[invoices[0].type] for inv in invoices):
raise UserError(_("You cannot mix customer invoices and vendor bills in a single payment."))
if any(inv.currency_id != invoices[0].currency_id for inv in invoices):
raise UserError(_("In order to pay multiple invoices at once, they must use the same currency."))
total_amount = sum(inv.residual * MAP_INVOICE_TYPE_PAYMENT_SIGN[inv.type] for inv in invoices)
communication = ' '.join([ref for ref in invoices.mapped('reference') if ref])
rec.update({
'amount': abs(total_amount),
'currency_id': invoices[0].currency_id.id,
'payment_type': total_amount > 0 and 'inbound' or 'outbound',
'partner_id': invoices[0].commercial_partner_id.id,
'partner_type': MAP_INVOICE_TYPE_PARTNER_TYPE[invoices[0].type],
'communication': communication,
})
return rec
From this method, i need to modify "raise UserError(_("In order to pay multiple invoices at once, they must belong to the same commercial partner."))" (this popup).
But it contains the " rec = super(account_register_payments, self).default_get(fields)" super class of that original class, so that it execute the original not mine.
can anyone help me to inherit this method..