👥 Role dan User Access di Odoo
Manajemen role dan user access (hak akses pengguna) di Odoo sangat penting untuk menjaga keamanan data, kontrol proses, dan pembagian tugas berdasarkan tanggung jawab pengguna.
🧩 1. Konsep Akses Pengguna di Odoo
Odoo menggunakan tiga level pengelolaan hak akses:
Level | Fungsi |
---|---|
User | Akun pengguna, diberi akses berdasarkan grup |
Group | Sekumpulan pengguna dengan hak akses tertentu terhadap fitur/modul |
Access Control | Hak akses terhadap model data (create , read , write , delete ) |
Record Rule | Hak akses terhadap record/data berdasarkan domain/filter |
🧑💻 2. Menambahkan dan Mengatur User
- Masuk ke Settings > Users & Companies > Users
- Klik Create
- Isi:
- Nama pengguna
- Email (juga digunakan sebagai username login)
- Pilih role/peran di berbagai aplikasi (Sales, Inventory, CRM, dll)
Peran ini otomatis menambahkan user ke dalam group yang sesuai.
🧱 3. Group (Grup Akses)
Setiap modul Odoo memiliki grupnya sendiri. Misalnya:
Modul | Nama Grup |
---|---|
CRM | Sales / User: Own Documents Only |
Inventory | Inventory / Manager |
Accounting | Accounting / Advisor |
Custom | Custom / Developer , dll |
Grup dapat diakses di: Settings > Technical > Security > Groups
Aktifkan Developer Mode untuk melihat menu Technical.
🔐 4. Access Rights per Modul
Misalnya pada user:
Sales: User
CRM: Manager
Inventory: No Access
User ini hanya dapat:
-
Melihat dan edit data Sales
-
Mengelola CRM
-
Tidak bisa mengakses modul Inventory
🛠️ 5. Membuat Group Kustom (Opsional)
Untuk membuat grup sendiri:
-
Developer Mode aktif
-
Menu: Settings > Technical > Security > Groups
-
Klik Create
-
Isi:
-
Nama group
-
Tambahkan model akses (
Access Rights
) -
Tambahkan user atau kaitkan ke menu (jika perlu)
-
📄 6. Mengatur Access Control (ACL)
-
Masuk ke Settings > Technical > Security > Access Control Lists
-
Klik Create
-
Isi:
-
Nama model
-
Nama group
-
Ceklis hak: Read, Write, Create, Delete
⚙️ 7. Record Rules (Advanced)
Untuk membatasi akses terhadap record tertentu:
-
Masuk ke Settings > Technical > Security > Record Rules
-
Klik Create
-
Contoh rule:
-
Domain filter:
[('user_id', '=', user.id)]
-
Artinya: user hanya bisa melihat record miliknya
-
🎯 8. Contoh Implementasi
Misal: Tim Website hanya boleh mengakses Website dan Blog
-
Tambahkan user
-
Pilih role:
- Website: Editor
-
Blog: Editor
-
Nonaktifkan modul lain seperti Inventory, CRM, dll
🧠 Tips Best Practice
-
Selalu gunakan grup, jangan hard-code hak akses di level user
-
Gunakan naming convention:
NamaApp / Role
-
Gunakan
Record Rules
untuk kontrol yang lebih granular -
Gunakan mode pengujian (sandbox) sebelum diterapkan di live