Skip to Content
Menú
This question has been flagged
2 Respostes
1757 Vistes

I am using feature multi company in odoo 16.

I want to block users of one company from being able to view contact lists created by users of other companies. I tried creating a record rule for the contact module that only shows records whose company_id of the user logged into the system matches the company_id of the user whose id equals the create_uid of res_partner.


The domains I use to filter data are as follows:

[ '|', ('create_uid.company_id', '=', user.company_id.id), ('id', '=', user.partner_id.id)]


However it doesn't work as I expected. 

I use userA to create test, odoo auto create new partner name test, and userA's id become test's create_uid. After login odoo with test, i open contacts module and see test's partner. When i open that partner odoo show this error:

Access Error
Due to security restrictions, you are not allowed to access 'Contact' (res.partner) records.

Records: YourCompany, Mitchell Admin (id=3)
User: test (id=8)

This restriction is due to the following rules:
- contact rule

Note: this might be a multi-company issue.

Contact your administrator to request access if necessary.

 

Please let me know if there is any other way that can help me achieve my goal.


Thanks everyone!

Avatar
Descartar
Best Answer

Odoo already has a record rule that will block users in Company A from seeing contacts for Company B.  

You need to specify that the contacts are for Company B (if left blank they are available across all companies):


Avatar
Descartar
Autor

Thank you, I get it.

Best Answer

Hello TrungPA, 


In the case of using the multi-company feature. The company field will be visible in the module. Where you can define the company name. 

So related company users can access the records.


Thanks.

Avatar
Descartar
Autor

Thank you!

Related Posts Respostes Vistes Activitat
0
de des. 21
2527
1
de març 21
5728
3
de nov. 19
3017
2
de febr. 19
7745
1
de març 24
2045