This question has been flagged
1 Reply
5430 Views

One of my users deleted one of my global task filters.  Can I prevent that from happening?

Avatar
Discard
Best Answer

Let's assume you want to add a new filter US Partners to the Search View:


You do that via an inherited view, using XML, instead of via 'Save current filter'.  Here is how you use XML to change a search view in a way that inherits and overrides the base view, so that during upgrades your changes will persist.

  • Activate Developer Mode

  •  Navigate to the Screen where you want to add a filter.  In this example, Sales --> Customers.

  • From the "Debug View#" dropdown, select "Edit Search View".  Take note of the View Name.  In this example, it is res.partner.select

          


  • Navigate to Settings --> Technical --> User Interface --> Views

  • Search for res.partner.select

  • Open the view, and from the More menu, select "Duplicate".  We are creating a copy of the view, because the view we want to create just for the addition has most of the same properties.

  •  Change the View Name, appending 'custom' to the name.  Click Save.  Click Edit.  Note if you don't click Save then Edit in here you will see TWO res.partner.select views in the next step.

  •  Change the View inheritance mode to Extension View and the Inherited View to res.partner.select.


The last part is to anchor your change to an existing filter in the view. In this example, I want a filter for US Partners (country = USA) after the My Partners filter.

  • In the Architecture tab, enter:

<?xml version="1.0"?>
<filter help="My Partners" position="after">
<filter help="US Partners" domain="['country_id','=','United States']"/>
</filter>


When it is all done, it should look like:

 


Further help:

 

https://www.odoo.com/forum/help-1/question/how-can-i-activate-the-developer-mode-83

 

https://doc.odoo.com/trunk/server/03_module_dev_03/#filter-tag  










Avatar
Discard

@Ray, Question is something and answer is drawing somewhere else. Why can't you just advice to add Access Rights / Access Rules for Data Filter model ?

Can access rules prevent users from deleting filters not created by them and still delete ones created by them?

by the way, is it not possible to delete filters which are created from xml file ?

I only know of a way to prevent users from deleting ALL Filters by using Access Rights, which would prevent them from deleting THEIR Filters. Not ideal. It isn't possible to delete Filters created via XML, unless you have access to the XML, which is an Administrator permission normal users won't have. My answer is just my answer, not the only answer, not the correct answer.

Author

@Ray, are you recommending I create a .xml file in the filesystem for the filter? @Emipro, where are those Access Rules in the interface?