hello everyone,
i created tow groups to manage contact create and edit access right as below:
<odoo>
<data>
<!-- Create Contact group -->
<record id="group_create_contact" model="res.groups">
<field name="name">Create Contact</field>
</record>
<!-- Edit Contact group -->
<record id="group_edit_contact" model="res.groups">
<field name="name">Edit Contact</field>
</record>
</data>
</odoo>
then i created csv field to setup the access :rights:id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_create_contact,access_create_contact,base.model_res_partner,contact_access_rights.group_create_contact,1,0,1,0
access_edit_contact,access_edit_contact,base.model_res_partner,contact_access_rights.group_edit_contact,1,1,0,0
the edit works fine, but when trying to create a new contact the press save button it shows below error message:
You are not allowed to modify 'Contact' (res.partner) records. This operation is allowed for the following groups: - Edit Contact Contact your administrator to request access if necessary.
i disabled all res.partner model access right and record rule to find the issue, but still getting same error. i searched and found that Odoo sometimes needs to allow "write" access to specific models to enable creation (even temporarily), so i create a record rule and add domain [('id', '=', False)]. it's simple but not working, any ideas odoooers?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- 客戶關係
- e-Commerce
- 會計
- 庫存
- PoS
- Project
- MRP
此問題已被標幟
1
回覆
1289
瀏覽次數
by overriding create and edit ORM methods and provide sudo privilege,
def create(self, vals):
record = super(ResPartner, self.sudo()).create(vals)
return record
def write(self, vals):
res = super(ResPartner, self.sudo()).write(vals)
return res
相關帖文 | 回覆 | 瀏覽次數 | 活動 | |
---|---|---|---|---|
|
1
8月 18
|
14645 | ||
|
0
11月 15
|
4747 | ||
|
1
3月 15
|
5003 | ||
|
1
3月 15
|
8419 | ||
|
10
12月 23
|
36745 |