Saya akan sharing bagi anda yang pemula sebagai developer odoo
cara yang paling sederhana di odoo, ketika kita ingin membuat fungsi seperti onchange, compute tombol dll dimana sintaks di python di awali dengan def.
bagaimana cara debuggingnya?
cara sederhananya adalah dengan membuat button di odoo
perhatikan berikut ini :
@api.onchange('price')
def check_price(self):
for record in self:
if record.price < 100:
record.price = 100
return {'warning': {'title': 'Perhatian', 'message': 'Harga harus diatas 100'}}
# raise UserError('Harga harus diatas 100')
fungsi di atas anggap saja baru dibuat dan belum ada attribut onchange di atasnya
def check_price(self):
for record in self:
if record.price < 100:
record.price = 100
return {'warning': {'title': 'Perhatian', 'message': 'Harga harus diatas 100'}}
# raise UserError('Harga harus diatas 100')
kemudian buat button di bagian xmlnya sesuai dengan nama methodnya
<record id="res_material_view_form" model="ir.ui.view">
<field name="name">res.material.form</field>
<field name="model">res.material</field>
<field name="arch" type="xml">
<form string="Material Form">
<sheet>
<button name="check_price" type="object" string="ObjectButton"/>
<group string="Informasi">
<group>
<field name="code"/>
<field name="name"/>
</group>
<group>
<field name="type"/>
<field name="price"/>
</group>
</group>
<group>
<field name="partner_id"/>
</group>
</sheet>
</form>
</field>
</record>
kemudian upgrade modul tersebut dan klik tombolnya. kita dapat melihat hasilnya langsung, jika hasilnya sudah sesuai maka tambahkan atriubt api nya sesuai yang di butuhkan