1 <?xml version="1.0" encoding="utf-8"?>
4 <menuitem id="prod_config_main" name="Products" parent="base.menu_base_config" sequence="70"/>
6 <record id="product_search_form_view" model="ir.ui.view">
7 <field name="name">product.search.form</field>
8 <field name="model">product.product</field>
9 <field name="arch" type="xml">
10 <search string="Product">
11 <field name="name" string="Product" filter_domain="['|','|',('name','ilike',self),('default_code','ilike',self),('variants','ilike',self)]"/>
12 <filter string="Services" icon="terp-accessories-archiver" domain="[('type','=','service')]"/>
13 <filter string="Consumable" name="consumable" icon="terp-accessories-archiver" domain="[('type','=','consu')]" help="Consumable products"/>
15 <filter string="Can be Sold" name="filter_to_sell" icon="terp-accessories-archiver-minus" domain="[('sale_ok','=',1)]"/>
16 <field name="categ_id"/>
17 <group expand="0" string="Context...">
18 <field name="pricelist_id" widget="selection" context="{'pricelist': self}" filter_domain="[]" groups="product.group_sale_pricelist"/> <!-- Keep widget=selection on this field to pass numeric `self` value, which is not the case for regular m2o widgets! -->
19 <field name="company_id" groups="base.group_multi_company"/>
21 <group expand='0' string='Group by...'>
22 <filter string='Category' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'categ_id'}"/>
23 <filter string='Default Unit of Measure' icon="terp-mrp" domain="[]" context="{'group_by' : 'uom_id'}"/>
24 <filter string='Type' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'type'}"/>
25 <filter string='Company' icon="terp-go-home" domain="[]" context="{'group_by' : 'company_id'}" groups="base.group_multi_company"/>
26 <filter string='Template' name="template_id" domain="[]" context="{'group_by' : 'product_tmpl_id'}" groups="product.group_product_variant"/>
32 <record id="product_product_tree_view" model="ir.ui.view">
33 <field name="name">product.product.tree</field>
34 <field name="model">product.product</field>
35 <field eval="7" name="priority"/>
36 <field name="arch" type="xml">
37 <tree colors="red:virtual_available<0;blue:virtual_available>=0 and state in ('draft', 'end', 'obsolete');black:virtual_available>=0 and state not in ('draft', 'end', 'obsolete')" string="Products">
38 <field name="default_code"/>
40 <field name="variants" groups="product.group_product_variant"/>
41 <field name="categ_id" invisible="1"/>
42 <field name="type" invisible="1"/>
43 <field name="uom_id" string="Unit of Measure" groups="product.group_uom"/>
44 <field name="qty_available"/>
45 <field name="virtual_available"/>
46 <field name="lst_price"/>
47 <field name="price" invisible="not context.get('pricelist',False)"/>
48 <field name="standard_price" invisible="1"/>
50 <field name="company_id" groups="base.group_multi_company" invisible="1"/>
51 <field name="product_tmpl_id" invisible="1"/>
56 <record id="product_normal_form_view" model="ir.ui.view">
57 <field name="name">product.normal.form</field>
58 <field name="model">product.product</field>
59 <field eval="7" name="priority"/>
60 <field name="arch" type="xml">
61 <form string="Product" version="7.0">
63 <field name="is_only_child" invisible="1"/>
64 <field name="image_medium" widget="image" class="oe_avatar oe_left"
65 attrs="{'readonly': [('is_only_child', '=', False)]}"/>
66 <div class="oe_title">
67 <div class="oe_edit_only">
68 <label for="name" name='label_name' string="Product Name"
69 attrs="{'invisible': [('is_only_child', '=', False)]}"/>
70 <label for="name" name='label_name' string="Product Template"
71 attrs="{'invisible': [('is_only_child', '=', True)]}"/>
74 <field name="name" class="oe_inline"
75 attrs="{'required': [('is_only_child', '=', True)],
76 'invisible': [('is_only_child', '=', False)]}"/>
77 <field name="product_tmpl_id" class="oe_inline" readonly="1" required="0"
78 attrs="{'invisible': [('is_only_child', '=', True)]}"/>
79 <span groups="product.group_product_variant"
80 attrs="{'invisible': [('is_only_child', '=', True), ('variants', '=', False)]}">
81 - <field name="variants" placeholder="Variant Name" class="oe_inline"/>
84 <span attrs="{'invisible': [('is_only_child', '=', True)]}">
85 <p>Generic product settings are managed on
86 <button name="open_product_template" type="object" string="the template" class="oe_link"/>
89 <label for="categ_id" class="oe_edit_only"/>
90 <h2><field name="categ_id" attrs="{'readonly': [('is_only_child', '=', False)]}"/></h2>
91 <label for="public_categ_id" class="oe_edit_only"/>
92 <h3><field name="public_categ_id" attrs="{'readonly': [('is_only_child', '=', False)]}"/></h3>
93 <div name="options" groups="base.group_user">
94 <field name="sale_ok"/>
95 <label for="sale_ok"/>
98 <div class="oe_right oe_button_box" name="buttons">
101 <page string="Information">
105 attrs="{'invisible': [('is_only_child', '=', False)]}"/>
106 <field name="uom_id" on_change="onchange_uom(uom_id,uom_po_id)" groups="product.group_uom"
107 attrs="{'invisible': [('is_only_child', '=', False)]}"/>
108 <field name="lst_price" string="Public Sale Price"
109 attrs="{'readonly': [('is_only_child', '=', False)]}"/>
110 <field name="price_extra"
111 attrs="{'invisible': [('is_only_child', '=', True)]}"/>
114 <field name="default_code"/>
117 <field name="ean13" placeholder="e.g. 5901234123457"/>
119 <field name="company_id" groups="base.group_multi_company" widget="selection"
120 attrs="{'invisible': [('is_only_child', '=', False)]}"/>
123 <field name="description" placeholder="describe the product characteristics..."
124 attrs="{'readonly': [('is_only_child', '=', False)]}"/>
126 <page string="Procurements" groups="base.group_user">
127 <group name="procurement">
128 <group name="general">
129 <field name="cost_method" groups="product.group_costing_method"
130 attrs="{'readonly': [('is_only_child', '=', False)]}"/>
131 <field name="standard_price"
132 attrs="{'readonly': ['|', ('cost_method','=','average'), ('is_only_child', '=', False)]}"/>
134 <group name="procurement_uom" groups="product.group_uom" string="Purchase">
135 <field name="uom_po_id"
136 attrs="{'readonly': [('is_only_child', '=', False)]}"/>
139 <separator string="Description for Suppliers"/>
140 <field name="description_purchase" placeholder="This note will be displayed on requests for quotation..."/>
142 <page string="Inventory" groups="base.group_user">
143 <group name="inventory">
144 <group name="status" string="Status">
146 attrs="{'readonly': [('is_only_child', '=', False)]}"/>
147 <field name="product_manager"
148 attrs="{'readonly': [('is_only_child', '=', False)]}"
149 context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'base.group_sale_manager']}"/>
151 <group name="Weights" groups="product.group_stock_packaging" string="Weights">
152 <field digits="(14, 3)" name="volume"
153 attrs="{'readonly': ['|', ('type','=','service'), ('is_only_child', '=', False)]}"/>
155 attrs="{'readonly': ['|', ('type','=','service'), ('is_only_child', '=', False)]}"/>
156 <field name="weight_net"
157 attrs="{'readonly': ['|', ('type','=','service'), ('is_only_child', '=', False)]}"/>
161 <page string="Sales" attrs="{'invisible':[('sale_ok','=',False)]}">
163 <group string="Sale Conditions">
164 <label for="warranty"/>
165 <div attrs="{'readonly': [('is_only_child', '=', False)]}">
166 <field name="warranty" class="oe_inline"/> months
169 <group groups="product.group_uos" string="Unit of Measure">
171 attrs="{'readonly': [('is_only_child', '=', False)]}"/>
172 <field name="uos_coeff"
173 attrs="{'readonly': [('is_only_child', '=', False)]}"/>
174 <field name="mes_type"
175 attrs="{'readonly': [('is_only_child', '=', False)]}"/>
178 <field name="packaging" groups="product.group_stock_packaging"
179 attrs="{'readonly': [('is_only_child', '=', False)]}">
180 <form string="Packaging" version="7.0">
183 <field name="sequence" invisible="1"/>
187 <field name="weight_ul"/>
188 <separator colspan="4" string="Palletization"/>
189 <field name="ul_qty"/>
191 <field name="weight"/>
192 <separator colspan="4" string="Pallet Dimension"/>
193 <field name="height"/>
194 <field name="width"/>
195 <field name="length"/>
197 <separator colspan="4" string="Description"/>
201 <separator string="Description for Quotations"/>
202 <field name="description_sale" placeholder="note to be displayed on quotations..."
203 attrs="{'readonly': [('is_only_child', '=', False)]}"/>
207 <div class="oe_chatter">
208 <field name="message_follower_ids" widget="mail_followers"/>
209 <field name="message_ids" widget="mail_thread"/>
215 <!-- Product Kanban View -->
217 <record model="ir.ui.view" id="product.product_kanban_view">
218 <field name="name">Product Kanban</field>
219 <field name="model">product.product</field>
220 <field name="arch" type="xml">
222 <field name="color"/>
224 <field name="list_price"/>
226 <t t-name="kanban-box">
227 <div class="oe_kanban_vignette oe_semantic_html_override">
228 <a type="open"><img t-att-src="kanban_image('product.product', 'image_small', record.id.value)" class="oe_kanban_image"/></a>
229 <div class="oe_kanban_details">
232 <t t-if="record.code.raw_value">[<field name="code"/>]</t> <field name="name"/> <t t-if="record.variants.raw_value">(<field name="variants"/>)</t>
237 <li>Price: <field name="lst_price"></field></li>
247 <record id="product_normal_action" model="ir.actions.act_window">
248 <field name="name">Products</field>
249 <field name="type">ir.actions.act_window</field>
250 <field name="res_model">product.product</field>
251 <field name="view_type">form</field>
252 <field name="view_mode">tree,form,kanban</field>
253 <field name="view_id" ref="product_product_tree_view"/>
254 <field name="search_view_id" ref="product_search_form_view"/>
255 <field name="help" type="html">
256 <p class="oe_view_nocontent_create">
257 Click to define a new product.
259 You must define a product for everything you buy or sell,
260 whether it's a physical product, a consumable or service.
264 <record id="product_normal_action_sell" model="ir.actions.act_window">
265 <field name="name">Products</field>
266 <field name="type">ir.actions.act_window</field>
267 <field name="res_model">product.product</field>
268 <field name="view_mode">kanban,tree,form</field>
269 <field name="view_type">form</field>
270 <field name="context">{"search_default_filter_to_sell":1}</field>
271 <field name="view_id" ref="product_product_tree_view"/>
272 <field name="search_view_id" ref="product_search_form_view"/>
273 <field name="help" type="html">
274 <p class="oe_view_nocontent_create">
275 Click to define a new product.
277 You must define a product for everything you sell, whether it's
278 a physical product, a consumable or a service you offer to
281 The product form contains information to simplify the sale
282 process: price, notes in the quotation, accounting data,
283 procurement methods, etc.
288 <record id="open_view_product_tree1" model="ir.actions.act_window.view">
289 <field name="sequence" eval="2"/>
290 <field name="view_mode">tree</field>
291 <field name="view_id" ref="product_product_tree_view"/>
292 <field name="act_window_id" ref="product_normal_action_sell"/>
295 <record id="open_view_product_form1" model="ir.actions.act_window.view">
296 <field name="sequence" eval="3"/>
297 <field name="view_mode">form</field>
298 <field name="view_id" ref="product_normal_form_view"/>
299 <field name="act_window_id" ref="product_normal_action_sell"/>
302 <record id="open_view_product_kanban1" model="ir.actions.act_window.view">
303 <field name="sequence" eval="1"/>
304 <field name="view_mode">kanban</field>
305 <field name="view_id" ref="product_kanban_view"/>
306 <field name="act_window_id" ref="product_normal_action_sell"/>
309 <menuitem id="base.menu_product" name="Products" parent="base.menu_base_partner" sequence="9"/>
310 <menuitem id="product.menu_products" action="product.product_normal_action_sell" parent="base.menu_product" sequence="1"/>
312 <record id="product_normal_action_puchased" model="ir.actions.act_window">
313 <field name="name">Products</field>
314 <field name="type">ir.actions.act_window</field>
315 <field name="res_model">product.product</field>
316 <field name="view_type">form</field>
317 <field name="view_mode">kanban,tree,form</field>
318 <field name="context">{"search_default_filter_to_purchase":1}</field>
319 <field name="view_id" ref="product_kanban_view"/>
320 <field name="search_view_id" ref="product_search_form_view"/>
321 <field name="help" type="html">
322 <p class="oe_view_nocontent_create">
323 Click to define a new product.
325 You must define a product for everything you purchase, whether
326 it's a physical product, a consumable or services you buy to
329 The product form contains detailed information to improve the
330 purchase process: prices, procurement logistics, accounting data,
331 available suppliers, etc.
336 <record id="product_category_search_view" model="ir.ui.view">
337 <field name="name">product.category.search</field>
338 <field name="model">product.category</field>
339 <field name="arch" type="xml">
340 <search string="Product Categories">
341 <field name="name" string="Product Categories"/>
342 <field name="parent_id"/>
346 <record id="product_category_form_view" model="ir.ui.view">
347 <field name="name">product.category.form</field>
348 <field name="model">product.category</field>
349 <field name="arch" type="xml">
350 <form string="Product Categories" version="7.0">
352 <div class="oe_title">
353 <label for="name" class="oe_edit_only"/>
359 <group name="parent" col="4">
360 <field name="parent_id"/>
368 <record id="product_category_list_view" model="ir.ui.view">
369 <field name="name">product.category.list</field>
370 <field name="model">product.category</field>
371 <field name="priority">1</field>
372 <field name="arch" type="xml">
373 <tree string="Product Categories">
374 <field name="complete_name"/>
378 <record id="product_category_tree_view" model="ir.ui.view">
379 <field name="name">product.category.tree</field>
380 <field name="model">product.category</field>
381 <field name="field_parent">child_id</field>
382 <field name="arch" type="xml">
383 <tree toolbar="True" string="Product Categories">
388 <record id="product_category_action" model="ir.actions.act_window">
389 <field name="name">Products by Category</field>
390 <field name="type">ir.actions.act_window</field>
391 <field name="res_model">product.category</field>
392 <field name="domain">[('parent_id','=',False)]</field>
393 <field name="view_type">tree</field>
394 <field name="view_id" ref="product_category_tree_view"/>
395 <field name="help" type="html">
397 Here is a list of all your products classified by category. You
398 can click a category to get the list of all products linked to
399 this category or to a child of this category.
404 action="product_category_action"
405 id="product.menu_products_category"
406 parent="base.menu_product"
407 sequence="30" groups="base.group_no_one"/>
408 <record id="product_category_action_form" model="ir.actions.act_window">
409 <field name="name">Product Categories</field>
410 <field name="type">ir.actions.act_window</field>
411 <field name="res_model">product.category</field>
412 <field name="view_type">form</field>
413 <field name="search_view_id" ref="product_category_search_view"/>
414 <field name="view_id" ref="product_category_list_view"/>
416 <menuitem action="product_category_action_form"
417 groups="base.group_no_one"
418 id="menu_product_category_action_form"
419 parent="prod_config_main" sequence="2"/>
422 <record id="product_normal_action_tree" model="ir.actions.act_window">
423 <field name="name">Products</field>
424 <field name="type">ir.actions.act_window</field>
425 <field name="res_model">product.product</field>
426 <field name="view_type">form</field>
427 <field name="view_mode">tree,form,kanban</field>
428 <field name="context">{'categ_id':active_id, 'search_default_categ_id':active_id}</field>
430 <record id="ir_product_category_open" model="ir.values">
431 <field eval="'tree_but_open'" name="key2"/>
432 <field eval="'product.category'" name="model"/>
433 <field name="name">Products by Categories</field>
434 <field eval="'ir.actions.act_window,%d'%product_normal_action_tree" name="value"/>
438 <!-- Product Public Categories -->
439 <record id="product_public_category_form_view" model="ir.ui.view">
440 <field name="name">product.public.category.form</field>
441 <field name="model">product.public.category</field>
442 <field name="arch" type="xml">
443 <form string="Pos/Public Categories" version="7.0">
445 <field name="image_medium" widget='image' class="oe_avatar oe_right"/>
446 <div class="oe_left">
449 <field name="parent_id"/>
450 <field name="sequence"/>
457 <record id="product_public_category_tree_view" model="ir.ui.view">
458 <field name="name">product.public.category.tree</field>
459 <field name="model">product.public.category</field>
460 <field name="field_parent" eval="False"/>
461 <field name="arch" type="xml">
462 <tree string="Product Product Categories">
463 <field name="sequence" invisible="1"/>
464 <field name="complete_name"/>
468 <record id="product_public_category_action" model="ir.actions.act_window">
469 <field name="name">Pos/Public Product Categories</field>
470 <field name="type">ir.actions.act_window</field>
471 <field name="res_model">product.public.category</field>
472 <field name="view_type">form</field>
473 <field name="view_mode">tree,form</field>
474 <field name="view_id" eval="False"/>
475 <field name="help" type="html">
476 <p class="oe_view_nocontent_create">
477 Click to define a new category.
479 Categories are used to browse your products through the
480 touchscreen interface.
482 If you put a photo on the category, the layout of the
483 touchscreen interface will automatically. We suggest not to put
484 a photo on categories for small (1024x768) screens.
488 <menuitem action="product_public_category_action" id="menu_product_public_category" parent="prod_config_main" sequence="10" />
491 <!-- Unit of Measure -->
493 <record id="product_uom_tree_view" model="ir.ui.view">
494 <field name="name">product.uom.tree</field>
495 <field name="model">product.uom</field>
496 <field name="arch" type="xml">
497 <tree string="Units of Measure">
499 <field name="category_id"/>
504 <record id="product_uom_form_view" model="ir.ui.view">
505 <field name="name">product.uom.form</field>
506 <field name="model">product.uom</field>
507 <field name="arch" type="xml">
508 <form string="Units of Measure" version="7.0">
512 <field name="category_id"/>
513 <field name="uom_type" on_change="onchange_type(uom_type)"/>
514 <label for="factor"/>
516 <field name="factor" attrs="{'invisible':[('uom_type','!=','smaller')]}"/>
517 <field name="factor_inv" attrs="{'invisible':[('uom_type','!=','bigger')]}"/>
518 <p attrs="{'invisible':[('uom_type','!=','smaller')]}" class="oe_grey">
519 e.g: 1 * (reference unit) = ratio * (this unit)
521 <p attrs="{'invisible':[('uom_type','!=','bigger')]}" class="oe_grey">
522 e.g: 1 * (this unit) = ratio * (reference unit)
527 <field name="active"/>
528 <field name="rounding"/>
534 <record id="product_uom_form_action" model="ir.actions.act_window">
535 <field name="name">Units of Measure</field>
536 <field name="type">ir.actions.act_window</field>
537 <field name="res_model">product.uom</field>
538 <field name="view_type">form</field>
539 <field name="view_id" ref="product_uom_tree_view"/>
540 <field name="help" type="html">
541 <p class="oe_view_nocontent_create">
542 Click to add a new unit of measure.
544 You must define a conversion rate between several Units of
545 Measure within the same category.
549 <menuitem id="next_id_16" name="Units of Measure" parent="prod_config_main" sequence="30" groups="product.group_uom"/>
550 <menuitem action="product_uom_form_action" id="menu_product_uom_form_action" parent="base.menu_base_config" sequence="30" groups="product.group_uom"/>
552 <record id="product_uom_categ_form_view" model="ir.ui.view">
553 <field name="name">product.uom.categ.form</field>
554 <field name="model">product.uom.categ</field>
555 <field name="arch" type="xml">
556 <form string="Units of Measure categories" version="7.0">
563 <record id="product_uom_categ_form_action" model="ir.actions.act_window">
564 <field name="name">Unit of Measure Categories</field>
565 <field name="type">ir.actions.act_window</field>
566 <field name="res_model">product.uom.categ</field>
567 <field name="view_type">form</field>
568 <field name="view_mode">tree,form</field>
569 <field name="help" type="html">
570 <p class="oe_view_nocontent_create">
571 Click to add a new unit of measure category.
573 Units of measure belonging to the same category can be
574 converted between each others. For example, in the category
575 <i>'Time'</i>, you will have the following units of measure:
580 <menuitem action="product_uom_categ_form_action" id="menu_product_uom_categ_form_action" parent="base.menu_base_config" sequence="25" groups="base.group_no_one"/>
582 <record id="product_ul_form_view" model="ir.ui.view">
583 <field name="name">product.ul.form.view</field>
584 <field name="model">product.ul</field>
585 <field name="arch" type="xml">
586 <form string="Packaging" version="7.0" class="col-md-6">
594 <record id="product_ul_tree" model="ir.ui.view">
595 <field name="name">product.ul.tree</field>
596 <field name="model">product.ul</field>
597 <field name="arch" type="xml">
598 <tree string="Packaging">
604 <record id="product_ul_form_action" model="ir.actions.act_window">
605 <field name="name">Packaging</field>
606 <field name="type">ir.actions.act_window</field>
607 <field name="res_model">product.ul</field>
608 <field name="view_type">form</field>
609 <field name="view_mode">tree,form</field>
610 <field name="help" type="html">
611 <p class="oe_view_nocontent_create">
612 Click to add a new packaging type.
614 The packaging type define the dimensions as well as the number
615 of products per package. This will ensure salesperson sell the
616 right number of products according to the package selected.
621 action="product_ul_form_action" groups="product.group_stock_packaging" id="menu_product_ul_form_action" parent="prod_config_main" sequence="5"/>
623 <record id="product_packaging_tree_view" model="ir.ui.view">
624 <field name="name">product.packaging.tree.view</field>
625 <field name="model">product.packaging</field>
626 <field name="arch" type="xml">
627 <tree string="Packaging">
628 <field name="sequence" widget="handle"/>
636 <record id="product_packaging_form_view" model="ir.ui.view">
637 <field name="name">product.packaging.form.view</field>
638 <field name="model">product.packaging</field>
639 <field name="arch" type="xml">
640 <form string="Packaging" version="7.0">
642 <field name="product_id"/>
645 <field name="sequence" invisible="1"/>
649 <field name="weight_ul"/>
650 <separator colspan="4" string="Palletization"/>
651 <field name="ul_qty"/>
653 <field name="weight"/>
654 <separator colspan="4" string="Pallet Dimension"/>
655 <field name="height"/>
656 <field name="width"/>
657 <field name="length"/>
658 <separator colspan="4" string="Other Info"/>
659 <field colspan="4" name="name"/>
665 <record id="product_supplierinfo_form_view" model="ir.ui.view">
666 <field name="name">product.supplierinfo.form.view</field>
667 <field name="model">product.supplierinfo</field>
668 <field name="arch" type="xml">
669 <form string="Supplier Information" version="7.0">
671 <field name="name" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}"/>
672 <field name="sequence"/>
673 <field name="product_name"/>
674 <field name="product_code"/>
675 <field name="min_qty"/>
676 <field name="product_uom" groups="product.group_uom"/>
677 <field name="delay"/>
678 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
680 <p groups="product.group_purchase_pricelist" class="oe_grey">The prices below will only be taken into account when your pricelist is set as based on supplier prices.</p>
681 <field groups="product.group_purchase_pricelist" name="pricelist_ids">
682 <tree editable="bottom" string="Pricelist">
683 <field name="min_quantity"/>
684 <field name="price"/>
688 <field name="min_quantity"/>
689 <field name="price"/>
696 <record id="product_supplierinfo_tree_view" model="ir.ui.view">
697 <field name="name">product.supplierinfo.tree.view</field>
698 <field name="model">product.supplierinfo</field>
699 <field name="arch" type="xml">
700 <tree string="Supplier Information">
701 <field name="sequence" widget="handle"/>
703 <field name="delay"/>
704 <field name="min_qty"/>
705 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
711 <record id="product_variant_search_form_view" model="ir.ui.view">
712 <field name="name">product.variant.search.form</field>
713 <field name="model">product.product</field>
714 <field name="arch" type="xml">
715 <search string="Product Variant">
716 <field name="product_tmpl_id"/>
717 <field name="name" string="Product" filter_domain="['|','|',('name','ilike',self),('default_code','ilike',self),('variants','ilike',self)]"/>
718 <group expand='0' string='Group by...'>
719 <filter string='Template' name="template_id" domain="[]" context="{'group_by' : 'product_tmpl_id'}"/>
724 <record id="product_variant_form_view" model="ir.ui.view">
725 <field name="name">product.variant.form</field>
726 <field name="model">product.product</field>
727 <field name="arch" type="xml">
728 <form string="Product Variant" version="7.0">
730 <field name="product_tmpl_id"/>
731 <field name="active"/>
732 <field name="variants" required="1"/>
733 <field name="default_code"/>
734 <field name="price_margin"/>
735 <field name="price_extra"/>
740 <record id="product_variant_tree_view" model="ir.ui.view">
741 <field name="name">product.variant.tree</field>
742 <field name="model">product.product</field>
743 <field name="arch" type="xml">
744 <tree string="Product Variant">
745 <field name="product_tmpl_id"/>
746 <field name="variants"/>
747 <field name="default_code"/>
748 <field name="price_margin"/>
749 <field name="price_extra"/>
750 <field name="company_id" invisible="1"/>
751 <field name="type" invisible="1"/>
752 <field name="uom_id" invisible="1"/>
753 <field name="categ_id" invisible="1"/>
757 <record id="product_variant_action" model="ir.actions.act_window">
758 <field name="name">Product Variants</field>
759 <field name="type">ir.actions.act_window</field>
760 <field name="domain">[('variants','!=', '')]</field>
761 <field name="res_model">product.product</field>
762 <field name="view_type">form</field>
763 <field name="view_mode">tree,form,kanban</field>
764 <field name="view_id" ref="product_variant_tree_view"/>
765 <field name="search_view_id" ref="product_variant_search_form_view"/>
766 <field name="help" type="html">
767 <p class="oe_view_nocontent_create">
768 Click to define a new variant of product.
772 <record id="tree_view_product_variant" model="ir.actions.act_window.view">
773 <field name="sequence" eval="10"/>
774 <field name="view_mode">tree</field>
775 <field name="view_id" ref="product_variant_tree_view"/>
776 <field name="act_window_id" ref="product_variant_action"/>
778 <record id="form_view_product_variant" model="ir.actions.act_window.view">
779 <field name="sequence" eval="20"/>
780 <field name="view_mode">form</field>
781 <field name="view_id" ref="product_variant_form_view"/>
782 <field name="act_window_id" ref="product_variant_action"/>
784 <menuitem action="product.product_variant_action" id="product.menu_variant_product" parent="prod_config_main" sequence="4" groups="product.group_product_variant"/>
788 <record id="product_template_search_view" model="ir.ui.view">
789 <field name="name">product.template.search</field>
790 <field name="model">product.template</field>
791 <field name="arch" type="xml">
792 <search string="Product Template">
793 <field name="name" string="Product"/>
794 <filter string="Services" icon="terp-accessories-archiver" domain="[('type','=','service')]"/>
795 <filter string="Consumable" name="consumable" icon="terp-accessories-archiver" domain="[('type','=','consu')]" help="Consumable products"/>
797 <filter string="Can be Sold" name="filter_to_sell" icon="terp-accessories-archiver-minus" domain="[('sale_ok','=',1)]"/>
798 <field name="categ_id"/>
799 <group expand='0' string='Group by...'>
800 <filter string='Category' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'categ_id'}"/>
801 <filter string='Default Unit of Measure' icon="terp-mrp" domain="[]" context="{'group_by' : 'uom_id'}"/>
802 <filter string='Type' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'type'}"/>
808 <record id="product_template_tree_view" model="ir.ui.view">
809 <field name="name">product.template.product.tree</field>
810 <field name="model">product.template</field>
811 <field name="arch" type="xml">
812 <tree string="Product Template">
814 <field name="categ_id"/>
816 <field name="state"/>
817 <field name="uom_id" invisible="1"/>
822 <record id="product_template_form_view" model="ir.ui.view">
823 <field name="name">product.template.product.form</field>
824 <field name="model">product.template</field>
825 <field name="arch" type="xml">
826 <form string="Product Template" version="7.0">
828 <field name="image_medium" widget="image" class="oe_avatar oe_left"/>
829 <div class="oe_title">
830 <div class="oe_edit_only">
831 <label for="name" string="Product Name"/>
836 <label for="categ_id" class="oe_edit_only"/>
837 <h2><field name="categ_id"/></h2>
838 <label for="public_categ_id" class="oe_edit_only"/>
839 <h3><field name="public_categ_id"/></h3>
840 <div name="options" groups="base.group_user">
841 <field name="sale_ok"/>
842 <label for="sale_ok"/>
846 <page string="Information">
850 <field name="uom_id" on_change="onchange_uom(uom_id,uom_po_id)" groups="product.group_uom"/>
851 <field name="list_price"/>
854 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
857 <group colspan="4" string="Product Variants" groups="product.group_product_variant">
858 <field colspan="4" name="product_variant_ids" nolabel="1" >
859 <tree string="Product Variants" editable="bottom">
860 <field name="variants" required="1"/>
861 <field name="price_margin" string="Variant Price Margin"/>
862 <field name="price_extra"/>
863 <field name="lst_price" string="Sale Price" readonly="1"/>
867 <field name="description" placeholder="describe the product characteristics..."/>
869 <page string="Procurements" groups="base.group_user">
870 <group name="procurement">
871 <group name="general">
872 <field name="cost_method" groups="product.group_costing_method"/>
873 <field name="standard_price" attrs="{'readonly':[('cost_method','=','average')]}"/>
875 <group name="delay" string="Delays">
876 <label for="produce_delay"/>
878 <field name="produce_delay" class="oe_inline" style="vertical-align:baseline"/> days
881 <group name="procurement_uom" groups="product.group_uom" string="Purchase">
882 <field name="uom_po_id"/>
885 <separator string="Suppliers"/>
886 <field name="seller_ids"/>
887 <separator string="Description for Suppliers"/>
888 <field name="description_purchase" placeholder="This note will be displayed on requests for quotation..."/>
890 <page string="Inventory">
891 <group name="inventory">
892 <group name="status" string="Status">
893 <field name="state"/>
894 <field name="product_manager"/>
896 <group name ="weight" string="Weights">
897 <field digits="(14, 3)" name="volume" attrs="{'readonly':[('type','=','service')]}"/>
898 <field digits="(14, 3)" name="weight" attrs="{'readonly':[('type','=','service')]}"/>
899 <field digits="(14, 3)" name="weight_net" attrs="{'readonly':[('type','=','service')]}"/>
903 <page string="Sales" attrs="{'invisible':[('sale_ok','=',False)]}">
905 <group name="sale_condition" string="Sale Conditions">
906 <label for="warranty"/>
908 <field name="warranty" class="oe_inline" style="vertical-align:baseline"/> months
911 <group groups="product.group_uos" string="Unit of Measure">
912 <field name="uos_id"/>
913 <field name="uos_coeff"/>
914 <field name="mes_type"/>
917 <separator string="Description for Quotations"/>
918 <field name="description_sale" placeholder="note to be displayed on quotations..."/>
922 <div class="oe_chatter">
923 <field name="message_follower_ids" widget="mail_followers"/>
924 <field name="message_ids" widget="mail_thread"/>
930 <record model="ir.ui.view" id="product_template_kanban_view">
931 <field name="name">Product Template Kanban</field>
932 <field name="model">product.template</field>
933 <field name="arch" type="xml">
935 <field name="image_small"/>
936 <field name="list_price"/>
938 <t t-name="kanban-box">
939 <div class="oe_kanban_vignette oe_semantic_html_override">
940 <a type="open"><img t-att-src="kanban_image('product.template', 'image_small', record.id.value)" class="oe_kanban_image"/></a>
941 <div class="oe_kanban_details">
949 <li>Price: <field name="list_price"></field></li>
959 <record id="product_template_action" model="ir.actions.act_window">
960 <field name="name">Templates</field>
961 <field name="type">ir.actions.act_window</field>
962 <field name="res_model">product.template</field>
963 <field name="view_mode">kanban,tree,form</field>
964 <field name="view_type">form</field>
965 <field name="view_id" ref="product_template_kanban_view"/>
968 <menuitem action="product_template_action"
969 id="menu_product_template_action"
970 parent="base.menu_product" sequence="20"
971 groups="product.group_product_variant"/>