<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <record id="product_template_tree_view" model="ir.ui.view">
        <field name="name">product.template.product.tree</field>
        <field name="model">product.template</field>
        <field name="arch" type="xml">
            <tree string="Product">
                <field name="sequence" widget="handle"/>
                <field name="default_code"/>
                <field name="name"/>
                <field name="list_price" string="Sales Price"/>
                <field name="standard_price"/>
                <field name="categ_id"/>
                <field name="type"/>
                <field name="uom_id" options="{'no_open': True, 'no_create': True}" groups="uom.group_uom"/>
                <field name="active" invisible="1"/>
            </tree>
        </field>
    </record>

    <record id="product_template_only_form_view" model="ir.ui.view">
        <field name="name">product.template.product.form</field>
        <field name="model">product.template</field>
        <field name="mode">primary</field>
        <field name="priority" eval="8" />
        <field name="inherit_id" ref="product.product_template_form_view"/>
        <field name="arch" type="xml">
            <xpath expr="//form" position="attributes">
                <attribute name="name">Product Template</attribute>
            </xpath>
            <field name="categ_id" position="after">
                <field name="default_code" attrs="{'invisible': [('product_variant_count', '>', 1)]}"/>
                <field name="barcode" attrs="{'invisible': [('product_variant_count', '>', 1)]}"/>
            </field>

            <button name="toggle_active" position="before">
                <button name="%(product.product_variant_action)d" type="action"
                    icon="fa-sitemap" class="oe_stat_button"
                    attrs="{'invisible': [('product_variant_count', '&lt;=', 1)]}"
                    groups="product.group_product_variant">
                    <field string="Variants" name="product_variant_count" widget="statinfo" />
                </button>
            </button>

            <xpath expr="//page[@name='general_information']" position="after">
                <page name="variants" string="Variants" groups="product.group_product_variant">
                    <field name="attribute_line_ids" widget="one2many_list" context="{'show_attribute': False}">
                        <tree string="Variants" editable="bottom">
                            <field name="attribute_id"/>
                            <field name="value_ids" widget="many2many_tags" options="{'no_create_edit': True}" domain="[('attribute_id', '=', attribute_id)]" context="{'default_attribute_id': attribute_id}"/>
                        </tree>
                    </field>
                        <p class="oe_grey">
                        <strong>Warning</strong>: adding or deleting attributes
                        will delete and recreate existing variants and lead
                        to the loss of their possible customizations.
                    </p>
                </page>
            </xpath>
        </field>
    </record>

    <record id="product_template_kanban_view" model="ir.ui.view">
        <field name="name">Product.template.product.kanban</field>
        <field name="model">product.template</field>
        <field name="arch" type="xml">
            <kanban>
                <field name="id"/>
                <field name="image_small"/>
                <field name="lst_price"/>
                <field name="product_variant_count"/>
                <field name="product_variant_ids"/>
                <field name="currency_id"/>
                <templates>
                    <t t-name="kanban-box">
                        <div class="oe_kanban_global_click">
                            <div class="o_kanban_image">
                                <img t-att-src="kanban_image('product.template', 'image_small', record.id.raw_value)" alt="Product"/>
                            </div>
                            <div class="oe_kanban_details">
                                <strong class="o_kanban_record_title">
                                    <field name="name"/>
                                    <small t-if="record.default_code.value">[<field name="default_code"/>]</small>
                                </strong>
                                <div t-if="record.product_variant_count.value &gt; 1" groups="product.group_product_variant">
                                    <strong>
                                        <t t-esc="record.product_variant_count.value"/> Variants
                                    </strong>
                                </div>
                                <div name="tags"/>
                                <ul>
                                    <li>Price: <field name="lst_price" widget="monetary" options="{'currency_field': 'currency_id', 'field_digits': True}"></field></li>
                                </ul>
                                <div name="tags"/>
                            </div>
                        </div>
                    </t>
                </templates>
            </kanban>
        </field>
    </record>

    <record id="product_template_action" model="ir.actions.act_window">
        <field name="name">Products</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">product.template</field>
        <field name="view_mode">kanban,tree,form</field>
        <field name="view_type">form</field>
        <field name="view_id" ref="product_template_kanban_view"/>
        <field name="search_view_id" ref="product.product_template_search_view"/>
        <field name="context">{"search_default_filter_to_sell":1}</field>
        <field name="help" type="html">
            <p class="o_view_nocontent_smiling_face">
                Create a new product
            </p><p>
                You must define a product for everything you purchase,
                whether it's a physical product, a consumable or services.
            </p>
        </field>
    </record>
</odoo>
