Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
2 Replies
1786 Tampilan

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
Buang
Jawaban Terbai

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
Buang
Penulis

Thank you, I get it.

Jawaban Terbai

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
Buang
Penulis

Thank you!

Post Terkait Replies Tampilan Aktivitas
0
Des 21
2554
1
Mar 21
5752
3
Nov 19
3057
2
Feb 19
7785
1
Mar 24
2080