Tutorial odoo part 3: melakukan override function di odoo

Untuk kostumisasi suatu plugin kita dapat dengan melakukan override dari function yang sudah ada.

Pada tutorial sebelumnya, kita telah menambhakan satu field baru pada model purchase.order https://blog.hprasetyou.com/membuat-custom-module-odoo-part-2-menambahkan-field-ke-module-yang-sudah-ada/. Kita akan menggunakan lagi module yang telah dibuat di tutorial tersebut.

Dalam odoo, semua model memiliki parent ke class model. Untuk melakukan override dari parent kita, kita dapat membuat function dengan nama yang sama.

Disini saya menggunakan module dari tutorial sebelumnya. Saya melakukan override dari function create. Function ini dieksekusi saat data baru akan dibuat. dalam fungsi baru saya, saya mengisi field deadline jika kosong:

#my-custom-module/models/purchase_custom.py

from odoo import api, models, fields

class PurchaseCustom(models.Model):

    _inherit = "purchase.order"

    deadline = fields.Date("Deadline")


    @api.model
    def create(self, values):
        if values['deadline'] == False:
            values['deadline'] = values.get('date_planned')
        result = super(PurchaseCustom, self).create(values)
        return result

Jangan lupa restart server odoo kita untuk mengaplikasikan perubahan.

Leave a Reply

Your email address will not be published. Required fields are marked *