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