I want to override a Security Record Rule (model ir.rule) with a new domain. I have looked up the record id and model in External Identifiers and produced this data.xml-file:
<record id="base.res_partner_rule" model="ir.rule">
<field name="name">Multi-company res.partner</field>
<field name="model_id" ref="base.model_res_partner"/>
<field eval="True" name="global"/>
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id','in',[company.id for company in user.company_ids])]</field>
I dont get any erros when I install the module but the ir.rule-record does not get updated.
I have tried some attributes on data but with no luck.
This is probably because the default rule has been defined with <data noupdate="1">
Once this is done, you cannot update it or overwrite it or even set the noupdate property to 0.
You can instead navigate to Settings > Sequences & Identifiers > External Identifiers and search for res_partner_rule.
Open this record and uncheck the "Non Updatable" boolean. Try updating your custom module again.
It is still useless because of the manual work involved, you might as well create a record rule on the UI directly. But it can save you some time. Please let us know if you find a better way to do this.
Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!
About This Community
|Asked: 11/13/14, 9:06 AM|
|Seen: 1154 times|
|Last updated: 10/3/15, 6:49 AM|