Lewati ke konten utama

👥 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:

LevelFungsi
UserAkun pengguna, diberi akses berdasarkan grup
GroupSekumpulan pengguna dengan hak akses tertentu terhadap fitur/modul
Access ControlHak akses terhadap model data (create, read, write, delete)
Record RuleHak akses terhadap record/data berdasarkan domain/filter

🧑‍💻 2. Menambahkan dan Mengatur User

  1. Masuk ke Settings > Users & Companies > Users
  2. Klik Create
  3. 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:

ModulNama Grup
CRMSales / User: Own Documents Only
InventoryInventory / Manager
AccountingAccounting / Advisor
CustomCustom / 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:

  1. Developer Mode aktif

  2. Menu: Settings > Technical > Security > Groups

  3. Klik Create

  4. Isi:

    • Nama group

    • Tambahkan model akses (Access Rights)

    • Tambahkan user atau kaitkan ke menu (jika perlu)


📄 6. Mengatur Access Control (ACL)

  1. Masuk ke Settings > Technical > Security > Access Control Lists

  2. Klik Create

  3. Isi:

    • Nama model

    • Nama group

Ceklis hak: Read, Write, Create, Delete


⚙️ 7. Record Rules (Advanced)

Untuk membatasi akses terhadap record tertentu:

  1. Masuk ke Settings > Technical > Security > Record Rules

  2. Klik Create

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