[IMP] add context on product_tmpl_id of variant form.
[odoo/odoo.git] / addons / product / product_view.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3     <data>
4         <menuitem id="prod_config_main" name="Products" parent="base.menu_base_config" sequence="70"/>
5
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"/>
14                    <separator/>
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"/>
20                    </group>
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"/>
27                    </group>
28                 </search>
29             </field>
30         </record>
31
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&lt;0;blue:virtual_available&gt;=0 and state in ('draft', 'end', 'obsolete');black:virtual_available&gt;=0 and state not in ('draft', 'end', 'obsolete')" string="Products">
38                     <field name="default_code"/>
39                     <field name="name"/>
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"/>
49                     <field name="state"/>
50                     <field name="company_id" groups="base.group_multi_company" invisible="1"/>
51                     <field name="product_tmpl_id" invisible="1"/>
52                 </tree>
53             </field>
54         </record>
55
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">
62                     <sheet>
63                         <field name="image_medium" widget="image" class="oe_avatar oe_left"/>
64                         <field name="standard_variants" invisible="1"/>
65                         <field name="lst_price" invisible="1"/>
66                         <field name="price_extra" invisible="1"/>
67                         <field name="price_margin" invisible="1"/>
68                         <div class="oe_title">
69                             <div class="oe_edit_only">
70                                 <label for="name" name='label_name' string="Product Name"/>
71                             </div>
72                             <h1>
73                                 <field name="name" class="oe_inline"/>
74                                 <field name="product_tmpl_id" groups="product.group_product_variant" on_change="onchange_product_tmpl_id(product_tmpl_id,lst_price,price_margin,price_extra)" class="oe_inline" context="{'search_variants':1}"/>
75                                 <span attrs="{'invisible':[('variants','=',False)]}" groups="product.group_product_variant"> - </span>
76                                 <field name="variants" placeholder="Variant Name" groups="product.group_product_variant" class="oe_inline" readonly="0" attrs="{'required': [('standard_variants', '=', True)]}"/>
77                             </h1>
78                             <label for="categ_id" class="oe_edit_only"/>
79                             <h2><field name="categ_id"/></h2>
80                             <label for="public_categ_id" class="oe_edit_only"/>
81                             <h3><field name="public_categ_id"/></h3>
82                             <div name="options" groups="base.group_user">
83                                 <field name="sale_ok"/>
84                                 <label for="sale_ok"/>
85                             </div>
86                         </div>
87                         <div class="oe_right oe_button_box" name="buttons">
88                         </div>
89                         <notebook>
90                             <page string="Information">
91                                 <group>
92                                     <group>
93                                         <field name="type"/>
94                                         <field name="uom_id" on_change="onchange_uom(uom_id,uom_po_id)" groups="product.group_uom"/>
95                                         <field name="lst_price" string="Public Sale Price"/>
96                                     </group>
97                                     <group>
98                                         <field name="default_code"/>
99                                         <label for="ean13"/>
100                                         <div name="ean">
101                                             <field name="ean13" placeholder="e.g. 5901234123457"/>
102                                         </div>
103                                         <field name="company_id" groups="base.group_multi_company" widget="selection"/>
104                                     </group>
105                                 </group>
106                                 <field name="description" placeholder="describe the product characteristics..."/>
107                             </page>
108                             <page string="Procurements" groups="base.group_user">
109                                 <group name="procurement">
110                                     <group name="general">
111                                         <field name="cost_method" groups="product.group_costing_method"/>
112                                         <field name="standard_price" attrs="{'readonly':[('cost_method','=','average')]}"/>
113                                     </group>
114                                     <group name="procurement_uom" groups="product.group_uom" string="Purchase">
115                                         <field name="uom_po_id"/>
116                                     </group>
117                                 </group>
118                                 <separator string="Description for Suppliers"/>
119                                 <field name="description_purchase" placeholder="This note will be displayed on requests for quotation..."/>
120                             </page>
121                             <page string="Inventory" groups="base.group_user">
122                                 <group name="inventory">
123                                     <group name="status" string="Status">
124                                         <field name="state"/>
125                                         <field name="product_manager"
126                                         context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'base.group_sale_manager']}"/>
127                                     </group>
128                                     <group name="Weights" groups="product.group_stock_packaging" string="Weights">
129                                         <field digits="(14, 3)" name="volume" attrs="{'readonly':[('type','=','service')]}"/>
130                                         <field name="weight" attrs="{'readonly':[('type','=','service')]}"/>
131                                         <field name="weight_net" attrs="{'readonly':[('type','=','service')]}"/>
132                                     </group>
133                                 </group>
134                             </page>
135                             <page string="Sales" attrs="{'invisible':[('sale_ok','=',False)]}">
136                                 <group name="sale">
137                                     <group string="Sale Conditions">
138                                         <label for="warranty"/>
139                                         <div>
140                                             <field name="warranty" class="oe_inline"/> months
141                                         </div>
142                                     </group>
143                                     <group groups="product.group_uos" string="Unit of Measure">
144                                         <field name="uos_id"/>
145                                         <field name="uos_coeff"/>
146                                         <field name="mes_type"/>
147                                     </group>
148                                 </group>
149                                 <field name="packaging" groups="product.group_stock_packaging">
150                                     <form string="Packaging" version="7.0">
151                                         <group col="4">
152                                             <field name="ean"/>
153                                             <field name="sequence" invisible="1"/>
154                                             <newline/>
155                                             <field name="qty"/>
156                                             <field name="ul"/>
157                                             <field name="weight_ul"/>
158                                             <separator colspan="4" string="Palletization"/>
159                                             <field name="ul_qty"/>
160                                             <field name="rows"/>
161                                             <field name="weight"/>
162                                             <separator colspan="4" string="Pallet Dimension"/>
163                                             <field name="height"/>
164                                             <field name="width"/>
165                                             <field name="length"/>
166                                         </group>
167                                         <separator colspan="4" string="Description"/>
168                                         <field name="name"/>
169                                     </form>
170                                 </field>
171                                 <separator string="Description for Quotations"/>
172                                 <field name="description_sale" placeholder="note to be displayed on quotations..."/>
173                             </page>
174                         </notebook>
175                     </sheet>
176                     <div class="oe_chatter">
177                         <field name="message_follower_ids" widget="mail_followers"/>
178                         <field name="message_ids" widget="mail_thread"/>
179                     </div>
180                 </form>
181             </field>
182         </record>
183
184         <!-- Product Kanban View  -->
185
186         <record model="ir.ui.view" id="product.product_kanban_view">
187             <field name="name">Product Kanban</field>
188             <field name="model">product.product</field>
189             <field name="arch" type="xml">
190                 <kanban>
191                     <field name="color"/>
192                     <field name="type"/>
193                     <field name="image_small"/>
194                     <field name="list_price"/>
195                     <templates>
196                         <t t-name="kanban-box">
197                             <div class="oe_kanban_vignette oe_semantic_html_override">
198                                 <a type="open"><img t-att-src="kanban_image('product.product', 'image_small', record.id.value)" class="oe_kanban_image"/></a>
199                                 <div class="oe_kanban_details">
200                                     <h4>
201                                         <a type="open">
202                                              <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>
203                                         </a>
204                                     </h4>
205                                     <div name="tags"/>
206                                     <ul>
207                                         <li>Price: <field name="lst_price"></field></li>
208                                     </ul>
209                                 </div>
210                             </div>
211                         </t>
212                     </templates>
213                 </kanban>
214             </field>
215         </record>
216
217         <record id="product_normal_action" model="ir.actions.act_window">
218             <field name="name">Products</field>
219             <field name="type">ir.actions.act_window</field>
220             <field name="res_model">product.product</field>
221             <field name="view_type">form</field>
222             <field name="view_mode">tree,form,kanban</field>
223             <field name="view_id" ref="product_product_tree_view"/>
224             <field name="search_view_id" ref="product_search_form_view"/>
225             <field name="help" type="html">
226               <p class="oe_view_nocontent_create">
227                 Click to define a new product.
228               </p><p>
229                 You must define a product for everything you buy or sell,
230                 whether it's a physical product, a consumable or service.
231               </p>
232             </field>
233         </record>
234         <record id="product_normal_action_sell" model="ir.actions.act_window">
235             <field name="name">All Products</field>
236             <field name="type">ir.actions.act_window</field>
237             <field name="res_model">product.product</field>
238             <field name="view_mode">kanban,tree,form</field>
239             <field name="view_type">form</field>
240             <field name="context">{"search_default_filter_to_sell":1}</field>
241             <field name="view_id" ref="product_product_tree_view"/>
242             <field name="search_view_id" ref="product_search_form_view"/>
243             <field name="help" type="html">
244               <p class="oe_view_nocontent_create">
245                 Click to define a new product.
246               </p><p>
247                 You must define a product for everything you sell, whether it's
248                 a physical product, a consumable or a service you offer to
249                 customers.
250               </p><p>
251                 The product form contains information to simplify the sale
252                 process: price, notes in the quotation, accounting data,
253                 procurement methods, etc.
254               </p>
255             </field>
256         </record>
257         
258         <record id="product_action_template" model="ir.actions.act_window">
259             <field name="name">Products by Templates</field>
260             <field name="type">ir.actions.act_window</field>
261             <field name="res_model">product.product</field>
262             <field name="view_mode">tree,form,kanban</field>
263             <field name="view_type">form</field>
264             <field name="context">{"search_default_template_id":1, "search_default_filter_to_sell":1}</field>
265             <field name="view_id" ref="product_product_tree_view"/>
266             <field name="search_view_id" ref="product_search_form_view"/>
267             <field name="help" type="html">
268               <p class="oe_view_nocontent_create">
269                 Click to define a new product.
270               </p><p>
271                 You must define a product for everything you sell, whether it's
272                 a physical product, a consumable or a service you offer to
273                 customers.
274               </p><p>
275                 The product form contains information to simplify the sale
276                 process: price, notes in the quotation, accounting data,
277                 procurement methods, etc.
278               </p>
279             </field>
280         </record>
281
282         <record id="open_view_product_tree1" model="ir.actions.act_window.view">
283             <field name="sequence" eval="2"/>
284             <field name="view_mode">tree</field>
285             <field name="view_id" ref="product_product_tree_view"/>
286             <field name="act_window_id" ref="product_normal_action_sell"/>
287         </record>
288
289         <record id="open_view_product_form1" model="ir.actions.act_window.view">
290             <field name="sequence" eval="3"/>
291             <field name="view_mode">form</field>
292             <field name="view_id" ref="product_normal_form_view"/>
293             <field name="act_window_id" ref="product_normal_action_sell"/>
294         </record>
295
296         <record id="open_view_product_kanban1" model="ir.actions.act_window.view">
297             <field name="sequence" eval="1"/>
298             <field name="view_mode">kanban</field>
299             <field name="view_id" ref="product_kanban_view"/>
300             <field name="act_window_id" ref="product_normal_action_sell"/>
301         </record>
302
303         <menuitem id="base.menu_product" name="Products" parent="base.menu_base_partner" sequence="9"/>
304         <menuitem action="product.product_normal_action_sell" id="product.menu_products" parent="base.menu_product" sequence="1"/>
305         <menuitem action="product.product_action_template" id="product.menu_products_bytemplate" parent="base.menu_product" groups="product.group_product_variant" sequence="3"/>
306
307         <record id="product_normal_action_puchased" model="ir.actions.act_window">
308             <field name="name">Products</field>
309             <field name="type">ir.actions.act_window</field>
310             <field name="res_model">product.product</field>
311             <field name="view_type">form</field>
312             <field name="view_mode">kanban,tree,form</field>
313             <field name="context">{"search_default_filter_to_purchase":1}</field>
314             <field name="view_id" ref="product_kanban_view"/>
315             <field name="search_view_id" ref="product_search_form_view"/>
316             <field name="help" type="html">
317               <p class="oe_view_nocontent_create">
318                 Click to define a new product.
319               </p><p>
320                 You must define a product for everything you purchase, whether
321                 it's a physical product, a consumable or services you buy to
322                 subcontractants.
323               </p><p>
324                 The product form contains detailed information to improve the
325                 purchase process: prices, procurement logistics, accounting data,
326                 available suppliers, etc.
327               </p>
328             </field>
329         </record>
330
331         <record id="product_category_search_view" model="ir.ui.view">
332             <field name="name">product.category.search</field>
333             <field name="model">product.category</field>
334             <field name="arch" type="xml">
335                 <search string="Product Categories">
336                     <field name="name" string="Product Categories"/>
337                     <field name="parent_id"/>
338                 </search>
339             </field>
340         </record>
341         <record id="product_category_form_view" model="ir.ui.view">
342             <field name="name">product.category.form</field>
343             <field name="model">product.category</field>
344             <field name="arch" type="xml">
345                 <form string="Product Categories" version="7.0">
346                     <sheet>
347                         <div class="oe_title">
348                             <label for="name" class="oe_edit_only"/>
349                             <h1>
350                                 <field name="name"/>
351                             </h1>
352                         </div>
353                         <group>
354                             <group name="parent" col="4">
355                                 <field name="parent_id"/>
356                                 <field name="type"/>
357                             </group>
358                         </group>
359                     </sheet>
360                 </form>
361             </field>
362         </record>
363         <record id="product_category_list_view" model="ir.ui.view">
364             <field name="name">product.category.list</field>
365             <field name="model">product.category</field>
366             <field name="priority">1</field>
367             <field name="arch" type="xml">
368                 <tree string="Product Categories">
369                     <field name="complete_name"/>
370                 </tree>
371             </field>
372         </record>
373         <record id="product_category_tree_view" model="ir.ui.view">
374             <field name="name">product.category.tree</field>
375             <field name="model">product.category</field>
376             <field name="field_parent">child_id</field>
377             <field name="arch" type="xml">
378                 <tree toolbar="True" string="Product Categories">
379                     <field name="name"/>
380                 </tree>
381             </field>
382         </record>
383         <record id="product_category_action" model="ir.actions.act_window">
384             <field name="name">Products by Category</field>
385             <field name="type">ir.actions.act_window</field>
386             <field name="res_model">product.category</field>
387             <field name="domain">[('parent_id','=',False)]</field>
388             <field name="view_type">tree</field>
389             <field name="view_id" ref="product_category_tree_view"/>
390             <field name="help" type="html">
391               <p>
392                 Here is a list of all your products classified by category. You
393                 can click a category to get the list of all products linked to
394                 this category or to a child of this category.
395               </p>
396             </field>
397         </record>
398         <menuitem
399             action="product_category_action"
400             id="product.menu_products_category"
401             parent="base.menu_product"
402             sequence="2" groups="base.group_no_one"/>
403         <record id="product_category_action_form" model="ir.actions.act_window">
404             <field name="name">Product Categories</field>
405             <field name="type">ir.actions.act_window</field>
406             <field name="res_model">product.category</field>
407             <field name="view_type">form</field>
408             <field name="search_view_id" ref="product_category_search_view"/>
409             <field name="view_id" ref="product_category_list_view"/>
410         </record>
411         <menuitem action="product_category_action_form"
412             groups="base.group_no_one"
413             id="menu_product_category_action_form"
414             parent="prod_config_main" sequence="2"/>
415
416
417         <record id="product_normal_action_tree" model="ir.actions.act_window">
418             <field name="name">Products</field>
419             <field name="type">ir.actions.act_window</field>
420             <field name="res_model">product.product</field>
421             <field name="view_type">form</field>
422             <field name="view_mode">tree,form,kanban</field>
423             <field name="context">{'categ_id':active_id, 'search_default_categ_id':active_id}</field>
424         </record>
425         <record id="ir_product_category_open" model="ir.values">
426             <field eval="'tree_but_open'" name="key2"/>
427             <field eval="'product.category'" name="model"/>
428             <field name="name">Products by Categories</field>
429             <field eval="'ir.actions.act_window,%d'%product_normal_action_tree" name="value"/>
430         </record>
431
432
433         <!-- Product Public Categories -->
434         <record id="product_public_category_form_view" model="ir.ui.view">
435             <field name="name">product.public.category.form</field>
436             <field name="model">product.public.category</field>
437             <field name="arch" type="xml">
438                 <form string="Pos/Public Categories" version="7.0">
439                     <sheet>
440                         <field name="image_medium" widget='image' class="oe_avatar oe_right"/>
441                         <div class="oe_left">
442                             <group>
443                                 <field name="name"/>
444                                 <field name="parent_id"/>
445                                 <field name="sequence"/>
446                             </group>
447                         </div>
448                     </sheet>
449                 </form>
450             </field>
451         </record>
452         <record id="product_public_category_tree_view" model="ir.ui.view">
453             <field name="name">product.public.category.tree</field>
454             <field name="model">product.public.category</field>
455             <field name="field_parent" eval="False"/>
456             <field name="arch" type="xml">
457                 <tree string="Product Product Categories">
458                     <field name="sequence" invisible="1"/>
459                     <field name="complete_name"/>
460                 </tree>
461             </field>
462         </record>
463         <record id="product_public_category_action" model="ir.actions.act_window">
464             <field name="name">Pos/Public Product Categories</field>
465             <field name="type">ir.actions.act_window</field>
466             <field name="res_model">product.public.category</field>
467             <field name="view_type">form</field>
468             <field name="view_mode">tree,form</field>
469             <field name="view_id" eval="False"/>
470             <field name="help" type="html">
471               <p class="oe_view_nocontent_create">
472                 Click to define a new category.
473               </p><p>
474                 Categories are used to browse your products through the
475                 touchscreen interface.
476               </p><p>
477                 If you put a photo on the category, the layout of the
478                 touchscreen interface will automatically. We suggest not to put
479                 a photo on categories for small (1024x768) screens.
480               </p>
481             </field>
482         </record>
483         <menuitem action="product_public_category_action" id="menu_product_public_category" parent="prod_config_main" sequence="10" />
484         <!-- END -->
485
486         <!-- Unit of Measure -->
487
488         <record id="product_uom_tree_view" model="ir.ui.view">
489             <field name="name">product.uom.tree</field>
490             <field name="model">product.uom</field>
491             <field name="arch" type="xml">
492                 <tree string="Units of Measure">
493                     <field name="name"/>
494                     <field name="category_id"/>
495                 </tree>
496             </field>
497         </record>
498
499         <record id="product_uom_form_view" model="ir.ui.view">
500             <field name="name">product.uom.form</field>
501             <field name="model">product.uom</field>
502             <field name="arch" type="xml">
503                 <form string="Units of Measure" version="7.0">
504                     <group>
505                         <group>
506                             <field name="name"/>
507                             <field name="category_id"/>
508                             <field name="uom_type" on_change="onchange_type(uom_type)"/>
509                             <label for="factor"/>
510                             <div>
511                                 <field name="factor" attrs="{'invisible':[('uom_type','!=','smaller')]}"/>
512                                 <field name="factor_inv" attrs="{'invisible':[('uom_type','!=','bigger')]}"/>
513                                 <p attrs="{'invisible':[('uom_type','!=','smaller')]}" class="oe_grey">
514                                     e.g: 1 * (reference unit) = ratio * (this unit)
515                                 </p>
516                                 <p attrs="{'invisible':[('uom_type','!=','bigger')]}" class="oe_grey">
517                                     e.g: 1 * (this unit) = ratio * (reference unit)
518                                 </p>
519                             </div>
520                         </group>
521                         <group>
522                             <field name="active"/>
523                             <field name="rounding"/>
524                         </group>
525                     </group>
526                 </form>
527             </field>
528         </record>
529         <record id="product_uom_form_action" model="ir.actions.act_window">
530             <field name="name">Units of Measure</field>
531             <field name="type">ir.actions.act_window</field>
532             <field name="res_model">product.uom</field>
533             <field name="view_type">form</field>
534             <field name="view_id" ref="product_uom_tree_view"/>
535             <field name="help" type="html">
536               <p class="oe_view_nocontent_create">
537                 Click to add a new unit of measure.
538               </p><p>
539                 You must define a conversion rate between several Units of
540                 Measure within the same category.
541               </p>
542             </field>
543         </record>
544         <menuitem id="next_id_16" name="Units of Measure" parent="prod_config_main" sequence="30" groups="product.group_uom"/>
545         <menuitem action="product_uom_form_action" id="menu_product_uom_form_action" parent="base.menu_base_config" sequence="30" groups="product.group_uom"/>
546
547         <record id="product_uom_categ_form_view" model="ir.ui.view">
548             <field name="name">product.uom.categ.form</field>
549             <field name="model">product.uom.categ</field>
550             <field name="arch" type="xml">
551                 <form string="Units of Measure categories" version="7.0">
552                     <group>
553                         <field name="name"/>
554                     </group>
555                 </form>
556             </field>
557         </record>
558         <record id="product_uom_categ_form_action" model="ir.actions.act_window">
559             <field name="name">Unit of Measure Categories</field>
560             <field name="type">ir.actions.act_window</field>
561             <field name="res_model">product.uom.categ</field>
562             <field name="view_type">form</field>
563             <field name="view_mode">tree,form</field>
564             <field name="help" type="html">
565               <p class="oe_view_nocontent_create">
566                 Click to add a new unit of measure category.
567               </p><p>
568                 Units of measure belonging to the same category can be
569                 converted between each others. For example, in the category
570                 <i>'Time'</i>, you will have the following units of measure:
571                 Hours, Days.
572               </p>
573             </field>
574         </record>
575         <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"/>
576
577         <record id="product_ul_form_view" model="ir.ui.view">
578             <field name="name">product.ul.form.view</field>
579             <field name="model">product.ul</field>
580             <field name="arch" type="xml">
581                 <form string="Packaging" version="7.0">
582                     <group>
583                         <field name="name"/>
584                         <field name="type"/>
585                     </group>
586                 </form>
587             </field>
588         </record>
589         <record id="product_ul_tree" model="ir.ui.view">
590             <field name="name">product.ul.tree</field>
591             <field name="model">product.ul</field>
592             <field name="arch" type="xml">
593                 <tree string="Packaging">
594                     <field name="name"/>
595                     <field name="type"/>
596                 </tree>
597             </field>
598         </record>
599         <record id="product_ul_form_action" model="ir.actions.act_window">
600             <field name="name">Packaging</field>
601             <field name="type">ir.actions.act_window</field>
602             <field name="res_model">product.ul</field>
603             <field name="view_type">form</field>
604             <field name="view_mode">tree,form</field>
605             <field name="help" type="html">
606               <p class="oe_view_nocontent_create">
607                 Click to add a new packaging type.
608               </p><p>
609                 The packaging type define the dimensions as well as the number
610                 of products per package. This will ensure salesperson sell the
611                 right number of products according to the package selected.
612               </p>
613             </field>
614         </record>
615         <menuitem
616             action="product_ul_form_action" groups="product.group_stock_packaging" id="menu_product_ul_form_action" parent="prod_config_main" sequence="5"/>
617
618         <record id="product_packaging_tree_view" model="ir.ui.view">
619             <field name="name">product.packaging.tree.view</field>
620             <field name="model">product.packaging</field>
621             <field name="arch" type="xml">
622                 <tree string="Packaging">
623                     <field name="sequence" widget="handle"/>
624                     <field name="ean"/>
625                     <field name="qty"/>
626                     <field name="ul"/>
627                 </tree>
628             </field>
629         </record>
630
631         <record id="product_packaging_form_view" model="ir.ui.view">
632             <field name="name">product.packaging.form.view</field>
633             <field name="model">product.packaging</field>
634             <field name="arch" type="xml">
635                 <form string="Packaging" version="7.0">
636                     <group col="4">
637                         <field name="product_id"/>
638                         <newline/>
639                         <field name="ean"/>
640                         <field name="sequence" invisible="1"/>
641                         <newline/>
642                         <field name="qty"/>
643                         <field name="ul"/>
644                         <field name="weight_ul"/>
645                         <separator colspan="4" string="Palletization"/>
646                         <field name="ul_qty"/>
647                         <field name="rows"/>
648                         <field name="weight"/>
649                         <separator colspan="4" string="Pallet Dimension"/>
650                         <field name="height"/>
651                         <field name="width"/>
652                         <field name="length"/>
653                         <separator colspan="4" string="Other Info"/>
654                         <field colspan="4" name="name"/>
655                     </group>
656                 </form>
657             </field>
658         </record>
659
660         <record id="product_supplierinfo_form_view" model="ir.ui.view">
661             <field name="name">product.supplierinfo.form.view</field>
662             <field name="model">product.supplierinfo</field>
663             <field name="arch" type="xml">
664                 <form string="Supplier Information" version="7.0">
665                     <group col="4">
666                         <field name="name" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}"/>
667                         <field name="sequence"/>
668                         <field name="product_name"/>
669                         <field name="product_code"/>
670                         <field name="min_qty"/>
671                         <field name="product_uom" groups="product.group_uom"/>
672                         <field name="delay"/>
673                         <field name="company_id" groups="base.group_multi_company" widget="selection"/>
674                     </group>
675                     <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>
676                     <field groups="product.group_purchase_pricelist" name="pricelist_ids">
677                         <tree editable="bottom" string="Pricelist">
678                             <field name="min_quantity"/>
679                             <field name="price"/>
680                         </tree>
681                         <form version="7.0">
682                             <group>
683                                 <field name="min_quantity"/>
684                                 <field name="price"/>
685                             </group>
686                         </form>
687                     </field>
688                 </form>
689             </field>
690         </record>
691         <record id="product_supplierinfo_tree_view" model="ir.ui.view">
692             <field name="name">product.supplierinfo.tree.view</field>
693             <field name="model">product.supplierinfo</field>
694             <field name="arch" type="xml">
695                 <tree string="Supplier Information">
696                     <field name="sequence" widget="handle"/>
697                     <field name="name"/>
698                     <field name="delay"/>
699                     <field name="min_qty"/>
700                     <field name="company_id" groups="base.group_multi_company" widget="selection"/>
701                 </tree>
702             </field>
703         </record>
704
705         <!-- Variants -->
706         <record id="product_variant_search_form_view" model="ir.ui.view">
707             <field name="name">product.variant.search.form</field>
708             <field name="model">product.product</field>
709             <field name="arch" type="xml">
710                 <search string="Product Variant">
711                    <field name="product_tmpl_id"/>
712                    <field name="name" string="Product" filter_domain="['|','|',('name','ilike',self),('default_code','ilike',self),('variants','ilike',self)]"/>
713                    <group  expand='0' string='Group by...'>
714                        <filter string='Template' name="template_id" domain="[]" context="{'group_by' : 'product_tmpl_id'}"/>
715                    </group>
716                 </search>
717             </field>
718         </record>
719         <record id="product_variant_form_view" model="ir.ui.view">
720             <field name="name">product.variant.form</field>
721             <field name="model">product.product</field>
722             <field name="arch" type="xml">
723                 <form string="Product Variant" version="7.0">
724                     <group col="4">
725                         <field name="product_tmpl_id" context="{'search_variants': 1}"/>
726                         <field name="active"/>
727                         <field name="variants" required="1"/>
728                         <field name="default_code"/>
729                         <label for="price_margin"/>
730                         <div>
731                             <field name="price_margin" class="oe_inline" style="vertical-align:baseline"/> %%
732                         </div>
733                         <field name="price_extra"/>
734                     </group>
735                 </form>
736             </field>
737         </record>
738         <record id="product_variant_tree_view" model="ir.ui.view">
739             <field name="name">product.variant.tree</field>
740             <field name="model">product.product</field>
741             <field name="arch" type="xml">
742                 <tree string="Product Variant">
743                     <field name="product_tmpl_id"/>
744                     <field name="variants"/>
745                     <field name="default_code"/>
746                     <field name="price_margin"/>
747                     <field name="price_extra"/>
748                     <field name="company_id" invisible="1"/>
749                     <field name="type" invisible="1"/>
750                     <field name="uom_id" invisible="1"/>
751                     <field name="categ_id" invisible="1"/>
752                 </tree>
753             </field>
754         </record>
755         <record id="product_variant_action" model="ir.actions.act_window">
756             <field name="name">Product Variants</field>
757             <field name="type">ir.actions.act_window</field>
758             <field name="domain">[('variants','!=', '')]</field>
759             <field name="res_model">product.product</field>
760             <field name="view_type">form</field>
761             <field name="view_mode">tree,form,kanban</field>
762             <field name="view_id" ref="product_variant_tree_view"/>
763             <field name="search_view_id" ref="product_variant_search_form_view"/>
764             <field name="help" type="html">
765               <p class="oe_view_nocontent_create">
766                 Click to define a new variant of product.
767               </p>
768             </field>
769         </record>
770         <record id="tree_view_product_variant" model="ir.actions.act_window.view">
771             <field name="sequence" eval="10"/>
772             <field name="view_mode">tree</field>
773             <field name="view_id" ref="product_variant_tree_view"/>
774             <field name="act_window_id" ref="product_variant_action"/>
775         </record>
776         <record id="form_view_product_variant" model="ir.actions.act_window.view">
777             <field name="sequence" eval="20"/>
778             <field name="view_mode">form</field>
779             <field name="view_id" ref="product_variant_form_view"/>
780             <field name="act_window_id" ref="product_variant_action"/>
781         </record>
782         <menuitem action="product.product_variant_action" id="product.menu_variant_product" parent="prod_config_main" sequence="4" groups="product.group_product_variant"/>
783
784         <!-- templates -->
785
786         <record id="product_template_search_view" model="ir.ui.view">
787             <field name="name">product.template.search</field>
788             <field name="model">product.template</field>
789             <field name="arch" type="xml">
790                 <search string="Product Template">
791                     <field name="name" string="Product"/>
792                     <filter string="Services" icon="terp-accessories-archiver" domain="[('type','=','service')]"/>
793                     <filter string="Consumable" name="consumable" icon="terp-accessories-archiver" domain="[('type','=','consu')]" help="Consumable products"/>
794                     <separator/>
795                     <filter string="Can be Sold" name="filter_to_sell" icon="terp-accessories-archiver-minus" domain="[('sale_ok','=',1)]"/>
796                     <field name="categ_id"/>
797                     <group  expand='0' string='Group by...'>
798                        <filter string='Category' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'categ_id'}"/>
799                        <filter string='Default Unit of Measure' icon="terp-mrp" domain="[]" context="{'group_by' : 'uom_id'}"/>
800                        <filter string='Type' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'type'}"/>
801                     </group>
802                 </search>
803             </field>
804         </record>
805
806         <record id="product_template_tree_view" model="ir.ui.view">
807             <field name="name">product.template.product.tree</field>
808             <field name="model">product.template</field>
809             <field name="arch" type="xml">
810                 <tree string="Product Template">
811                     <field name="name"/>
812                     <field name="categ_id"/>
813                     <field name="type"/>
814                     <field name="state"/>
815                     <field name="uom_id" invisible="1"/>
816                 </tree>
817             </field>
818         </record>
819
820         <record id="product_template_form_view" model="ir.ui.view">
821             <field name="name">product.template.product.form</field>
822             <field name="model">product.template</field>
823             <field name="arch" type="xml">
824                 <form string="Product Template" version="7.0">
825                     <sheet>
826                         <field name="image_medium" widget="image" class="oe_avatar oe_left"/>
827                         <div class="oe_title">
828                             <div class="oe_edit_only">
829                                 <label for="name" string="Product Name"/>
830                             </div>
831                             <h1>
832                                 <field name="name"/>
833                             </h1>
834                             <label for="categ_id" class="oe_edit_only"/>
835                             <h2><field name="categ_id"/></h2>
836                             <label for="public_categ_id" class="oe_edit_only"/>
837                             <h3><field name="public_categ_id"/></h3>
838                             <div name="options" groups="base.group_user">
839                                 <field name="sale_ok"/>
840                                 <label for="sale_ok"/>
841                             </div>
842                         </div>
843                         <notebook>
844                             <page string="Information">
845                                 <group  colspan="4">
846                                     <group>
847                                     <field name="type"/>
848                                     <field name="uom_id" on_change="onchange_uom(uom_id,uom_po_id)" groups="product.group_uom"/>
849                                     <field name="list_price"/>
850                                     </group>
851                                     <group>
852                                     <field name="company_id" groups="base.group_multi_company" widget="selection"/>
853                                     </group>
854                                 </group>
855                                 <group colspan="4" string="Product Variants">
856                                     <field colspan="4" name="product_variant_ids" nolabel="1" >
857                                         <tree string="Product Variants" editable="bottom">
858                                             <field name="variants" required="1"/>
859                                             <field name="price_margin" string="Variant Price Margin(%%)"/>
860                                             <field name="price_extra"/>
861                                             <field name="lst_price" string="Sale Price" readonly="1"/>
862                                         </tree>
863                                     </field>
864                                 </group>
865                                 <field name="description" placeholder="describe the product characteristics..."/>
866                             </page>
867                             <page string="Procurements" groups="base.group_user">
868                                 <group name="procurement">
869                                     <group name="general">
870                                         <field name="cost_method" groups="product.group_costing_method"/>
871                                         <field name="standard_price" attrs="{'readonly':[('cost_method','=','average')]}"/>
872                                     </group>
873                                     <group name="delay" string="Delays">
874                                         <label for="produce_delay"/>
875                                         <div>
876                                             <field name="produce_delay" class="oe_inline" style="vertical-align:baseline"/> days
877                                         </div>
878                                     </group>
879                                     <group name="procurement_uom" groups="product.group_uom" string="Purchase">
880                                         <field name="uom_po_id"/>
881                                     </group>
882                                 </group>
883                                 <separator string="Suppliers"/>
884                                 <field name="seller_ids"/>
885                                 <separator string="Description for Suppliers"/>
886                                 <field name="description_purchase" placeholder="This note will be displayed on requests for quotation..."/>
887                             </page>
888                             <page string="Inventory">
889                                 <group name="inventory">
890                                      <group name="status" string="Status">
891                                         <field name="state"/>
892                                         <field name="product_manager"/>
893                                     </group>
894                                     <group name ="weight" string="Weights">
895                                         <field digits="(14, 3)" name="volume" attrs="{'readonly':[('type','=','service')]}"/>
896                                         <field digits="(14, 3)" name="weight" attrs="{'readonly':[('type','=','service')]}"/>
897                                         <field digits="(14, 3)" name="weight_net" attrs="{'readonly':[('type','=','service')]}"/>
898                                     </group>
899                                 </group>
900                             </page>
901                             <page string="Sales" attrs="{'invisible':[('sale_ok','=',False)]}">   
902                                 <group name="sale">
903                                     <group name="sale_condition" string="Sale Conditions">
904                                         <label for="warranty"/>
905                                         <div>
906                                             <field name="warranty" class="oe_inline" style="vertical-align:baseline"/> months
907                                         </div>
908                                     </group>
909                                     <group groups="product.group_uos" string="Unit of Measure">
910                                         <field name="uos_id"/>
911                                         <field name="uos_coeff"/>
912                                         <field name="mes_type"/>
913                                     </group>
914                                 </group>
915                                 <separator string="Description for Quotations"/>
916                                 <field name="description_sale" placeholder="note to be displayed on quotations..."/>
917                             </page>
918                         </notebook>
919                     </sheet>
920                     <div class="oe_chatter">
921                         <field name="message_follower_ids" widget="mail_followers"/>
922                         <field name="message_ids" widget="mail_thread"/>
923                     </div>
924                 </form>
925             </field>
926         </record>
927
928         <record model="ir.ui.view" id="product_template_kanban_view">
929             <field name="name">Product Template Kanban</field>
930             <field name="model">product.template</field>
931             <field name="arch" type="xml">
932                 <kanban>
933                     <field name="image_small"/>
934                     <field name="list_price"/>
935                     <templates>
936                         <t t-name="kanban-box">
937                             <div class="oe_kanban_vignette oe_semantic_html_override">
938                                 <a type="open"><img t-att-src="kanban_image('product.template', 'image_small', record.id.value)" class="oe_kanban_image"/></a>
939                                 <div class="oe_kanban_details">
940                                     <h4>
941                                         <a type="open">
942                                              <field name="name"/> 
943                                         </a>
944                                     </h4>
945                                     <div name="tags"/>
946                                     <ul>
947                                         <li>Price: <field name="list_price"></field></li>
948                                     </ul>
949                                 </div>
950                             </div>
951                         </t>
952                     </templates>
953                 </kanban>
954             </field>
955         </record>
956
957         <record id="product_template_action" model="ir.actions.act_window">
958             <field name="name">Product Templates</field>
959             <field name="type">ir.actions.act_window</field>
960             <field name="res_model">product.template</field>
961             <field name="view_mode">kanban,tree,form</field>
962             <field name="view_type">form</field>
963             <field name="context">{'search_variants': 1}</field>
964             <field name="view_id" ref="product_template_kanban_view"/>
965         </record>
966
967         <menuitem action="product_template_action"
968             id="menu_product_template_action"
969             parent="base.menu_product" sequence="0"/>
970
971     </data>
972 </openerp>