Skip to Content
Odoo मेन्यू
  • Sign in
  • मुफ़्त में आज़माएं
  • ऐप्लिकेशन
    फ़ाइनेंस
    • अकाउंटिंग
    • इनवॉइसिंग
    • एक्सपेंस
    • स्प्रेडशीट (बीआई)
    • डॉक्यूमेंट्स
    • साइन
    सेल्स
    • सीआरएम
    • सेल्स
    • पीओएस शॉप
    • पीओएस रेस्टोरेंट
    • सब्सक्रिप्शन
    • रेंटल
    वेबसाइट
    • वेबसाइट बिल्डर
    • ई-कॉमर्स
    • ब्लॉग
    • फ़ोरम
    • लाइव चैट
    • ई-लर्निंग
    सप्लाई चेन
    • इन्वेंट्री
    • मैन्युफ़ैक्चरिंग
    • पीएलएम
    • परचेज़
    • मेंटेनेंस
    • क्वालिटी
    मानव संसाधन
    • कर्मचारी
    • रिक्रूटमेंट
    • टाइम ऑफ़
    • अप्रेज़ल
    • रेफ़रल
    • फ़्लीट
    मार्केटिंग
    • सोशल मार्केटिंग
    • ईमेल मार्केटिंग
    • एसएमएस मार्केटिंग
    • इवेंट
    • मार्केटिंग ऑटोमेशन
    • सर्वे
    सेवाएं
    • प्रोजेक्ट
    • टाइमशीट
    • फ़ील्ड सर्विस
    • हेल्पडेस्क
    • प्लानिंग
    • अपॉइंटमेंट
    प्रॉडक्टिविटी
    • डिस्कस
    • अप्रूवल
    • आईओटी
    • वीओआईपी
    • नॉलेज
    • WhatsApp
    तीसरे पक्ष के ऐप्लिकेशन Odoo स्टूडियो Odoo क्लाउड प्लेटफ़ॉर्म
  • इंडस्ट्री
    रीटेल
    • बुक स्टोर
    • क्लोदिंग स्टोर
    • फ़र्नीचर स्टोर
    • ग्रॉसरी स्टोर
    • हार्डवेयर स्टोर
    • टॉय स्टोर
    Food & Hospitality
    • बार और पब
    • रेस्टोरेंट
    • फ़ास्ट फ़ूड
    • Guest House
    • बेवरिज डिस्ट्रीब्यूटर
    • होटल
    रियल एस्टेट
    • Real Estate Agency
    • आर्किटेक्चर फ़र्म
    • कंसट्रक्शन
    • एस्टेट मैनेजमेंट
    • गार्ड्निंग
    • प्रॉपर्टी ओनर असोसिएशन
    कंसल्टिंग
    • अकाउंटिंग फ़र्म
    • Odoo पार्टनर
    • मार्केटिंग एजेंसी
    • लॉ फ़र्म
    • टैलेंट ऐक्विज़िशन
    • ऑडिट & सर्टिफ़िकेशन
    मैन्युफ़ैक्चरिंग
    • टेक्सटाइल
    • Metal
    • फ़र्नीचर
    • फ़ूड
    • Brewery
    • कॉर्पोरेट गिफ़्ट
    हेल्थ & फिटनेस
    • स्पोर्ट्स क्लब
    • आईवियर स्टोर
    • फिटनेस सेंटर
    • वेलनेस प्रैक्टिशनर
    • फॉर्मेसी
    • हेयर सैलून
    Trades
    • Handyman
    • आईटी हॉर्डवेयर और सपोर्ट
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    अन्य
    • Nonprofit Organization
    • एन्वायरमेंटल एजेंसी
    • बिलबोर्ड रेंटल
    • फ़ोटोग्राफी
    • बाइक लीजिंग
    • सॉफ़्टवेयर रीसेलर
    Browse all Industries
  • कम्यूनिटी
    सीखें
    • ट्यूटोरियल्स
    • दस्तावेज़
    • सर्टिफ़िकेशन
    • ट्रेनिंग
    • ब्लॉग
    • पॉडकास्ट
    शिक्षा को बढ़ावा दें
    • एजुकेशन प्रोग्राम
    • स्केल अप! बिजनेस गेम
    • Odoo के ऑफ़िस में आएं
    सॉफ़्टवेयर पाएं
    • डाउनलोड
    • वर्शन की तुलना करें
    • रिलीज़
    साथ मिलकर काम करें
    • Github
    • फ़ोरम
    • इवेंट
    • अनुवाद
    • पार्टनर बनें
    • Services for Partners
    • अपना अकाउंटिंग फ़र्म रजिस्टर करें
    सेवाएं पाएं
    • पार्टनर ढूंढें
    • अकाउंटेंट खोजें
    • सलाहकार की मदद लें
    • इम्प्लिमेंटेशन सेवाएं
    • कस्टमर रेफ़रेंस
    • सहायता
    • अपग्रेड
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    डेमो देखें
  • कीमत
  • सहायता

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

  • सीआरएम
  • e-Commerce
  • लेखांकन
  • इन्वेंटरी
  • PoS
  • प्रोजेक्ट
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
टैग (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
टैग (View all)
odoo accounting v14 pos v15
About this forum
Help

How do I restrict users to only one model in Odoo?

This question has been flagged
The question has been closed for reason: duplicate post
by Ray Carnes (ray) on 22/12/2024 03:51:35 pm
security.xmlodoo17securityGroups
1563 Views
Avatar
Jugert Mucoimaj

I have tried almost everything and I need to limit users to see other models but just one. How can I do it using security rules in xml?


<odoo>
<data noupdate="1">
<!-- Payroll Admin Group -->
<record id="group_payroll_admin" model="res.groups">
<field name="name">Payroll Admin</field>
<field name="category_id" ref="base.module_category_human_resources"/>
</record>

<!-- Payroll User Group -->
<record id="group_payroll_user" model="res.groups">
<field name="name">Payroll User</field>
<field name="category_id" ref="base.module_category_human_resources"/>
</record>

<record id="group_attendance_user" model="res.groups">
<field name="name">Attendance User</field>
<field name="category_id" ref="base.module_category_human_resources"/>
</record>

<!-- Attendance User Group -->
<record id="group_attendance_user" model="res.groups">
<field name="name">Attendance User</field>
<field name="category_id" ref="base.module_category_human_resources"/>
</record>

<!-- Attendance Admin Group -->
<record id="group_attendance_admin" model="res.groups">
<field name="name">Attendance Admin</field>
<field name="category_id" ref="base.module_category_human_resources"/>
</record>

<!-- Record Rules -->
<!-- Admins have full access to payroll -->
<record id="payroll_admin_rule" model="ir.rule">
<field name="name">Payroll Admin Full Access</field>
<field name="model_id" ref="model_payroll_calculator"/>
<field name="groups" eval="[(4, ref('automatic_payroll.group_payroll_admin'))]"/>
<field name="domain_force">[]</field>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="1"/>
<field name="perm_unlink" eval="1"/>
</record>

<!-- Users can only manage their payroll -->
<record id="payroll_user_rule" model="ir.rule">
<field name="name">Payroll User Limited Access</field>
<field name="model_id" ref="model_payroll_calculator"/>
<field name="groups" eval="[(4, ref('automatic_payroll.group_payroll_user'))]"/>
<field name="domain_force">[('create_uid', '=', user.id)]</field>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="1"/>
<field name="perm_unlink" eval="0"/>
</record>

<!-- Admins have full access to payroll lines -->
<record id="payroll_line_admin_rule" model="ir.rule">
<field name="name">Payroll Line Admin Full Access</field>
<field name="model_id" ref="model_payroll_calculator_line"/>
<field name="groups" eval="[(4, ref('automatic_payroll.group_payroll_admin'))]"/>
<field name="domain_force">[]</field>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="1"/>
<field name="perm_unlink" eval="1"/>
</record>

<!-- Users can only view payroll lines they own -->
<record id="payroll_line_user_rule" model="ir.rule">
<field name="name">Payroll Line User Limited Access</field>
<field name="model_id" ref="model_payroll_calculator_line"/>
<field name="groups" eval="[(4, ref('automatic_payroll.group_payroll_user'))]"/>
<field name="domain_force">[('create_uid', '=', user.id)]</field>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="1"/>
<field name="perm_unlink" eval="0"/>
</record>

<!-- Admins have full access to contract templates -->
<record id="contract_template_admin_rule" model="ir.rule">
<field name="name">Contract Template Admin Full Access</field>
<field name="model_id" ref="model_contract_template"/>
<field name="groups" eval="[(4, ref('automatic_payroll.group_payroll_admin'))]"/>
<field name="domain_force">[]</field>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="1"/>
<field name="perm_unlink" eval="1"/>
</record>

<!-- Users can only view contract templates they own -->
<record id="contract_template_user_rule" model="ir.rule">
<field name="name">Contract Template User Limited Access</field>
<field name="model_id" ref="model_contract_template"/>
<field name="groups" eval="[(4, ref('automatic_payroll.group_payroll_user'))]"/>
<field name="domain_force">[]</field>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="1"/>
<field name="perm_unlink" eval="0"/>
</record>

<!-- Restrict Payroll User Group from accessing other modules -->
<record id="rule_payroll_user_restrict" model="ir.rule">
<field name="name">Restrict Payroll User Access</field>
<field name="model_id" ref="base.model_res_users"/>
<field name="groups" eval="[(4, ref('automatic_payroll.group_payroll_user'))]"/>
<field name="domain_force">[('id', '=', False)]</field>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="0"/>
<field name="perm_create" eval="0"/>
<field name="perm_unlink" eval="0"/>
</record>

<!-- Model Access Rights -->
<!-- Attendance User Access -->
<record id="access_attendance_user" model="ir.model.access">
<field name="name">Access Attendance User</field>
<field name="model_id" ref="hr_attendance.model_hr_attendance"/>
<field name="group_id" ref="group_attendance_user"/>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="1"/>
<field name="perm_unlink" eval="0"/>
</record>

<!-- Attendance Admin Access -->
<record id="access_attendance_admin" model="ir.model.access">
<field name="name">Access Attendance Admin</field>
<field name="model_id" ref="hr_attendance.model_hr_attendance"/>
<field name="group_id" ref="group_attendance_admin"/>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="1"/>
<field name="perm_unlink" eval="1"/>
</record>

<!-- Record Rules -->
<!-- Restrict Attendance User to Attendance Module -->
<record id="rule_attendance_user_access" model="ir.rule">
<field name="name">Attendance User Restricted Access</field>
<field name="model_id" ref="base.model_ir_ui_menu"/>
<field name="groups" eval="[(4, ref('group_attendance_user'))]"/>
<field name="domain_force" eval="[('id', '=', ref('hr_attendance.menu_hr_attendance_kiosk_mode'))]"/>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="0"/>
<field name="perm_create" eval="0"/>
<field name="perm_unlink" eval="0"/>
</record>

<!-- Restrict Attendance User to Attendance Models -->
<record id="rule_attendance_user_model_access" model="ir.rule">
<field name="name">Attendance User Model Restriction</field>
<field name="model_id" ref="base.model_ir_model_access"/>
<field name="groups" eval="[(4, ref('group_attendance_user'))]"/>
<field name="domain_force">[('model_id.model', 'in', ['hr.attendance'])]</field>
</record>

<!-- Allow Attendance User to Read Their Own User Record -->
<record id="rule_attendance_user_read_own_user" model="ir.rule">
<field name="name">Allow Attendance User to Read Own User</field>
<field name="model_id" ref="base.model_res_users"/>
<field name="groups" eval="[(4, ref('group_attendance_user'))]"/>
<field name="domain_force">[('id', '=', user.id)]</field>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="0"/>
<field name="perm_create" eval="0"/>
<field name="perm_unlink" eval="0"/>
</record>

</data>
</odoo>
Avatar
Discard
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Sign up
Related Posts Replies Views Activity
Adding a new security group to an existing module Solved
security.xml odoo18 securityGroups Odoov18
Avatar
Avatar
Avatar
2
दिस॰ 25
392
Error while posting invoice to ZATCA odoo sh Solved
odoo17
Avatar
Avatar
Avatar
Avatar
3
जुल॰ 25
3288
How to send a real-time notification to POS UI using bus.bus in Odoo 17?
odoo17
Avatar
Avatar
1
जून 25
5711
Odoo time-sheets rights to add
odoo17
Avatar
Avatar
2
मई 25
3202
POS is not recognizing short barcodes like "95" or "96" (Code 39 or custom short codes)
odoo17
Avatar
1
मई 25
2201
कम्यूनिटी
  • ट्यूटोरियल्स
  • दस्तावेज़
  • फ़ोरम
ओपन सोर्स
  • डाउनलोड
  • Github
  • रनबॉट
  • अनुवाद
सेवाएं
  • Odoo.sh Hosting
  • सहायता
  • अपग्रेड
  • कस्टम डेवलपमेंट्स
  • शिक्षा
  • अकाउंटेंट खोजें
  • पार्टनर ढूंढें
  • पार्टनर बनें
हमारे बारे में
  • हमारी कंपनी
  • ब्रांड ऐसेट
  • संपर्क करें
  • नौकरियां
  • इवेंट
  • पॉडकास्ट
  • ब्लॉग
  • ग्राहक
  • लीगल • गोपनीयता
  • सुरक्षा
الْعَرَبيّة 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, बिज़नेस से जुड़े ऐप्लिकेशन का एक कलेक्शन है जो ओपन सोर्स पर आधारित है. इसमें आपकी कंपनी की हर ज़रूरत के लिए ऐप्लिकेशन हैं. जैसे, सीआरएम, ई-कॉमर्स, अकाउंटिंग, इन्वेंट्री, पॉइंट ऑफ़ सेल, प्रोजेक्ट मैनेजमेंट वगैरह.

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