Search code examples
python-3.xxmlodoo-14

How do i customise product template views by inheritance in odoo 14?


I'm trying to add a custom field in product_templte_form_vieew by doing this :

<!-- product template -->
<record id="mymoduleproduct_view_form" model="ir.ui.view">
    <field name="name">mymodule.product</field>
    <field name="model">mymodule.product</field>
    <field name="inherit_id" ref="product.product_template_form_view"/>
    <field name="arch" type="xml">
        <xpath expr="//notebook/page[@name='general_information']/group[2]" position="attributes">
            <field name="prixass"/>
            <field name="taxes_id" position="attributes">
                <attribute name="invisible">1</attribute>
            </field>  
        </xpath>
    </field>
</record>

No error in excution but it seems to not work. Need help to detect or correct what is wrong.

I have already define ‘prixass’ fields like this :

class MyModuleProduct(models.Model):
    _name = "mymodule.product"
    _description = "table des articles"
    _inherit = "product.template"

    prixass = fields.Float(string='Prix Assurance')
    taxes_id = fields.Many2many('account.tax', 'product_hospi_taxes', 'prod_hospi_id', 'tax_id', string='Customer Taxes')
    supplier_taxes_id = fields.Many2many('account.tax', 'product_hospi_supplier_taxes', 'prod_hospi_id', 'tax_id', string='Vendor Taxes')
    route_ids = fields.Many2many('stock.location.route', 'stock_route_product_hospi', 'product_hospi_id', 'route_id', string='Routes',)

Also i’ld like to remove the fields taxes_id from the view, how do i do ?

. the resume of the question in image here

Thanks .


Solution

  • but this work for me now

    //model
    class MyModuleProduct(models.Model):
        _inherit = "product.template"
    
        prixass = fields.Float(string='Prix Assurance')
        taxes_id = fields.Many2many('account.tax', 'product_hospi_taxes', 'prod_hospi_id', 'tax_id', string='Customer Taxes')
        supplier_taxes_id = fields.Many2many('account.tax', 'product_hospi_supplier_taxes', 'prod_hospi_id', 'tax_id', string='Vendor Taxes')
        route_ids = fields.Many2many('stock.location.route', 'stock_route_product_hospi', 'product_hospi_id', 'route_id', string='Routes',)
    
    
    //views
    <record id="product_inherit_view" model="ir.ui.view">
        <field name="name">product.template</field>
        <field name="model">product.template</field>
        <field name="inherit_id" ref="product.product_template_form_view"/>
        <field name="arch" type="xml">
            <xpath expr="//notebook/page[@name='general_information']/group[1]" position="after">
                <group>
                    <field name="prixass"/>
                </group>
            </xpath>
            <field name="taxes_id" position="replace">
                <field name="taxes_id" invisible="1"/>
            </field> 
    </record>
    

    thanks.