Hide Action Print Default in Toolbar Print Odoo 16

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..





Custom Header Report pada External Layout di Odoo 16