无法根据访问权限进行修改

时间:2018-10-10 14:31:26

标签: odoo odoo-9

<record id="view_res_partner_pricelist" model="ir.ui.view">
    <field name="name">view.res.partner.pricelist.form</field>
    <field name="model">res.partner</field>
    <field name="type">form</field>
    <field name="inherit_id" ref="product.view_partner_property_form" />
    <field name="context">{'readonly_by_pass': True}</field>
    <field name="arch" type="xml">
        <xpath expr="//page[@name='accounting']" position="replace"/>
    </field>
</record>

这是我在其中隐藏“会计”选项卡的视图,如果打开联系人表格的用户具有会计和财务访问权限,则可以正常工作,但是如果用户没有会计和财务访问权限,则会出现错误

AttributeError: Element '<xpath expr="//page[@name='accounting']">' cannot be located in parent view

Error context:
View `view.res.partner.pricelist.form`

我该如何为没有会计和财务访问权限的用户使用这项功能?

1 个答案:

答案 0 :(得分:1)

有趣...您应该通过在视图的groups_id字段的视图记录定义中添加组要求来解决此问题,例如:

<record id="view_res_partner_pricelist" model="ir.ui.view">
    <field name="name">view.res.partner.pricelist.form</field>
    <field name="model">res.partner</field>
    <field name="type">form</field>
    <field name="inherit_id" ref="product.view_partner_property_form" />
    <field name="context">{'readonly_by_pass': True}</field>
    <field name="groups_id" eval="[(4, ref('account.group_account_invoice'))]"/>
    <field name="arch" type="xml">
        <xpath expr="//page[@name='accounting']" position="replace"/>
    </field>
</record>