13 Juni 2012

Pesan Warning/Error ketika salah input field

Bismillahirrahmaanirrahiim

Karena saya orangnya sangat pelupa tapi tidak berminta untuk menghapal sintax code sama sekali, maka lebih baik saya posting saja apa2 yang sering saya gunakan di sini.

Ini code untuk mengeluarkan pesan error/warning ketika input sesuatu.
Biasanya saya pakai di method on_change suatu field.

Contoh:
Lihat layar wizard berikut:


Ketika input field date_stop (As Of) 03/01/2012 , akan otomatis mengisi field fiscalyear 2012 dan date_start 01/01/2012
Namun, ketika memasukkan tanggal di tahun 2013, akan muncul warning, karena belum dibuat fiscalyear tahun 2013


Terus bagaimana caranya,
tentunya pertama kali di field As Of, ditambahkan atribut on_change seperti berikut:
<field name="date_to" string="As of" on_change="onchange_asof(date_to)" required="1" colspan="4"/>
Lalu method untuk menjalankan aksi on_change nya seperti berikut:
    def onchange_asof(self, cr, uid, ids, date_to, context=None):
        value = {}
        fiscalyear_pool = self.pool.get('account.fiscalyear')
        if date_to:
            fiscalyear_id = fiscalyear_pool.search(cr, uid, [('date_start','<=',date_to),('date_stop','>=',date_to)])
            if fiscalyear_id:
                fiscalyear = fiscalyear_pool.browse(cr, uid, fiscalyear_id)[0]
                value = {'date_from': fiscalyear.date_start, 'fiscalyear_id': fiscalyear.id}
                return {'value': value}
            else:
                value = {'date_from':False, 'fiscalyear_id':False}
                return {'value': value, 'warning':{'title':'Warning','message':'No fiscal year for your choosen date! Choose another "As Of" date'}}     
Nah perhatikan saja perbedaan yg saya highlight kuning dengan biru

Oke begitu saja...

Semoga bermanfaat..

2 komentar:

  1. assalamualikum mbak, maaf mbak saya newbie dan ingin sekali untuk belajar openerp karena di tempat saya mengembangkan concept erp dengan membuat sendiri akan tetapi tidak pernah selesai karena adanya penambahan di sana sini, keinginan saya ingin menerapkan openerp ini di tempat saya. akan tetapi saya tidak mengerti harus memulai dari mana sedangkan dari segi penginstalan sudah saya lakukan, bisakah mbak memberikan step atau link tutorial yang bisa saya jadikan untuk implementasi openerp ini
    thanks

    BalasHapus
  2. waalaikumsalam haris...
    maaf baru sempat balas...
    kalau basic openerp nya sepertinya dah cukup banyak sumber nya...
    karen kalau saya pribadi, saya melakukn step berikut utk mulai:
    1. belajar basic python
    2. pelajari.fungsi/menu2 dasar openerp yang penting2 saja
    3. pelajari salah satu contoh modul yang sederhana...

    struktur frameworknya jelas kok.. jadi sya yakin mudah dipelajari...

    BalasHapus