Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Estate Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Pricing
  • Help

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

  • CRM
  • e-Commerce
  • Accounting
  • Inventory
  • PoS
  • Project
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
Help

Filtering orders, purchases, invoices based on a product field

Subscribe

Get notified when there's activity on this post

This question has been flagged
domain_filter
5 Replies
6588 Views
Avatar
Mathieu Laflamme

I try to figure how I can show a restricted list of orders, purchases or invoice based on a field I added in the product model, stock_owner_id. He should see only records related to his allowed_stock_owner_ids.

Am I forced to copy stock_owner_id from product.template to sale.order.line to sale.order to apply my domain filter? Is there another way around?

Here are my models:

class User(models.Model): 
    _inherit = 'res.users'
    
    current_stock_owner_id = fields.Many2one('res.partner', string='Current Stock Owner')
    allowed_stock_owner_ids = fields.Many2many('res.partner', 'res_partner_users_rel', 
                                       string='Stock Owners',
                                       domain="[('stock_owner','=',True)]")

class ProductTemplate(models.Model): _inherit = 'product.template' stock_owner_id = fields.Many2one('res.partner', string='Stock Owner',     domain="[('stock_owner','=',True)]")

0
Avatar
Discard
Abdul wahid

you may need to provide domain in a RETURN.... which returns a model ,say 'purchase.order' and define that domain based on your condition

Mathieu Laflamme
Author

Abdul, can you give an example?

Abdul wahid

please check the question that i have asked "pass filtered purchase orders"...

Mathieu Laflamme
Author

That doesn't help me at all sorry. I don't see the link between your case and mine. My ultimate goal is to create record rules...

Avatar
Mathieu Laflamme
Author Best Answer

Got it! Here is the record rule I need :)

 <record id="isolate_stock_owners_sale_order_rule" model="ir.rule">
        <field name="name">Isolate Stock Owner Sale Order</field>
        <field name="model_id" ref="model_sale_order"/>
        <field eval="True" name="global"/>
        <field name="domain_force">[('order_line.product_tmpl_id.stock_owner_id', '=', user.allowed_stock_owner_ids.id)]</field>
    </record>
0
Avatar
Discard
Abdul wahid

if u don't mind will u please explain,how record rule works??currently i am familiarised with only two types of records.ir.ui.view and action.

Mathieu Laflamme
Author

This allow us to define rules tu access records based on a domain filter. As you can see the domain filter allow dot notation on the left and right side. Check the documentation because when executed on the client side, domain filter doesn't allow dot notation on the left side if I'm not mistaken.

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
Dynamic Domain for states
domain_filter
Avatar
Avatar
1
May 24
3324
Odoo v16 domain, how to create a domain by user.company_id
domain_filter
Avatar
Avatar
1
Nov 22
5927
Filtering domain
domain_filter
Avatar
Avatar
2
Jul 22
4417
Search domain : multiple condition Solved
domain_filter
Avatar
Avatar
2
May 18
10484
Odoo Web Service API - Search Domain Matching ? Solved
domain_filter
Avatar
Avatar
2
Jul 17
7745
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security
الْعَرَبيّة 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 is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

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