تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
2 الردود
708 أدوات العرض

Hello,


Is it possible to create a record rule that limits users from seeing partners that belong to users from other sales team.


I only want them to see contacts, sales and documents from the same team that they belong.


الصورة الرمزية
إهمال
أفضل إجابة


Restricting Access to Same Sales Team Records in Odoo

You can create record rules to ensure users only see:

Contacts (res.partner)

Sales Orders (sale.order)

Documents (e.g., ir.attachment)

That are assigned to users in the same Sales Team (crm.team) as them.

Example Record Rule Domain:

For res.partner and sale.order:

['|', ('user_id', '=', False),('user_id.sale_team_id', 'in', user.sale_team_id.ids)]

This allows access only if:

The record has no assigned user, OR

The assigned user is in the same sales team


Important points:

  • Adjust domains for documents based on how they're linked (res_model and res_id).
  • Apply rules to appropriate user groups (e.g., Sales / User: Own Documents Only).


الصورة الرمزية
إهمال
أفضل إجابة

Yes, this can be done directly in Odoo without custom code.

If each contact, sale order, or document is linked to a Sales Team, and each user is assigned to one or more Sales Teams (under CRM > Configuration > Sales Teams), you can create a Record Rule to restrict access.

Simply go to Settings > Technical > Security > Record Rules (activate Developer Mode if needed), and create a new rule on the relevant model (e.g., res.partner, sale.order, etc.). Use a domain like:

['|', ('team_id.user_id', '=', user.id), ('team_id.member_ids', 'in', [user.id])]

This ensures users only see records related to the Sales Team they belong to.

الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
1
نوفمبر 23
1676
1
يوليو 24
1303
4
ديسمبر 23
23763
1
أغسطس 22
1766
1
أكتوبر 21
1953