Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
3 Risposte
1916 Visualizzazioni

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.


Avatar
Abbandona
Risposta migliore

Hi,

You can create record rules so users can only see contacts, sales, and documents that belong to their own sales team.

Steps

    1. 1. Go to: Settings → Technical → Security → Record Rules

    2. 2. Create a new rule for each model (e.g., res.partner, sale.order, documents.document).

    3. 3. Set the rule domain as shown below:

Rule Domains

For Contacts (res.partner):


['|',

('user_id.sale_team_id.member_ids', 'in', [user.id]),

('sale_team_id.member_ids', 'in', [user.id])]


For Sales Orders (sale.order):


['|',

('user_id.sale_team_id.member_ids', 'in', [user.id]),

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


For Documents (linked to sales or contacts):


['|',

('partner_id.user_id.sale_team_id.member_ids', 'in', [user.id]),

('sale_order_id.team_id.member_ids', 'in', [user.id])]


    4. 4. Apply the rule to the correct user groups, such as “Sales / User: Own Documents Only”.

    5. 5. Save and refresh. Users will now only see records belonging to their own sales team.


Hope it helps.

Avatar
Abbandona
Risposta migliore


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).


Avatar
Abbandona
Risposta migliore

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.

Avatar
Abbandona
Post correlati Risposte Visualizzazioni Attività
1
nov 23
2288
1
lug 24
2032
4
dic 23
24732
1
ago 22
2351
1
ott 21
2608