Odoo memiliki cara yang fleksibel untuk mendefinisikan menu, sub-menu, dan tindakan. Daya tarik utamanya adalah bahwa seseorang dapat membuat menu dan sub-menu dari kode maupun antarmuka pengguna (UI), yang membuat Odoo lebih ramah pengguna. Pengguna dapat langsung membuat menu dan sub-menu dari antarmuka pengguna (UI).
Dalam blog ini, kita akan membahas cara membuat menu, sub-menu, dan tindakan dari kode serta cara mengaturnya dari UI. Kita mulai dengan membuat menu dari XML, yaitu dari kode. Di sini saya membuat modul untuk "laporan detail pelanggan", jadi saya akan membuat menu dan submenu untuk laporan detail pelanggan. Jadi kita akan membuat menu untuk detail pelanggan.
Untuk mebuat menu kita bisa menambahkan menu item didalam views? misalkan customersdetailsviews.ml
<menuitem id="menu_customer_details"
name="Customer Details"
sequence="2"/>
Didalam menu terdapat.
id - id dari menu.
name - nama menu yang akan ditampilkan.
sequence - urutan di mana menu harus muncul.
Sebuah menu akan muncul hanya dalam tampilan jika memiliki tindakan atau jika salah satu dari submenu memiliki tindakan.
Dalam contoh ini, kita sedang menambahkan sub-menu jadi, tindakan ditambahkan untuk sub-menu tersebut.
<menuitem id="menu_customer_details_report" name="Customer Details Report" parent="menu_customer_details_main_reports" action="action_customer_details_report" sequence="0"/>
Kode di atas adalah untuk membuat sub-menu untuk menu utama dengan ID menu_customer_details. Untuk membuat sub-menu, diperlukan menu utama induk. Di sini, menu induknya adalah menu_customer_details.
<menuitem id="menu_customer_details_report"
name="Customer Details Report"
parent="menu_customer_details_main_reports"
action="action_customer_details_report"
sequence="0"/>
Di sini saya membuat sub-menu menu_customer_details_report untuk menu menu_customer_details_main_reports. Dalam kasus ini, menu induknya adalah menu_customer_details_main_reports. Selain itu, kita juga mendefinisikan sebuah tindakan untuk sub-menu ini. Tindakan harus didefinisikan sebelum membuat item menu.
<record id="action_customer_details_report" model="ir.actions.act_window">
<field name="name">Customer Details Report</field>
<field name="res_model">customer.details</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="customer_details_tree"/>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Generate Customer Details
</p>
</field>
</record>
Berikut adalah tindakan yang akan dijelaskan:
name - nama tindakan.
res_model - model di mana kita akan membuat menu.
view_mode - berbagai mode tampilan. Mode ini harus didefinisikan di atas tindakan. Di sini adalah mode tree dan form. Dalam kasus ini, kita membutuhkan tampilan tree dan form.
view_id - tampilan default yang harus dimuat ketika tindakan yang sesuai dipanggil. Ini relevan hanya jika ada lebih dari satu mode tampilan.
help - Pesan bantuan yang akan muncul ketika tidak ada data dalam model.
Reference link : 1 new message (cybrosys.com)