Py File
from odoo import models, fields, api, _
from odoo.exceptions import UserError
class AccountPaymentRegister(models.TransientModel):
_inherit = ‘account.payment.register’
# == Inherit fields ==
cheque_date = fields.Date(String="Cheque Date", default=fields.Date.context_today)
cheque_no = fields.Char(String="Cheque No.")
rec_bank = fields.Char(String="Receive Bank")
payment_method_code = fields.Char(String="Payment Method code")
is_bank_selected = fields.Boolean(string="is bank selected")
# Journal ID - Many2one
# If Journal ID is Bank is is_bank_selected become TRUE.
@api.onchange('journal_id')
def _change_journal_id(self):
if self.journal_id.name == 'Bank':
self.is_bank_selected = True
else:
self.is_bank_selected = False
XML file
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="view_account_payment_register_mesco_inherit_form" model="ir.ui.view">
<field name="name">account.payment.register.mesco.inherit.form</field>
<field name="model">account.payment.register</field>
<field name="inherit_id" ref="account.view_account_payment_register_form"/>
<field name="arch" type="xml">
<field name="communication" position="after">
<field name="is_bank_selected" invisible="1"/>
<field name="cheque_date" attrs="{'invisible': [('is_bank_selected', '!=', True)]}"/>
<field name="cheque_no" attrs="{'invisible': [('is_bank_selected', '!=', True)]}"/>
<field name="rec_bank" attrs="{'invisible': [('is_bank_selected', '!=', True)]}"/>
</field>
</field>
</record>
</data>
</odoo>