Skip to Content
Menu
This question has been flagged
3 Replies
5945 Views

how to make a record readonly by specific user group? 
Example:  I have 10 record of product. and two group of user e.g (A & B). 
here is the requirement

  • users in group A be able to edit all the products

  • user in group B can only edit some specific products

  • user in group B can create products and view all the products

Avatar
Discard
Author Best Answer

Hello CV,
thank you for answering, you mentioned that I have to create a record rule for how many record should be visible.
but how can i create a record rule for the record to be shown but can't be edited?

Avatar
Discard

To restrict record rule with more specification give only edit rights into record rule.

ex: add this lines to the record rule

<field name="perm_read" eval="True"/>

<field name="perm_write" eval="False"/>

<field name="perm_create" eval="False"/>

<field name="perm_unlink" eval="False"/>

Best Answer

For the security rights you have to assign

 Assign group A with only read permission [1,0,0,0]

Assign group B with all permissions [1,1,1,1]

This permissions are written in ir.model.access.csv file.


For second requirement you have create record rule for group B with the condition for how many records should be visible to particular group.

ex;

 <record id="group_account_invoice" model="res.groups">  
     <field name="name">Billing</field>
     <field name="category_id" ref="base.module_category_accounting_and_finance"/>
     <field name="users" eval="[(4, ref('base.user_root'))]"/>
     <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
 </record>


For reference see this doc: \https://www.odoo.com/documentation/9.0/reference/security.html

Avatar
Discard
Related Posts Replies Views Activity
2
Mar 15
2448
1
Mar 23
1177
2
Sep 22
2446
0
Mar 19
1830
1
Mar 15
4976