无法将group sale_manger添加到action_invoice_cancel按钮

时间:2018-04-21 12:44:58

标签: xml odoo odoo-10 odoo-view

我想将sale_manager组添加到action_invoice_cancel中的customer invoice(发票取消)按钮。我的目的是只为sale_manager中的用户看到该按钮。 我试过这样:

  

代码

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <record id="orchid_invoice_cancel_request_inherit" model="ir.ui.view">
        <field name="name">invoice_cancel_request</field>
        <field name="model">account.invoice</field>
        <field name="inherit_id" ref="account.invoice_form"/>
        <field name="arch" type="xml">
             <button name="action_invoice_cancel" position="after">
                <button string="Cancel Request" type="object" name="cancel_request" attrs="{'invisible':[('state','not in',('open','paid'))]}"/>
             </button>
             <field name = "move_id" position="after">
                <field name = "od_cancel_reason" />
             </field>

             <button name="action_invoice_cancel" position="replace">
                <button name="action_invoice_cancel" type="object" states="draft,proforma2,open" string="Cancel Invoice" groups="base.group_no_one,sales_team.group_sale_manager"/>
             </button>

        </field>
    </record>
</odoo>

但它不起作用。该怎么办 ? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

发票表单的取消发票按钮当然可以修改(通过attributes替换或更新)。根据您的问题,您的模块似乎很可能无法加载您的视图,或者您没有重新升级模块。

至于您的方法,我将展示如何使用attributes来更改该按钮的groups,而无需完全替换它(如@Cherif建议的那样)。

这将更新现有元素的一个“属性”,而无需重新定义整个元素。您应该能够更改元素的任何一个(或多个)属性,但我们只想在您的情况下更改groups

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <record id="orchid_invoice_cancel_request_inherit" model="ir.ui.view">
        <field name="name">invoice_cancel_request</field>
        <field name="model">account.invoice</field>
        <field name="inherit_id" ref="account.invoice_form"/>
        <field name="arch" type="xml">
             <button name="action_invoice_cancel" position="attributes">
                <attribute name="groups">sales_team.group_sale_manager"</attribute>
             </button>
        </field>
    </record>
</odoo>

Views Documentation