OpenERP: Sebelum Simpan

Foto os

Modul hr telah dipasang, dan kita diminta agar sistem selalu memperbesar huruf nama pegawai. Untuk itu kita bisa tulis ulang fungsi create() dan write() pada ORM. create() terjadi saat INSERT, sedangkan write() saat UPDATE.

Melanjutkan tulisan OpenERP: Sembunyikan Field kita perlu membuat addons/hr_custom/hr_custom.py:

from osv import osv
 
class hr_custom(osv.osv):
    _inherit = 'hr.employee'
 
    def create(self, cr, uid, vals, context=None):
        vals['name'] = vals['name'].upper()
        return super(hr_custom, self).create(cr, uid, vals, context)
 
    def write(self, cr, uid, ids, vals, context=None):
        if vals.get('name', False):
            vals['name'] = vals['name'].upper()
        return super(hr_custom, self).write(cr, uid, ids, vals, context)
 
hr_custom()

Juga pada addons/hr_custom/__init__.py:

import hr_custom

Restart daemon-nya:

$ sudo /etc/init.d/openerp-server restart

Lalu cobalah menambah data karyawan dengan nama huruf kecil semua. Setelah berhasil disimpan, pastikan sudah tampil huruf besar semua. Kemudian klik Edit / Sunting untuk mengubah nama menjadi huruf kecil, lalu simpan.

Referensi: