Panduan Lengkap Penggunaan Context Default Di Odoo

Dalam pengembangan Odoo, context adalah fitur yang sangat berguna untuk mengontrol bagaimana data dapat ditampilkan dan diolah dalam berbagai modul. Dengan menggunakan context default, kita dapat menetapkan nilai awal, mengelompokkan data, serta mengatur tampilan default tanpa perlu interaksi manual dari pengguna.
Artikel ini akan membahas secara mendalam bagaimana context default dapat digunakan untuk meningkatkan efisiensi di Odoo, baik melalui kode Python maupun XML.
Apa Itu Context Default di Odoo?
Context default merupakan parameter yang digunakan dalam Odoo untuk menetapkan nilai awal pada suatu field atau menentukan perilaku tampilan dalam suatu model. Ini sangat berguna untuk mengatur filter default, nilai default field, dan bahkan mengontrol bagaimana form atau list view ditampilkan.
Context dapat digunakan dalam berbagai skenario, seperti:
- Menetapkan default value untuk field tertentu.
- Mengatur filter dan sorting default dalam tampilan list.
- Mengontrol group by pada tampilan list view.
- Menyesuaikan tampilan berdasarkan kondisi pengguna atau role tertentu.
Cara Menggunakan Context Default di Odoo
1. Menetapkan Default Value untuk Field dalam Python
Dalam kode Python, kita bisa menggunakan default_
dibarengi dengan nama field untuk menetapkan nilai awal pada suatu field saat membuka form tertentu:
|
|
Kode di atas akan mengisi field partner_id
dan currency_id
secara otomatis ketika form order dibuka.
2. Mengatur Filter dan Group By Default dalam XML
Jika kita ingin mengelompokkan data secara otomatis saat tampilan dibuka, kita bisa menambahkan context dalam action di XML. Dengan menggunakan search_default_
dibarengi dengan name filter.
Kamu bisa mengecek name filter di Debug->Edit SearchView
.
Name draft
ini yang kita tambahkan.
Contoh penggunaan filter dengan status Quotation pada tampilan list:
|
|
Kemudian tambahkan value 1
untuk mengaktifkan atau 0
untuk menonaktifkan. Dengan konfigurasi ini, data akan otomatis memfilter status Quotation saat pengguna membuka daftar Sales Orders.
Contoh penggunaan group by bulan pada tampilan list:
|
|
Sama dengan filter untuk menggunakan group by kita bisa menggunakan search_default_
dibarengi dengan name filter, kemudian tambahkan value ['date:month']
untuk group by bulan atau ['date:year']
untuk group by tahun.
3. Menyesuaikan Tampilan Berdasarkan Role Pengguna
Dalam beberapa kasus, kita ingin menyesuaikan tampilan berdasarkan hak akses pengguna. Berikut adalah contoh cara menyembunyikan harga beli bagi pengguna yang bukan Purchase Manager:
|
|
Dengan cara ini, maka hanya pengguna dengan grup purchase manager yang dapat melihat informasi harga beli.
Kesimpulan
Menggunakan context default di Odoo dapat membantu meningkatkan produktivitas dengan:
✅ Menetapkan nilai awal otomatis.
✅ Mengelompokkan dan menyaring data dengan lebih efisien.
✅ Menyesuaikan tampilan berdasarkan hak akses pengguna.
Dengan memahami cara kerja context default, Kamu dapat mengoptimalkan sistem Odoo agar lebih sesuai dengan kebutuhan pengguna.