Skip ke Konten
Odoo Menu
  • Login
  • Uji coba gratis
  • Aplikasi
    Keuangan
    • Akuntansi
    • Faktur
    • Pengeluaran
    • Spreadsheet (BI)
    • Dokumen
    • Tanda Tangan
    Sales
    • CRM
    • Sales
    • POS Toko
    • POS Restoran
    • Langganan
    • Rental
    Website
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Rantai Pasokan
    • Inventaris
    • Manufaktur
    • PLM
    • Purchase
    • Maintenance
    • Kualitas
    Sumber Daya Manusia
    • Karyawan
    • Rekrutmen
    • Cuti
    • Appraisal
    • Referensi
    • Armada
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Acara
    • Otomatisasi Marketing
    • Survei
    Layanan
    • Project
    • Timesheet
    • Layanan Lapangan
    • Meja Bantuan
    • Planning
    • Appointment
    Produktivitas
    • Diskusi
    • Approval
    • IoT
    • VoIP
    • Pengetahuan
    • WhatsApp
    Aplikasi pihak ketiga Odoo Studio Platform Odoo Cloud
  • Industri-Industri
    Retail
    • Toko Buku
    • Toko Baju
    • Toko Furnitur
    • Toko Kelontong
    • Toko Hardware
    • Toko Mainan
    Makanan & Hospitality
    • Bar dan Pub
    • Restoran
    • Fast Food
    • Rumah Tamu
    • Distributor Minuman
    • Hotel
    Real Estate
    • Agensi Real Estate
    • Firma Arsitektur
    • Konstruksi
    • Estate Management
    • Perkebunan
    • Asosiasi Pemilik Properti
    Konsultansi
    • Firma Akuntansi
    • Mitra Odoo
    • Agensi Marketing
    • Firma huku
    • Talent Acquisition
    • Audit & Sertifikasi
    Manufaktur
    • Tekstil
    • Logam
    • Perabotan
    • Makanan
    • Brewery
    • Corporate Gift
    Kesehatan & Fitness
    • Sports Club
    • Toko Kacamata
    • Fitness Center
    • Wellness Practitioners
    • Farmasi
    • Salon Rambut
    Perdagangan
    • Handyman
    • IT Hardware & Support
    • Sistem-Sistem Energi Surya
    • Pembuat Sepatu
    • Cleaning Service
    • Layanan HVAC
    Lainnya
    • Organisasi Nirlaba
    • Agen Lingkungan
    • Rental Billboard
    • Fotografi
    • Penyewaan Sepeda
    • Reseller Software
    Browse semua Industri
  • Komunitas
    Belajar
    • Tutorial-tutorial
    • Dokumentasi
    • Sertifikasi
    • Pelatihan
    • Blog
    • Podcast
    Empower Education
    • Program Edukasi
    • Game Bisnis 'Scale Up!'
    • Kunjungi Odoo
    Dapatkan Softwarenya
    • Download
    • Bandingkan Edisi
    • Daftar Rilis
    Kolaborasi
    • Github
    • Forum
    • Acara
    • Terjemahan
    • Menjadi Partner
    • Layanan untuk Partner
    • Daftarkan perusahaan Akuntansi Anda.
    Dapatkan Layanan
    • Temukan Mitra
    • Temukan Akuntan
    • Temui penasihat
    • Layanan Implementasi
    • Referensi Pelanggan
    • Bantuan
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Dapatkan demo
  • Harga
  • Bantuan

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

  • CRM
  • e-Commerce
  • Akuntansi
  • Inventaris
  • PoS
  • Project
  • MRP
All apps
Anda harus terdaftar untuk dapat berinteraksi di komunitas.
Semua Post Orang Lencana-Lencana
Label (Lihat semua)
odoo accounting v14 pos v15
Mengenai forum ini
Anda harus terdaftar untuk dapat berinteraksi di komunitas.
Semua Post Orang Lencana-Lencana
Label (Lihat semua)
odoo accounting v14 pos v15
Mengenai forum ini
Help

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

Langganan

Dapatkan notifikasi saat terdapat aktivitas pada post ini

Pertanyaan ini telah diberikan tanda
contactsfiltering
3 Replies
20335 Tampilan
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
Buang
Bayu Bramantya
Penulis

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

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

Bayu Bramantya
Penulis

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

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
Buang
Avatar
Sandeep Sonare
Jawaban Terbai

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
Buang
Avatar
Bhavin Patel
Jawaban Terbai

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
Buang
Menikmati diskusi? Jangan hanya membaca, ikuti!

Buat akun sekarang untuk menikmati fitur eksklufi dan agar terlibat dengan komunitas kami!

Daftar
Post Terkait Replies Tampilan Aktivitas
importing contacts. Getting blocking error: Contacts require a name at multiple rows
contacts
Avatar
Avatar
Avatar
2
Okt 25
836
Blocking Errors
contacts
Avatar
Avatar
1
Okt 25
700
O18 EE: Completely unknown email addresses in the contacts?
contacts
Avatar
Avatar
Avatar
2
Okt 25
855
Add contacts to the seller field and not users
contacts
Avatar
Avatar
1
Mei 25
2372
Odoo 12 Online: How to force - and lock custom filter in contacts, disable the remove function Diselesaikan
filtering
Avatar
Avatar
Avatar
2
Mar 25
6786
Komunitas
  • Tutorial-tutorial
  • Dokumentasi
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Terjemahan
Layanan
  • Odoo.sh Hosting
  • Bantuan
  • Peningkatan
  • Custom Development
  • Pendidikan
  • Temukan Akuntan
  • Temukan Mitra
  • Menjadi Partner
Tentang Kami
  • Perusahaan kami
  • Aset Merek
  • Hubungi kami
  • Tugas
  • Acara
  • Podcast
  • Blog
  • Pelanggan
  • Hukum • Privasi
  • Keamanan
الْعَرَبيّة 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 adalah rangkaian aplikasi bisnis open source yang mencakup semua kebutuhan perusahaan Anda: CRM, eCommerce, akuntansi, inventaris, point of sale, manajemen project, dan seterusnya.

Mudah digunakan dan terintegrasi penuh pada saat yang sama adalah value proposition unik Odoo.

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