- <!-- Variants -->
- <record id="product_variant_search_form_view" model="ir.ui.view">
- <field name="name">product.variant.search.form</field>
- <field name="model">product.product</field>
- <field name="arch" type="xml">
- <search string="Product Variant">
- <field name="product_tmpl_id"/>
- <field name="name" string="Product" filter_domain="['|','|',('name','ilike',self),('default_code','ilike',self),('variants','ilike',self)]"/>
- <group expand='0' string='Group by...'>
- <filter string='Template' name="template_id" domain="[]" context="{'group_by' : 'product_tmpl_id'}"/>
- </group>
- </search>
- </field>
- </record>
- <record id="product_variant_form_view" model="ir.ui.view">
- <field name="name">product.variant.form</field>
- <field name="model">product.product</field>
- <field name="arch" type="xml">
- <form string="Product Variant" version="7.0">
- <group col="4">
- <field name="product_tmpl_id"/>
- <field name="active"/>
- <field name="variants" required="1"/>
- <field name="default_code"/>
- <field name="price_margin"/>
- <field name="price_extra"/>
- </group>
- </form>
- </field>
- </record>
- <record id="product_variant_tree_view" model="ir.ui.view">
- <field name="name">product.variant.tree</field>
- <field name="model">product.product</field>
- <field name="arch" type="xml">
- <tree string="Product Variant">
- <field name="product_tmpl_id"/>
- <field name="variants"/>
- <field name="default_code"/>
- <field name="price_margin"/>
- <field name="price_extra"/>
- <field name="company_id" invisible="1"/>
- <field name="type" invisible="1"/>
- <field name="uom_id" invisible="1"/>
- <field name="categ_id" invisible="1"/>
- </tree>
- </field>
- </record>
- <record id="product_variant_action" model="ir.actions.act_window">
- <field name="name">Product Variants</field>
- <field name="type">ir.actions.act_window</field>
- <field name="domain">[('variants','!=', '')]</field>
- <field name="res_model">product.product</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,form,kanban</field>
- <field name="view_id" ref="product_variant_tree_view"/>
- <field name="search_view_id" ref="product_variant_search_form_view"/>
- <field name="help" type="html">
- <p class="oe_view_nocontent_create">
- Click to define a new variant of product.
- </p>
- </field>
- </record>
- <record id="tree_view_product_variant" model="ir.actions.act_window.view">
- <field name="sequence" eval="10"/>
- <field name="view_mode">tree</field>
- <field name="view_id" ref="product_variant_tree_view"/>
- <field name="act_window_id" ref="product_variant_action"/>
- </record>
- <record id="form_view_product_variant" model="ir.actions.act_window.view">
- <field name="sequence" eval="20"/>
- <field name="view_mode">form</field>
- <field name="view_id" ref="product_variant_form_view"/>
- <field name="act_window_id" ref="product_variant_action"/>
- </record>
- <menuitem action="product.product_variant_action" id="product.menu_variant_product" parent="prod_config_main" sequence="4" groups="product.group_product_variant"/>
-
- <!-- templates -->
-
- <record id="product_template_search_view" model="ir.ui.view">
- <field name="name">product.template.search</field>
- <field name="model">product.template</field>
- <field name="arch" type="xml">
- <search string="Product Template">
- <field name="name" string="Product"/>
- <filter string="Services" icon="terp-accessories-archiver" domain="[('type','=','service')]"/>
- <filter string="Consumable" name="consumable" icon="terp-accessories-archiver" domain="[('type','=','consu')]" help="Consumable products"/>
- <separator/>
- <filter string="Can be Sold" name="filter_to_sell" icon="terp-accessories-archiver-minus" domain="[('sale_ok','=',1)]"/>
- <field name="categ_id"/>
- <group expand='0' string='Group by...'>
- <filter string='Category' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'categ_id'}"/>
- <filter string='Default Unit of Measure' icon="terp-mrp" domain="[]" context="{'group_by' : 'uom_id'}"/>
- <filter string='Type' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'type'}"/>
- </group>
- </search>
- </field>
- </record>
-
- <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 Template">
- <field name="name"/>
- <field name="categ_id"/>
- <field name="type"/>
- <field name="state"/>
- <field name="uom_id" invisible="1"/>
- </tree>
- </field>
- </record>
-
- <record id="product_template_form_view" model="ir.ui.view">
- <field name="name">product.template.product.form</field>
- <field name="model">product.template</field>
- <field name="arch" type="xml">
- <form string="Product Template" version="7.0">
- <sheet>
- <field name="image_medium" widget="image" class="oe_avatar oe_left"/>
- <div class="oe_title">
- <div class="oe_edit_only">
- <label for="name" string="Product Name"/>
- </div>
- <h1>
- <field name="name"/>
- </h1>
- <label for="categ_id" class="oe_edit_only"/>
- <h2><field name="categ_id"/></h2>
- <label for="public_categ_id" class="oe_edit_only"/>
- <h3><field name="public_categ_id"/></h3>
- <div name="options" groups="base.group_user">
- <field name="sale_ok"/>
- <label for="sale_ok"/>
- </div>
- </div>
- <notebook>
- <page string="Information">
- <group colspan="4">
- <group>
- <field name="type"/>
- <field name="uom_id" on_change="onchange_uom(uom_id,uom_po_id)" groups="product.group_uom"/>
- <field name="list_price"/>
- </group>
- <group>
- <field name="company_id" groups="base.group_multi_company" widget="selection"/>
- </group>
- </group>
- <group colspan="4" string="Product Variants" groups="product.group_product_variant">
- <field colspan="4" name="product_variant_ids" nolabel="1" >
- <tree string="Product Variants" editable="bottom">
- <field name="variants" required="1"/>
- <field name="price_margin" string="Variant Price Margin"/>
- <field name="price_extra"/>
- <field name="lst_price" string="Sale Price" readonly="1"/>
- </tree>
- </field>
- </group>
- <field name="description" placeholder="describe the product characteristics..."/>
- </page>
- <page string="Procurements" groups="base.group_user">
- <group name="procurement">
- <group name="general">
- <field name="cost_method" groups="product.group_costing_method"/>
- <field name="standard_price" attrs="{'readonly':[('cost_method','=','average')]}"/>
- </group>
- <group name="delay" string="Delays">
- <label for="produce_delay"/>
- <div>
- <field name="produce_delay" class="oe_inline" style="vertical-align:baseline"/> days
- </div>
- </group>
- <group name="procurement_uom" groups="product.group_uom" string="Purchase">
- <field name="uom_po_id"/>
- </group>
- </group>
- <separator string="Suppliers"/>
- <field name="seller_ids"/>
- <separator string="Description for Suppliers"/>
- <field name="description_purchase" placeholder="This note will be displayed on requests for quotation..."/>
- </page>
- <page string="Inventory">
- <group name="inventory">
- <group name="status" string="Status">
- <field name="state"/>
- <field name="product_manager"/>
- </group>
- <group name ="weight" string="Weights">
- <field digits="(14, 3)" name="volume" attrs="{'readonly':[('type','=','service')]}"/>
- <field digits="(14, 3)" name="weight" attrs="{'readonly':[('type','=','service')]}"/>
- <field digits="(14, 3)" name="weight_net" attrs="{'readonly':[('type','=','service')]}"/>
- </group>
- </group>
- </page>
- <page string="Sales" attrs="{'invisible':[('sale_ok','=',False)]}">
- <group name="sale">
- <group name="sale_condition" string="Sale Conditions">
- <label for="warranty"/>
- <div>
- <field name="warranty" class="oe_inline" style="vertical-align:baseline"/> months
- </div>
- </group>
- <group groups="product.group_uos" string="Unit of Measure">
- <field name="uos_id"/>
- <field name="uos_coeff"/>
- <field name="mes_type"/>
- </group>
- </group>
- <separator string="Description for Quotations"/>
- <field name="description_sale" placeholder="note to be displayed on quotations..."/>
- </page>
- </notebook>
- </sheet>
- <div class="oe_chatter">
- <field name="message_follower_ids" widget="mail_followers"/>
- <field name="message_ids" widget="mail_thread"/>
- </div>
- </form>
- </field>
- </record>
-
- <record model="ir.ui.view" id="product_template_kanban_view">
- <field name="name">Product Template Kanban</field>
- <field name="model">product.template</field>
- <field name="arch" type="xml">
- <kanban>
- <field name="image_small"/>
- <field name="list_price"/>
- <templates>
- <t t-name="kanban-box">
- <div class="oe_kanban_vignette oe_semantic_html_override">
- <a type="open"><img t-att-src="kanban_image('product.template', 'image_small', record.id.value)" class="oe_kanban_image"/></a>
- <div class="oe_kanban_details">
- <h4>
- <a type="open">
- <field name="name"/>
- </a>
- </h4>
- <div name="tags"/>
- <ul>
- <li>Price: <field name="list_price"></field></li>
- </ul>
- </div>
- </div>
- </t>
- </templates>
- </kanban>
- </field>
- </record>
-
- <record id="product_template_action" model="ir.actions.act_window">
- <field name="name">Templates</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"/>
- </record>
-
- <menuitem action="product_template_action"
- id="menu_product_template_action"
- parent="base.menu_product" sequence="20"
- groups="product.group_product_variant"/>
-