Bismillah..
Assalamu'alaykum Warohmatullohi Wabarokatuh.
Segala puji bagi Allah atas segala nikmat yg diberi tanpa kita minta.
Baik, langsung saja saya disini akan memberikan ilmu terkait odoo yakni "Meng-hide action print default yg ada di toolbar print menggunakan odoo 16.
Jadi, kasusnya adalah di model sale order terdapat 2 dokumen memakai print default. Dokumen tersebut adalah Quotation dan Sales Order. Nah ada kebutuhan dimana mereka minta print tersebut hanya muncul di dokumen quotation aja.
Berikut cara / langkah-langkah untuk memenuhi kebutuhan tersebut:
1. Cari action print yg akan di hide
Setelah itu cari id dari action print "Quotation / Order" yaitu dengan mengaktifkan debug mode kemudian ke Menu Settings>Technical>Actions>Reports. Kalau sudah ketemu dan Quotation tersebut di klik akan muncul seperti gambar dibawah ini.
Dan untuk mendapatkan id action printnya, dengan mengklik mode debug kemudian klik view metadata, akan muncul pop-up seperti ini.
2. Buat File xml
Kemudian membuat file custom.xml, file ini berisi action sale order inherit karena di action ini saya tambahkan context seperti gambar dibawah ini:
3. Buat File Python
Kemudian membuat file sale_order.py
File ini isinya inherit class sale.order dimana di dalamnya saya tambahkan beberapa script code yakni override method get_views() dan di dalam method tersebut menambahkan beberapa kondisi seperti gambar dibawah ini...
4. Masukkan file di init dan manifest
Lalu seperti biasa, masukkan file custom.xml di manifest dan sale_order.py di init untuk melihat hasilnya...
Hasilnya akan seperti ini
Before
After
Alhamdulillah hasilnya sudah kelihatan..
Baik, sekian dari saya.. Semoga bermanfaat
Wassalamu'alaykum warohmatullohi wabarokatuh..