This question has been flagged
2 Replies
12525 Views

I am trying to inherit rule in sale order and change the domain, but nothing is happening, even though I am getting no error messages.


<record id="sale.sale_order_see_all" model="ir.rule">
<field name="name">All Orders</field>
<field ref="model_sale_order" name="model_id"/>
<field name="domain_force">[('classified','=',False)]</field>
<field name="groups" eval="[(4, ref('base.group_sale_salesman_all_leads'))]"/>
</record>
Avatar
Discard
Best Answer

Delete with xml record like:

<delete model="ir.rule" id="sale.sale_order_see_all"/>

You can put new rule definition after this one in same xml...

To Modify:
In groups field you copied eval value: [4,... from original xml file, this works only the firs time you add record...
in order to modify, the groups to apply you should use folowing synthax:

<field name="groups" eval="[(6, 0, [ref('base.group_sale_salesman_all_leads'), ref('optional_other_group_id')])]"/>

(replace the values in m2m relation with new ones in order to apply new rules) 

Hope it helps :)

Avatar
Discard

using 4,... should work for updating rules. Altough it would add a group to the rule definition and not replace it (it he needs to replace the group, then indeed 6,... is the way to do it).

But be aware, i didn't check in V8, but in V9, the rule sale_order_see_all is in a noupdate=1 tag, which means it cannot be updated by code.

So there are 2 solutions:

- delete it and recreate it by XML

- or update it through the backend

Best Answer

Try this:


<record id="sale.sale_order_see_all" model="ir.rule">

  <field name="domain_force">Your new domain</field> 

</record>

Avatar
Discard