Ir al contenido
Menú
Se marcó esta pregunta
2 Respuestas
1731 Vistas

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
Mejor respuesta

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.

Mejor respuesta

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!

Publicaciones relacionadas Respuestas Vistas Actividad
0
dic 21
2520
1
mar 21
5713
3
nov 19
2984
2
feb 19
7729
1
mar 24
2006