Я пытаюсь отключить предыдущие даты при оплате счета, но у меня это не работает.
Вот моя модель:
from odoo import models, fields, api
from datetime import datetime
from openerp.tools import DEFAULT_SERVER_DATE_FORMAT
class account_payment(models.Model):
_inherit = 'account.payment'
def onchange_date(self, cr, uid, ids, payment_date, context=None):
if datetime.strptime(payment_date, DEFAULT_SERVER_DATE_FORMAT).date() > datetime.now().date():
return False
return payment_date
Вот мой xml-файл:
<odoo>
<data>
<record model="ir.ui.view" id="view_account_payment_invoice_form">
<field name="name">account.payment.invoice.form</field>
<field name="model">account.payment</field>
<field name="inherit_id" ref="account.view_account_payment_invoice_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='payment_date']" position="replace">
<field name="payment_date" on_change="onchange_date(payment_date)"/>
</xpath>
</field>
</record>
</data>
</odoo>
Ошибка:
TypeError: onchange_date () принимает не менее 5 аргументов (2 дано)
Пожалуйста, кто-нибудь может мне помочь. Спасибо!