Dua lapis, dua pertanyaan.
Access rights (ir.model.access.csv)
Pertanyaan: grup ini boleh baca, tulis, buat, atau hapus model ini sama sekali?
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_x_user,x.user,model_x,base.group_user,1,0,0,0
access_x_mgr,x.manager,model_x,my.group_mgr,1,1,1,1
Tidak ada baris untuk suatu grup berarti tidak ada akses. File ini yang sering terlupa, makanya model baru muncul “You are not allowed to access”.
Record rule (ir.rule)
Pertanyaan: baris mana yang boleh dilihat grup ini?
<record id="rule_x_own" model="ir.rule">
<field name="name">X: own records</field>
<field name="model_id" ref="model_x"/>
<field name="domain_force">[('user_id', '=', user.id)]</field>
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
</record>
Jebakan
Rule tanpa grup berlaku untuk semua orang. Rule untuk model sama dengan grup berbeda digabung OR, rule global digabung AND.
Cek
Login sebagai user tes untuk tiap role lalu buka list view. Jangan percaya cek sebagai admin, karena superuser melewati rule.