[Part 18]Membuat Smart Button Odoo type Action

Ade Setiawan
2 min readDec 29, 2020

Masih membahas seputar Smartbutton atau bahasa teknikal nya kita bisa sebut dengan button box, kali ini kita akan bahas smart button dengan type Action bedanya apa? nanti kita akan bahas lebih lanjut, namun sebelumnya bagi yang mau mengikuti tutorial ini silakan baca artikel sebelumnya atau baca mulai dari [part 1]. source sudah saya tautkan di akhir pembahasan.

pada smartbutton type object maka action dari smartbutton di definisikan dalam bentuk object python yang di return dari sebuah function, singkat kata view yang di hasilkan dari smart button bertype ocject berasal dari pemanggilan function di button, kita review lagi code nya ,

return {'name':_('Appointments'),'domain':[('patient_id','=',self.id)],'view_type':'form','res_model':'hospital.appointment','view_id':False,'view_mode':'tree,form','type':'ir.actions.act_window',}

sedangkan untuk smartbutton type action di deklarasikan dalam bentuk xml yang memanggil langsung ir.actions.atc_window modul appointment sama persis seperti action pada sebuah menu action. untuk lebih jelasnya kita buat saja langsung, edit file patient_view.xml, di bawah tag button tambahkan code sebagai berikut. perhatikan code nya baik baik supaya terlihat perbedaan dengan yang sebelumnya

<button name="%(open_patient_appointment)d" type="action" class="oe_stat_button" icon="fa-archive"><field name="appointment_count" string="Appointment" widget="statinfo"/></button>

lalu di bagian paling atas tambahkan act_windows sebagai berikut

<record id="open_patient_appointment" model="ir.actions.act_window"><field name="name">Appointments</field><field name="res_model">hospital.appointment</field><field name="view_mode">tree,form</field><field name="context">{}</field><field name="view_mode">tree,form</field></record>

upgrade module dan lihat hasilnya

ok sampe disini dulu pembahasanya nanti kita sambung ke [part 19] Membuat status bar di record odoo

--

--