Hide Fields In Advanced Search

Odoo(formerly OpenERP) consists of various modules such as CRM, Sale, Purchase, Account, Warehouse etc. Each module has a predefined structure. Generally, Business objects implement python files.

Python files consist of various classes where we define columns and methods etc relevant to the module. Columns/fields are used in views with XML files. Every view has its own structure where we request input from users.

All the fields are always present in the advanced search panel in order to retrieve/search the information quickly. However, Odoo ERP provides us enough flexibility to hide certain fields from users in the advanced search panel for some security purposes in an organization.

For one of our clients, it was a requirement that certain fields should be hidden from the advanced search panel in order to give restricted access to their all users. We had implemented this feature with fields_get method in the respected module.

For example, The following code snippet explains how it was implemented.

def fields_get(self, cr, uid, fields=None, context=None, write_access=True):
fields_to_hide = ['list of fields to hide']
res = super(class_name, self).fields_get(cr, uid, fields, context)
for field in fields_to_hide:
res[field]['selectable'] = False
return res

So it is clear from above piece of code that once we reload the view and look into advanced search panel then the fields which we have inserted into the fields_to_hide list are not visible thus our requirement to hide fields from advanced search panel was implemented successfully.

Odoo ERP is the best ERP software for manufacturing and therefore the best ERP solutions for small business. We offer customization and implementation of ERP system. Nevpro business solutions is one of the top ERP Development companies worldwide.

This Post Has 2 Comments

  1. Nevpro

    Hi Shiv,

    I would like to let you know that this piece of code is working fine and producing desired output without any errors. Kindly provide more details on your issue(as you said it is working properly on your local machine).

Leave a Reply