Skip to Content
Menu
This question has been flagged
2 Replies
2741 Views

Hello everyone,


I want a user to be able to access the contact module in read-only mode but have write access and everything to the chatter linked to the contact. How to do it?


Thanks in advance to all.

Avatar
Discard
Best Answer

To grant a user read-only access to the Contacts module while allowing them full access to the chatter linked to each contact in Odoo, you'll need to set up specific access control and record rules. Here's how you can achieve this:

1. Create a Custom Security Group

  • Go to Settings > Users & Companies > Groups.
  • Create a new group, e.g., Contact Read-Only with Chatter Access.

2. Define Access Rights for the Contact Module

  • In the new security group, add a record for the contact model (which is typically res.partner in Odoo).
  • Set the following access rights:
    • Read: Enabled
    • Create: Disabled
    • Write: Disabled
    • Delete: Disabled

3. Adjust Access Rights for the Chatter

  • The chatter in Odoo (the message thread and log notes) is managed by the mail.message model.
  • Ensure that the same group has the following access rights for the mail.message model:
    • Read: Enabled
    • Create: Enabled
    • Write: Enabled
    • Delete: Enabled

4. Set Up Record Rules

  • You may need to create or modify record rules to restrict access to the res.partner model to ensure users can only view contact records but not modify them.

For the Contact Module (Read-Only):

  • Go to Settings > Technical > Security > Record Rules.
  • Create a new rule:
    • Name: Contact Read-Only
    • Object: res.partner
    • Domain Filter: ['|', ('user_id', '=', user.id), ('user_id', '=', False)] (adjust according to your requirements)
    • Groups: Assign the Contact Read-Only with Chatter Access group.
    • Enable Read permission only.

For the Chatter (Full Access):

  • Ensure the default rules for mail.message and related models like mail.followers allow the desired group to create, edit, and delete messages and activities.

5. Assign Users to the New Group

  • Go to Settings > Users & Companies > Users.
  • Assign the users who need this specific access to the Contact Read-Only with Chatter Access group.

6. Testing the Access Rights

  • Log in as a user assigned to this group and verify:
    • The user can view contacts but cannot edit or delete them.
    • The user can fully interact with the chatter (log notes, messages, and activities) linked to each contact.

Important Notes:

  • Customization: If the chatter involves related models like mail.activity, ensure you also set appropriate access rights and record rules for those models.
  • Complex Scenarios: In cases where the chatter involves other models or complex workflows, you may need to create additional rules or adjust the existing ones.
  • Testing: Always thoroughly test the new access rights with a test user account to ensure everything behaves as expected before rolling it out to other users.

This setup will ensure that users can only view contact records but have the ability to interact fully with the chatter linked to those contacts.

Avatar
Discard

Hi, are you sure this solution works? I try in Odoo 15 and cant post messages :

You are not allowed to modify 'Contact' (res.partner) records

Hi, did you find a solution?? The one suggested is not working. Thanks

This looks like one of those AI / LLM solutions!

Related Posts Replies Views Activity
1
Mar 24
1654
1
Jun 23
2384
0
Apr 22
2389
0
Mar 15
3717
2
Dec 24
1274