Se rendre au contenu
Odoo Menu
  • Se connecter
  • Essai gratuit
  • Applications
    Finance
    • Comptabilité
    • Facturation
    • Notes de frais
    • Feuilles de calcul (BI)
    • Documents
    • Signature
    Ventes
    • CRM
    • Ventes
    • PdV Boutique
    • PdV Restaurant
    • Abonnements
    • Location
    Sites web
    • Site Web
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Chaîne d'approvisionnement
    • Inventaire
    • Fabrication
    • PLM
    • Achats
    • Maintenance
    • Qualité
    Ressources Humaines
    • Employés
    • Recrutement
    • Congés
    • Évaluations
    • Recommandations
    • Parc automobile
    Marketing
    • Marketing Social
    • E-mail Marketing
    • SMS Marketing
    • Événements
    • Marketing Automation
    • Sondages
    Services
    • Projet
    • Feuilles de temps
    • Services sur Site
    • Assistance
    • Planification
    • Rendez-vous
    Productivité
    • Discussion
    • Validations
    • Internet des Objets
    • VoIP
    • Connaissances
    • WhatsApp
    Applications tierces Odoo Studio Plateforme Cloud d'Odoo
  • Industries
    Commerce de détail
    • Librairie
    • Magasin de vêtements
    • Magasin de meubles
    • Épicerie
    • Quincaillerie
    • Magasin de jouets
    Food & Hospitality
    • Bar et Pub
    • Restaurant
    • Fast-food
    • Maison d’hôtes
    • Distributeur de boissons
    • Hôtel
    Immobilier
    • Agence immobilière
    • Cabinet d'architecture
    • Construction
    • Gestion immobilière
    • Jardinage
    • Association de copropriétaires
    Consultance
    • Cabinet d'expertise comptable
    • Partenaire Odoo
    • Agence Marketing
    • Cabinet d'avocats
    • Aquisition de talents
    • Audit & Certification
    Fabrication
    • Textile
    • Métal
    • Meubles
    • Alimentation
    • Brewery
    • Cadeaux d'entreprise
    Santé & Fitness
    • Club de sports
    • Opticien
    • Salle de fitness
    • Praticiens bien-être
    • Pharmacie
    • Salon de coiffure
    Trades
    • Bricoleur
    • Matériel informatique et support
    • Systèmes photovoltaïques
    • Cordonnier
    • Services de nettoyage
    • Services CVC
    Autres
    • Organisation à but non lucratif
    • Agence environnementale
    • Location de panneaux d'affichage
    • Photographie
    • Leasing de vélos
    • Revendeur de logiciel
    Browse all Industries
  • Communauté
    Apprenez
    • Tutoriels
    • Documentation
    • Certifications
    • Formation
    • Blog
    • Podcast
    Renforcer l'éducation
    • Programme éducatif
    • Business Game Scale-Up!
    • Rendez-nous visite
    Obtenir le logiciel
    • Téléchargement
    • Comparez les éditions
    • Versions
    Collaborer
    • Github
    • Forum
    • Événements
    • Traductions
    • Devenez partenaire
    • Services for Partners
    • Enregistrer votre cabinet comptable
    Nos Services
    • Trouver un partenaire
    • Trouver un comptable
    • Rencontrer un conseiller
    • Services de mise en œuvre
    • Références clients
    • Assistance
    • Mises à niveau
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Obtenir une démonstration
  • Tarification
  • Aide

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Comptabilité
  • Inventaire
  • PoS
  • Projet
  • MRP
All apps
Vous devez être inscrit pour interagir avec la communauté.
Toutes les publications Personnes Badges
Étiquettes (Voir toutl)
odoo accounting v14 pos v15
À propos de ce forum
Vous devez être inscrit pour interagir avec la communauté.
Toutes les publications Personnes Badges
Étiquettes (Voir toutl)
odoo accounting v14 pos v15
À propos de ce forum
Aide

How to make users only able to see their own Contacts and CRM?

S'inscrire

Recevez une notification lorsqu'il y a de l'activité sur ce poste

Cette question a été signalée
contactsfiltering
3 Réponses
20328 Vues
Avatar
Bayu Bramantya

Hi, i need to make each user to only be able to see their own data. But currently all users can see contacts from other users and CRM from other users. 

for example there are User A and User B. User A will only be able to see contacts and CRM from user A. User B will only be able to see contacts and CRM from user B.

How to make users only able to see their own Contacts and CRM? thank you

0
Avatar
Ignorer
Bayu Bramantya
Auteur

@Gando Loudo thank you, that works but it also applies to administrator. 

any idea how to make it only applies to certain users (or type of users)?

Bayu Bramantya
Auteur

ive tried added "group" to the record rule for contact. but it doesnt work for contacts. there's no "contacts" "application"

Bayu Bramantya
Auteur

my bad. turns out @gando loudo's script only work for admin. while non admin got this error

Due to security restrictions, you are not allowed to access 'User' (res.users) records.

Records: test2 (id=7)
User: test2 (id=7)

This restriction is due to the following rules:

Contact your administrator to request access if necessary.

Bhavin Patel

To restrict users to only see their own contacts and CRM records, you can use record rules in Odoo. Record rules allow you to restrict access to specific records based on certain conditions, such as the owner of the record.

Here's an example of how to create a record rule that restricts access to Contacts and CRM records based on the owner:

Go to Settings > Technical > Security > Record Rules.
Create a new record rule for the model you want to restrict access to (e.g. Contacts or CRM).
Set the Domain to ['|', ('user_id', '=', user.id), ('user_id', '=', False)]. This domain will restrict access to records where the user is the owner or the owner is not set.
Set the Apply for Read field to Yes to apply this rule when reading records.
Set the Apply for Write field to Yes to apply this rule when writing records.
Set the Groups field to the appropriate group(s) that should have this restriction applied to them.

With this record rule in place, users will only be able to see Contacts and CRM records that they own, or records where the owner is not set. Note that you will need to adjust the domain and group settings to fit your specific requirements.

Regarding the issue you mentioned with the script only working for administrators, you can modify the script to check if the current user has permission to read the res.users model before running the search. Here's an example:

python

from odoo import api, fields, models

class ResPartner(models.Model):
_inherit = 'res.partner'

@api.model
def search(self, args, offset=0, limit=None, order=None, count=False):
if self.env.user.has_group('base.group_user'):
# Only apply restriction for non-admin users
user_id = self.env.user.id
args += [('user_id', '=', user_id)]
return super().search(args, offset, limit, order, count)

In this modified code snippet, the has_group() method is used to check if the current user belongs to the base.group_user group, which includes all non-admin users. If the user has this group, the search will be restricted to records where the user is the owner. If the user does not have this group (i.e. they are an administrator), the search will return all records.

Ing. Ang3l Barrera

At the moment I have the same problem.
Thank you so much for you post, your post really help!!!

Bhavin Patel is a mastert!!!!

Avatar
Cybrosys Techno Solutions Pvt.Ltd
Meilleure réponse

Hi,

Users are only able to see their Contacts by using the Record rule:

<record id="crm_record_rule_user" model="ir.rule">
<field name="name">Record Rule for crm user</field>
<field ref="model_[your_model_name]" name="model_id"/>
<field name="domain_force">[('related_partner_id', '=', user.id)] style="color:#e8bf6a;"></field>
<field name="groups" eval="[(4, ref('module_name.crm_user'))]"/>
</record>

Here the corresponding partner field refers to the user, so we can connect the user id with this field in the model. You can replace the 'related_partner' field with the res.partner field of this model.

Refer to this link:

https://www.cybrosys.com/odoo/odoo-books/odoo-16-development/security/record-rules/

Regards

1
Avatar
Ignorer
Avatar
Sandeep Sonare
Meilleure réponse

To restrict users to only see their own Contacts and CRM, create Record Rules for Contacts (res.partner) and CRM (crm.lead) using the domain `('user_id', '=', user.id)`. Apply these rules under Settings > Technical > Security > Record Rules for the respective models.

0
Avatar
Ignorer
Avatar
Bhavin Patel
Meilleure réponse

To make users only able to see their own contacts and CRM, you can apply record rules in Odoo. Here are the steps to create record rules for Contacts and CRM modules:

  1. Go to the "Settings" menu in Odoo and click on "Technical" to access the technical settings.

  2. Under "Security," click on "Record Rules" to view the list of all the record rules in Odoo.

  3. Click on "Create" to create a new record rule.

  4. In the record rule form, specify the name of the record rule, the model for which the rule will apply (e.g., "Contacts" or "CRM"), and the domain filter that specifies which records should be visible to the user.

For example, to make User A only able to see contacts and CRM from user A, you can create a domain filter like this:

[('user_id', '=', user.id)]

Where user_id is the field that identifies the user who owns the record and user.id is the ID of the current user.

  1. Specify the access rights for the record rule, such as read, write, and delete. In this case, you would want to allow read access only.

  2. Click "Save" to save the record rule.

  3. Repeat steps 3-6 for each model (Contacts, CRM) that you want to restrict access to.

Once you have created the record rules, each user will only be able to see their own contacts and CRM records. If a user tries to access records owned by another user, they will receive an access error message.

0
Avatar
Ignorer
Vous appréciez la discussion ? Ne vous contentez pas de lire, rejoignez-nous !

Créez un compte dès aujourd'hui pour profiter de fonctionnalités exclusives et échanger avec notre formidable communauté !

S'inscrire
Publications associées Réponses Vues Activité
importing contacts. Getting blocking error: Contacts require a name at multiple rows
contacts
Avatar
Avatar
Avatar
2
oct. 25
821
Blocking Errors
contacts
Avatar
Avatar
1
oct. 25
686
O18 EE: Completely unknown email addresses in the contacts?
contacts
Avatar
Avatar
Avatar
2
oct. 25
853
Add contacts to the seller field and not users
contacts
Avatar
Avatar
1
mai 25
2372
Odoo 12 Online: How to force - and lock custom filter in contacts, disable the remove function Résolu
filtering
Avatar
Avatar
Avatar
2
mars 25
6785
Communauté
  • Tutoriels
  • Documentation
  • Forum
Open Source
  • Téléchargement
  • Github
  • Runbot
  • Traductions
Services
  • Hébergement Odoo.sh
  • Assistance
  • Migration
  • Développements personnalisés
  • Éducation
  • Trouver un comptable
  • Trouver un partenaire
  • Devenez partenaire
À propos
  • Notre société
  • Actifs de la marque
  • Contactez-nous
  • Emplois
  • Événements
  • Podcast
  • Blog
  • Clients
  • Informations légales • Confidentialité
  • Sécurité.
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo est une suite d'applications open source couvrant tous les besoins de votre entreprise : CRM, eCommerce, Comptabilité, Inventaire, Point de Vente, Gestion de Projet, etc.

Le positionnement unique d'Odoo est d'être à la fois très facile à utiliser et totalement intégré.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now