继承并替换 ir.rule odoo 11
inherit and replace ir.rule odoo 11
我想更改域名“res_partner_rule_private_employee”
如何继承和替换为我的新代码
这是 base/security/base_security 的起源。xml
<!-- Security restriction for private addresses -->
<record id="res_partner_rule_private_employee" model="ir.rule">
<field name="name">res.partner.rule.private.employee</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="domain_force">
['|', ('type', '!=', 'private'), ('type', '=', False)]
</field>
<field name="groups" eval="[
(4, ref('base.group_user')),
]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_unlink" eval="False"/>
</record>
我想在我的 /security 新模块中用这个替换
<record id="rule_private_employee" model="ir.rule">
<field name="name">res.partner.manager</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="domain_force">
['|','&', ('type', '!=', 'private'), ('type', '=', False),('is_student', '!=', True)]
</field>
<field name="groups" eval="[
(4, ref('base.group_user')),
]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_unlink" eval="False"/>
</record>
但是“&”字符在版本 11 中不起作用,如果它正确,它不会加载我的修改!
&是XML中的一个特殊字符。您需要将其编码为 &。 xml 中的字段将是:
<field name="domain_force">
['|','&', ('type', '!=', 'private'), ('type', '=', False),('is_student', '!=', True)]
</field>
有关 XML 编码的更多信息,请参见答案 What characters do I need to escape in XML documents?。
如果您想更改现有记录值,您需要定义一个具有相同 ID 的记录,在您的情况下 base.res_partner_rule_private_employee
。
无需定义所有已定义的值,只需定义您想要的值 add/change。喜欢:
<record id="base.res_partner_rule_private_employee" model="ir.rule">
<field name="domain_force">
['|','&', ('type', '!=', 'private'), ('type', '=', False),('is_student', '!=', True)]
</field>
</record>
此外,我认为在这种情况下不需要 &
或 &
,因为当您未指定它时它是元组之间的默认运算符,但这是一个尝试的问题
我想更改域名“res_partner_rule_private_employee” 如何继承和替换为我的新代码
这是 base/security/base_security 的起源。xml
<!-- Security restriction for private addresses -->
<record id="res_partner_rule_private_employee" model="ir.rule">
<field name="name">res.partner.rule.private.employee</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="domain_force">
['|', ('type', '!=', 'private'), ('type', '=', False)]
</field>
<field name="groups" eval="[
(4, ref('base.group_user')),
]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_unlink" eval="False"/>
</record>
我想在我的 /security 新模块中用这个替换
<record id="rule_private_employee" model="ir.rule">
<field name="name">res.partner.manager</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="domain_force">
['|','&', ('type', '!=', 'private'), ('type', '=', False),('is_student', '!=', True)]
</field>
<field name="groups" eval="[
(4, ref('base.group_user')),
]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_unlink" eval="False"/>
</record>
但是“&”字符在版本 11 中不起作用,如果它正确,它不会加载我的修改!
&是XML中的一个特殊字符。您需要将其编码为 &。 xml 中的字段将是:
<field name="domain_force">
['|','&', ('type', '!=', 'private'), ('type', '=', False),('is_student', '!=', True)]
</field>
有关 XML 编码的更多信息,请参见答案 What characters do I need to escape in XML documents?。
如果您想更改现有记录值,您需要定义一个具有相同 ID 的记录,在您的情况下 base.res_partner_rule_private_employee
。
无需定义所有已定义的值,只需定义您想要的值 add/change。喜欢:
<record id="base.res_partner_rule_private_employee" model="ir.rule">
<field name="domain_force">
['|','&', ('type', '!=', 'private'), ('type', '=', False),('is_student', '!=', True)]
</field>
</record>
此外,我认为在这种情况下不需要 &
或 &
,因为当您未指定它时它是元组之间的默认运算符,但这是一个尝试的问题