Skip to Content
मेन्यू
This question has been flagged
6 Replies
20889 Views

hi all,

I have inherited 'sales order' from 'sales' module.

I need to add two extra fields inside 'Order Lines' tab.

.py

class SalesOrderInherit(models.Model):
_inherit = "sale.order"
type = fields.Selection([('appointment', 'Appointment'), ('walkin', 'Walk-In')], string="Type")

I need to add type field inside 'Order Lines' tab.

Which table should i inherit?

How to write <xpath> to add above field.

Avatar
Discard
Best Answer

Hello Supreeth,


If you want to add in the sale.order then inherit sale.order model. If you want to add in lines then inherit sale.order.line.


Try this x-path for your field in the sale order inside the Order lines tab.

Xml :-

<record id="inherit_sale_order" model="ir.ui.view">

    <field name="name">inherit.sale.order.form.view</field>

    <field name="model">sale.order</field>

    <field name="inherit_id" ref="sale.view_order_form"/>

    <field name="arch" type="xml">

        <xpath expr="/form/sheet/notebook/page[1]/field[@name='note']" position="after">

            <group>

                <field name="type"/>

            </group>

        </xpath>

    </field>

</record>


Hope it works for you.

Thanks,

Avatar
Discard
Author

@Jignesh thank for reply. But it is nor working, Error is: ParseError: "Invalid view definition Error details: Element '<xpath expr="/form/sheet[1]/field[@name='product_id']">' cannot be located in parent view

Hello Supreeth, See my updated anwer.

Author

Thank you Jignesh

Best Answer

 

Avatar
Discard
Author Best Answer

Hi, 

Got Solution:

<record id="inherit_sale_order_line" model="ir.ui.view">
<field name="name">inherit.sale.order.line.form.view</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="priority" eval="50" />
<field name="arch" type="xml">
<xpath expr="//field[@name='order_line']/tree/field[2]" position="after">
<field name="type"/>
</xpath>
</field>
</record>
Avatar
Discard