不能将组sale_manger添加到action_invoice_cancel按钮(Not able

2019-10-31 06:50发布

我想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>

但它不工作。 该怎么办 ? 提前致谢。

Answer 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>

查看文档



文章来源: Not able to add the group sale_manger to action_invoice_cancel button