跳至內容
選單
此問題已被標幟
2 回覆
4081 瀏覽次數

I am trying to replace a button in a sales order form to add a simple confirmation message using the confirm tag. My custom view is not replacing the button however and I am not exactly sure why and I am not super familiar with view inheritance. It does appear in the list of views inside Odoo and is successfully inheriting the sales view order form.


The custom view

<odoo>
    <template id="sales_form_with_confirm" name="Sales Form with Confirm" inherit_id="sale.view_order_form">
        <xpath expr="//button[@name='action_cancel']" position="replace">
            <button name="action_cancel" states="draft,sent,sale" type="object" string="Cancel" confirm="Are you sure?"></button>
        </xpath>
    </template>
</odoo>


頭像
捨棄
最佳答案

Hi,

The opted way is not the right/correct way to inherit a view, you can inherit view like this,


<record id="sale_order_inherit" model="ir.ui.view">
<field name="name">sale.order.inherit</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
</field>
</record>

and for making changes to the cancel button,


<record id="sale_order_inherit" model="ir.ui.view">
<field name="name">sale.order.inherit</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<button name="action_cancel" position="attributes">
<attribute name="confirm">Are you sure you want to cancel this?</attribute>
</button>
</field>
</record>


See More at here: https://www.youtube.com/watch?v=z1Tx7EGkPy0&list=PLqRRLx0cl0hoJhjFWkFYowveq2Zn55dhM&index=11

頭像
捨棄
最佳答案
Try with below code:-
<xpath expr="//header/button[@name='action_cancel']" position="replace">
<button name="action_cancel" states="draft,sent,sale" type="object" string="Cancel" confirm="Are you sure?"></button>
</xpath>
 
頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
2
12月 22
22835
1
3月 20
3421
3
11月 19
7660
12
12月 18
34744
1
7月 16
7057