跳至內容
選單
此問題已被標幟
1 回覆
1668 瀏覽次數

Hello, 

I am creating a maintenance module where I use products as the maintenance actions. 

eg: product: revise engine


But  I don't want these products to show up any where else then in my maintenance module. 

I know I can add domain filters to the other views-actions to filter out these products, but this is a lot of work. And adding them to every one2many field. This is almost impossible. 

Is there a way to hide the products in all the views exept for the views where I want them to? 

I was thinking about record rules, but it doesn't look like the rules have any knowledge about the view that is shown.

Please let me know your ideas!

Thanks, 


頭像
捨棄

you can set the check boxes can be sold and can be purchased so it won't appear in most views.  or archive the product.  

最佳答案

Hello Dries,

You can do this by simply overriding the method search_read in the inherited model product.product. Just follow the code written below:


class Product(models.Model):    
​_inherit = 'product.product'
​@api.model
​def search_read(self, domain=None, fields=None, offset=0, limit=None, order=None, **read_kwargs):
​if self.env.context('field_name', False):
domain += [('field_name', '=', True)] # or the domain you want to add.
​else:
domain += [('field_name', '=', False)] # or the domain you want to add to restrict everywhere.
​return super().search_read(domain, fields, offset, limit, order)


In your product view action:


    My Product    ir.actions.act_window    product.product    tree,form    {'field_name': True}            

Ready to recruit more efficiently?

Let's create a job position.


As every tree and form view is calling the search_read method, you just need to play with the domain name here.


Thanks & Regards, 

 

Brain Station 23 Ltd. 

Mobile: (+880) 1404055226 

Email: sales@brainstation-23.com 

Web: https://brainstation-23.com/ 

Address: (Building-1) 8th Floor, 2 Bir Uttam AK Khandakar Road, Mohakhali C/A, Dhaka 1212, Bangladesh 


頭像
捨棄
作者

Great, thank you, this definitely looks like a good way to do this.
Thank you,

相關帖文 回覆 瀏覽次數 活動
1
9月 23
1455
1
4月 24
1649
1
1月 24
1321
1
11月 23
1393
4
11月 23
1992