GRT Inventory Business Category
Ringkasan
grt_inventory_business_category menambahkan segregasi Business Category pada area Inventory.
Cakupan utama:
Stock Pickingper business categoryStock Teamper business categoryWarehouseper business category- propagasi category ke stock move dan valuation accounting
Dependensi
stock_accountsale_stockpurchase_stockgrt_business_category_basegrt_sales_business_categorygrt_purchase_business_category
Model Utama
stock.picking
Penambahan utama:
business_category_idstock_team_idinventory_analytic_account_id
Perilaku utama:
- category bisa mengikuti picking type warehouse atau stock team
- validasi memastikan warehouse/team/category konsisten
- validasi menolak proses bila category kosong saat validasi transfer
stock.move
Penambahan utama:
business_category_idstock_team_idinventory_analytic_account_id
Perilaku utama:
- category dipropagasikan dari picking, sale/purchase context, dan manufacturing context
- account move line valuation dapat mewarisi analytic account inventory
stock.warehouse
Penambahan utama:
business_category_idstock_team_id
Security Rule
Model yang dibatasi category:
stock.pickingstock.movestock.warehousestock.teamstock.quantproduct.templateproduct.productaccount.move(inventory business category)account.move.line(inventory business category)
Prinsip akses:
- user inventory hanya bisa akses company + category efektif
- manager inventory tetap dibatasi category efektif
- admin modul tetap dibatasi category efektif
- hanya super admin (UID 1) yang dapat bypass penuh
Update Akses Ketat (2026-04-16)
Perubahan hardening yang diterapkan:
- ditambahkan guard domain
stock.picking._searchagar query selalu dipersempit ke company + category efektif - ditambahkan
stock.picking.check_access_ruleagar akses lintas category ditolak dengan pesan jelas - bypass berbasis
base.group_systemdi validasi operasionalstock.pickingdiubah menjadi bypass hanya untukSUPERUSER_ID(UID 1)
Implikasi:
- menghapus filter list default tidak membuat user bisa melihat transfer lintas category
- admin inventory harus tetap didaftarkan ke team/category terkait
Langkah Deploy
- restart service Odoo
- upgrade modul
grt_inventory_business_category - uji user non-super-admin dengan menghapus filter default pada Transfer list
- uji akses record lintas category dan pastikan muncul penolakan akses