64d66add0a3fba1639e9ecc796fd464f7ad6e69a
[odoo/odoo.git] / addons / point_of_sale / point_of_sale_view.xml
1 <?xml version="1.0"?>
2 <openerp>
3     <data>
4         <menuitem name="PoS Backend" id="menu_point_root" sequence="20"
5             icon="terp-partner"
6             groups="group_pos_manager"
7             web_icon="images/pos.png"
8             web_icon_hover="images/pos-hover.png"/>
9
10         <record id="categ_others" model="pos.category">
11           <field name="name">Others</field>
12         </record>
13
14         <record model="ir.ui.view" id="view_pos_pos_form">
15             <field name="name">pos.order</field>
16             <field name="model">pos.order</field>
17             <field name="type">form</field>
18             <field name="arch" type="xml">
19                 <form string="PoS Orders" version="7.0">
20                 <header>
21                     <button name="%(action_pos_payment)d" string="Payment" type="action" states="draft" class="oe_form_button_active_flow"/>
22                     <button name="%(action_report_pos_receipt)d" string="Reprint" type="action" states="paid,done,invoiced"/>
23                     <button name="action_invoice" string="Invoice" icon="gtk-apply" type="object" states="paid" attrs="{'readonly': [('partner_id','=',False)]}" class="oe_form_button_active_flow"/>
24                     <button name="done" string="Post Entries" icon="gtk-apply" type="workflow" states="paid" class="oe_form_button_active_flow"/>
25                     <button name="refund" string="Return Products" type="object"
26                         attrs="{'invisible':[('state','=','draft')]}" class="oe_form_button_return_flow"/>
27                     <field name="state" widget="statusbar" statusbar_visible="draft,paid,done" statusbar_colors='{"cancel":"red"}'/>
28                 </header>
29                 <sheet>
30                     <group>
31                         <group>
32                             <field name="partner_id" on_change="onchange_partner_id(partner_id)" context="{'search_default_customer':1}" attrs="{'readonly': [('state','=','invoiced')]}"/>
33                         </group><group>
34                             <field name="name"/>
35                             <field name="date_order"/>
36                         </group>
37                     </group>
38                     <notebook>
39                         <page string="Sale Order">
40                             <field name="lines">
41                                 <tree string="Order lines" editable="bottom">
42                                     <field name="product_id" on_change="onchange_product_id(parent.pricelist_id,product_id,qty,parent.partner_id)"/>
43                                     <field name="qty" on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
44                                     <field name="price_unit" on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
45                                     <field name="discount"  on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
46                                     <field name="price_subtotal"/>
47                                     <field name="price_subtotal_incl"/>
48                                 </tree>
49                                 <form string="Order lines" version="7.0">
50                                     <group col="4">
51                                         <field name="product_id" on_change="onchange_product_id(parent.pricelist_id,product_id,qty,parent.partner_id)"/>
52                                         <field name="qty" on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
53                                         <field name="discount"  on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
54                                         <field name="price_unit" on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
55                                         <field name="price_subtotal" invisible="1"/>
56                                         <field name="price_subtotal_incl" invisible="1"/>
57                                         <field name="notice"/>
58                                     </group>
59                                 </form>
60                             </field>
61                             <group class="oe_form_subtotal_footer">
62                                 <field name="amount_tax"/>
63                                 <field name="amount_total"/>
64                                 <button name="button_dummy" string="Update" icon="gtk-execute" states="draft" />
65                             </group>
66                         </page>
67                         <page string="Payment">
68                             <field name="statement_ids">
69                                 <tree editable="bottom" string="Statement lines">
70                                     <field name="journal_id"/>
71                                     <field name="statement_id" />
72                                     <field name="amount"/>
73                                 </tree>
74                                 <form string="Statement lines" version="7.0">
75                                     <group col="4">
76                                         <field name="account_id"/>
77                                         <field name="amount"/>
78                                         <field name="statement_id" domain="[('company_id','=',parent.company_id),('state','=','open')]"/>
79                                     </group>
80                                 </form>
81                             </field>
82                         </page>
83                         <page string="Extra Info">
84                             <group string="General Information">
85                                 <field name="company_id" groups="base.group_multi_company"/>
86                                 <field name="shop_id" widget="selection"/>
87                                 <field name="user_id"/>
88                                 <field name="pricelist_id" groups="product.group_sale_pricelist" domain="[('type','=','sale')]"/>
89                                 <field name="picking_id" readonly="1"/>
90                             </group>
91                             <group string="Accounting Information">
92                                 <field name="sale_journal" domain="[('type','=','sale')]"/>
93                                 <field name="invoice_id" readonly="1"
94                                     attrs="{'invisible':[('state','&lt;&gt;','invoiced')]}"/>
95                                 <button name="%(pos_invoice_report)d" string="Re-Print"
96                                     icon="gtk-print" type="action" attrs="{'invisible':[('state','&lt;&gt;','invoiced')]}"/>
97                                 <field name="account_move" readonly="1"
98                                     attrs="{'invisible':[('state','&lt;&gt;','done')]}"/>
99                             </group>
100                         </page>
101                         <page string="Notes" >
102                             <field name="note"/>
103                         </page>
104                     </notebook>
105                 </sheet>
106                 </form>
107             </field>
108         </record>
109         <record model="ir.actions.act_window" id="action_pos_pos_form">
110             <field name="name">PoS Orders</field>
111             <field name="type">ir.actions.act_window</field>
112             <field name="res_model">pos.order</field>
113             <field name="view_type">form</field>
114             <field name="view_mode">tree,form</field>
115             <field name="view_id" eval="False"/>
116             <field name="domain">[]</field>
117         </record>
118         <record model="ir.ui.view" id="view_pos_order_tree">
119             <field name="name">Sales</field>
120             <field name="model">pos.order</field>
121             <field name="type">tree</field>
122             <field name="arch" type="xml">
123                 <tree string="POS Orders" colors="blue:state == 'draft';gray:state in ('done','cancel');black:state not in('done','cancel')">
124                     <field name="name"/>
125                     <field name="partner_id"/>
126                     <field name="date_order"/>
127                     <field name="user_id"/>
128                     <field name="invoice_id"/>
129                     <field name="amount_total" sum="Amount total"/>
130                     <field name="company_id" groups="base.group_multi_company"/>
131                     <field name="state"/>
132                 </tree>
133             </field>
134         </record>
135         <record id="view_pos_order_filter" model="ir.ui.view">
136             <field name="name">pos.order.list.select</field>
137             <field name="model">pos.order</field>
138             <field name="type">search</field>
139             <field name="arch" type="xml">
140                 <search string="Search Sales Order">
141                     <filter icon="terp-document-new" string="New" domain="[('state','=','draft')]"/>
142                     <filter icon="gtk-apply" string="Done" domain="[('state','in',('paid','invoiced','done'))]"/>
143                     <separator orientation="vertical"/>
144                     <filter icon="terp-check" string="Invoiced" domain="[('state','=','invoiced')]"/>
145                     <filter icon="gtk-convert" string="Posted" domain="[('state','=','done')]"/>
146                     <separator orientation="vertical"/>
147                     <filter icon="terp-go-month" string="Today" domain="[('date_order','&gt;=',datetime.date.today().strftime('%%Y-%%m-%%d 00:00:00')),('date_order','&lt;=',datetime.date.today().strftime('%%Y-%%m-%%d 23:59:59'))]"/>
148                     <filter icon="gtk-go-forward" string="Yesterday" domain="[('date_order','&lt;',datetime.date.today().strftime('%%Y-%%m-%%d 00:00:00')),('date_order','&gt;=',(datetime.date.today() - relativedelta(days=1)).strftime('%%Y-%%m-%%d 00:00:00'))]"/>
149                     <separator orientation="vertical"/>
150                     <field name="name"/>
151                     <field name="user_id"/>
152                     <newline/>
153                     <group expand="0" string="Group By...">
154                         <filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
155                         <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
156                         <separator string="" orientation="vertical"/>
157                         <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
158                         <separator string="" orientation="vertical"/>
159                         <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_order'}"/>
160                     </group>
161                </search>
162             </field>
163         </record>
164
165         <menuitem name="Daily Operations" id="menu_point_of_sale" parent="menu_point_root" sequence="10" />
166         <menuitem parent="menu_point_of_sale" id="menu_point_ofsale" action="action_pos_pos_form" sequence="1" groups="group_pos_manager,group_pos_user"/>
167         <menuitem name="Products" id="menu_point_of_sale_product" parent="menu_point_root" sequence="15" />
168
169         <record id="product_normal_action" model="ir.actions.act_window">
170             <field name="name">Products</field>
171             <field name="type">ir.actions.act_window</field>
172             <field name="res_model">product.product</field>
173             <field name="view_type">form</field>
174             <field name="view_mode">tree,form,kanban</field>
175             <field name="context" eval="{'default_pos_categ_id': ref('point_of_sale.categ_others')}"/>
176             <field name="view_id" ref="product.product_product_tree_view"/>
177             <field name="search_view_id" ref="product.product_search_form_view"/>
178             <field name="help">You must define a Product for everything you buy or sell. Products can be raw materials, stockable products, consumables or services. The Product form contains detailed information about your products related to procurement logistics, sales price, product category, suppliers and so on.</field>
179         </record>
180         <menuitem
181             action="product_normal_action"
182             id="menu_pos_products"
183             parent="menu_point_of_sale_product" sequence="2"/>
184
185         <record model="ir.ui.view" id="view_pos_order_line">
186             <field name="name">Sale lines</field>
187             <field name="model">pos.order.line</field>
188             <field name="type">tree</field>
189             <field name="arch" type="xml">
190                 <tree string="POS Order lines">
191                     <field name="product_id" readonly="1"/>
192                     <field name="qty" readonly="1" sum="Total qty"/>
193                     <field name="discount" readonly="1"/>
194                     <field name="price_unit" readonly="1"/>
195                     <field name="price_subtotal" readonly="1" sum="Sum of subtotals"/>
196                     <field name="price_subtotal_incl" readonly="1" sum="Sum of subtotals"/>
197                     <field name="create_date" readonly="1"/>
198                 </tree>
199             </field>
200         </record>
201
202         <record model="ir.ui.view" id="view_pos_order_line_form">
203             <field name="name">Sale line</field>
204             <field name="model">pos.order.line</field>
205             <field name="type">form</field>
206             <field name="arch" type="xml">
207                 <form string="POS Order line" version="7.0">
208                     <group col="4">
209                         <field name="product_id" />
210                         <field name="qty" />
211                         <field name="discount" />
212                         <field name="price_unit" />
213                         <field name="create_date" />
214                     </group>
215                 </form>
216             </field>
217         </record>
218
219         <record model="ir.actions.act_window" id="action_pos_order_line">
220             <field name="name">Sale line</field>
221             <field name="type">ir.actions.act_window</field>
222             <field name="res_model">pos.order.line</field>
223             <field name="view_type">form</field>
224             <field name="view_mode">tree</field>
225             <field name="view_id" ref="view_pos_order_line"/>
226         </record>
227
228         <record model="ir.actions.act_window" id="action_pos_order_line_form">
229             <field name="name">Sale line</field>
230             <field name="type">ir.actions.act_window</field>
231             <field name="res_model">pos.order.line</field>
232             <field name="view_type">form</field>
233             <field name="view_mode">form,tree</field>
234             <field name="view_id" ref="view_pos_order_line_form"/>
235         </record>
236
237         <record model="ir.actions.act_window" id="action_pos_order_line_day">
238             <field name="name">Sale line</field>
239             <field name="type">ir.actions.act_window</field>
240             <field name="res_model">pos.order.line</field>
241             <field name="view_type">form</field>
242             <field name="view_mode">tree</field>
243             <field name="view_id" ref="view_pos_order_line"/>
244             <field name="domain">[('create_date', '&gt;=', time.strftime('%Y-%m-%d 00:00:00')),('create_date', '&lt;=', time.strftime('%Y-%m-%d 23:59:59'))]</field>
245         </record>
246
247
248
249         <!-- report -->
250
251         <record model="ir.ui.view" id="view_pos_trans_user_form">
252             <field name="name">report.trans.pos.user.form</field>
253             <field name="model">report.transaction.pos</field>
254             <field name="type">form</field>
255             <field name="arch" type="xml">
256                 <form string="POS " version="7.0">
257                     <group col="4">
258                         <field name="user_id"/>
259                         <field name="journal_id"/>
260                         <field name="jl_id"/>
261                         <field name="date_create" widget="date"/>
262                         <field name="no_trans"/>
263                         <field name="amount"/>
264                         <field name="invoice_id"/>
265                     </group>
266                 </form>
267             </field>
268         </record>
269
270
271         <record model="ir.ui.view" id="view_trans_pos_user_tree">
272             <field name="name">Sales by user</field>
273             <field name="model">report.transaction.pos</field>
274             <field name="type">tree</field>
275             <field name="arch" type="xml">
276                 <tree string="POS">
277                     <field name="date_create" widget="date" />
278                     <field name="user_id"/>
279                     <field name="journal_id"/>
280                     <field name="jl_id"/>
281                     <field name="no_trans" sum="Total Transaction"/>
282                     <field name="amount" sum="Amount total"/>
283                     <field name="product_nb" />
284                     <field name="invoice_id"/>
285                     <field name="disc"/>
286                 </tree>
287             </field>
288         </record>
289
290         <record model="ir.ui.view" id="view_report_transaction_pos_calendar">
291             <field name="name">report.transaction.pos.calendar</field>
292             <field name="model">report.transaction.pos</field>
293             <field name="type">calendar</field>
294             <field eval="2" name="priority"/>
295             <field name="arch" type="xml">
296                 <calendar color="user_id" date_start="date_create" string="POS Report">
297                     <field name="journal_id"/>
298                     <field name="amount"/>
299                 </calendar>
300             </field>
301          </record>
302
303          <record model="ir.ui.view" id="view_report_transaction_pos_graph">
304             <field name="name">report.transaction.pos.graph</field>
305             <field name="model">report.transaction.pos</field>
306             <field name="type">graph</field>
307             <field eval="2" name="priority"/>
308             <field name="arch" type="xml">
309                 <graph  type="bar" string="POS Report">
310                     <field name="user_id" />
311                     <field name="amount"/>
312                     <field group="True" name="journal_id"/>
313                 </graph>
314             </field>
315          </record>
316
317         <record model="ir.actions.act_window" id="action_trans_pos_tree_today">
318             <field name="name">Sales by day</field>
319             <field name="res_model">report.transaction.pos</field>
320             <field name="view_type">form</field>
321             <field name="view_mode">tree,calendar,form,graph</field>
322             <field name="domain">[('date_create','=',time.strftime('%Y-%m-%d'))]</field>
323         </record>
324
325
326         <record model="ir.actions.act_window" id="action_trans_pos_tree_month">
327             <field name="name">Sales by month</field>
328             <field name="res_model">report.transaction.pos</field>
329             <field name="view_type">form</field>
330             <field name="view_mode">tree,calendar,form,graph</field>
331             <field name="domain">[('date_create','like',time.strftime('%Y-%m'))]</field>
332         </record>
333
334
335         <record model="ir.actions.act_window" id="action_trans_pos_tree">
336             <field name="name">Sales by user</field>
337             <field name="res_model">report.transaction.pos</field>
338             <field name="view_type">form</field>
339             <field name="view_mode">tree,calendar,form,graph</field>
340             <field name="view_id" ref="view_trans_pos_user_tree"/>
341         </record>
342
343
344         <record model="ir.ui.view" id="view_report_sales_by_user_pos_form">
345             <field name="name">report.sales.by.user.pos.form</field>
346             <field name="model">report.sales.by.user.pos</field>
347             <field name="type">form</field>
348             <field name="arch" type="xml">
349                 <form string="POS " version="7.0">
350                     <group col="4">
351                         <field name="date_order" widget="date"/>
352                         <field name="qty"/>
353                         <field name="amount"/>
354                         <field name="user_id"/>
355                     </group>
356                 </form>
357             </field>
358         </record>
359
360
361         <record model="ir.ui.view" id="view_report_sales_by_user_pos_tree">
362             <field name="name">report.sales.by.user.pos.tree</field>
363             <field name="model">report.sales.by.user.pos</field>
364             <field name="type">tree</field>
365             <field name="arch" type="xml">
366                 <tree string="POS">
367                     <field name="date_order" widget="date"/>
368                     <field name="qty"/>
369                     <field name="amount"/>
370                     <field name="user_id"/>
371                 </tree>
372             </field>
373         </record>
374
375         <record model="ir.ui.view" id="view_report_sales_by_user_pos_calendar">
376             <field name="name">report.sales.by.user.pos.calendar</field>
377             <field name="model">report.sales.by.user.pos</field>
378             <field name="type">calendar</field>
379             <field eval="2" name="priority"/>
380             <field name="arch" type="xml">
381                 <calendar color="user_id" date_start="date_order" string="POS Report">
382                     <field name="qty"/>
383                     <field name="amount" />
384                 </calendar>
385             </field>
386          </record>
387
388         <record model="ir.ui.view" id="view_report_sales_by_user_pos_graph">
389             <field name="name">report.sales.by.user.pos.graph</field>
390             <field name="model">report.sales.by.user.pos</field>
391             <field name="type">graph</field>
392             <field eval="2" name="priority"/>
393             <field name="arch" type="xml">
394                 <graph  type="bar" string="Sales by User">
395                     <field name="user_id" />
396                     <field name="amount"/>
397                 </graph>
398             </field>
399          </record>
400
401          <record model="ir.actions.act_window" id="action_report_sales_by_user_pos_today">
402             <field name="name">Sales by User</field>
403             <field name="res_model">report.sales.by.user.pos</field>
404             <field name="view_type">form</field>
405             <field name="view_mode">tree,calendar,form,graph</field>
406             <field name="domain">[('date_order','=',time.strftime('%Y-%m-%d'))]</field>
407          </record>
408
409
410         <!-- Sales of user by month -->
411
412         <record model="ir.ui.view" id="view_report_sales_by_user_pos_month_form">
413             <field name="name">report.sales.by.user.pos.month.form</field>
414             <field name="model">report.sales.by.user.pos.month</field>
415             <field name="type">form</field>
416             <field name="arch" type="xml">
417                 <form string="POS " version="7.0">
418                     <group col="4">
419                         <field name="date_order" widget="date"/>
420                         <field name="qty"/>
421                         <field name="amount"/>
422                         <field name="user_id"/>
423                     </group>
424                 </form>
425             </field>
426         </record>
427
428
429         <record model="ir.ui.view" id="view_report_sales_by_user_pos_month_tree">
430             <field name="name">report.sales.by.user.pos.month.tree</field>
431             <field name="model">report.sales.by.user.pos.month</field>
432             <field name="type">tree</field>
433             <field name="arch" type="xml">
434                 <tree string="POS">
435                     <field name="date_order" widget="date"/>
436                     <field name="qty"/>
437                     <field name="amount"/>
438                     <field name="user_id"/>
439                 </tree>
440             </field>
441         </record>
442
443         <record model="ir.ui.view" id="view_report_sales_by_user_pos_month_calendar">
444             <field name="name">report.sales.by.user.pos.month.calendar</field>
445             <field name="model">report.sales.by.user.pos.month</field>
446             <field name="type">calendar</field>
447             <field eval="2" name="priority"/>
448             <field name="arch" type="xml">
449                 <calendar color="user_id" date_start="date_order" string="POS Report">
450                     <field name="qty"/>
451                     <field name="amount" />
452                 </calendar>
453             </field>
454          </record>
455
456         <record model="ir.ui.view" id="view_report_sales_by_user_pos_month_graph">
457             <field name="name">report.sales.by.user.pos.month.graph</field>
458             <field name="model">report.sales.by.user.pos.month</field>
459             <field name="type">graph</field>
460             <field eval="2" name="priority"/>
461             <field name="arch" type="xml">
462                 <graph  type="bar" string="Sales by User">
463                     <field name="user_id" />
464                     <field name="amount"/>
465                 </graph>
466             </field>
467          </record>
468
469
470          <record model="ir.actions.act_window" id="action_report_sales_by_user_pos_month">
471             <field name="name">Sales by User Monthly</field>
472             <field name="res_model">report.sales.by.user.pos.month</field>
473             <field name="view_type">form</field>
474             <field name="view_mode">tree,calendar,form,graph</field>
475             <field name="domain">[('date_order','like',time.strftime('%Y-%m'))]</field>
476         </record>
477
478         <!-- Sales by margin -->
479
480         <record model="ir.ui.view" id="view_report_sales_by_margin_pos_form">
481             <field name="name">report.sales.by.margin.pos.form</field>
482             <field name="model">report.sales.by.margin.pos</field>
483             <field name="type">form</field>
484             <field name="arch" type="xml">
485                 <form string="POS " version="7.0">
486                     <group col="4">
487                         <field name="user_id"/>
488                         <field name="product_name"/>
489                         <field name="date_order" widget="date"/>
490                         <field name="qty"/>
491                         <field name="net_margin_per_qty"/>
492                         <field name="total"/>
493                     </group>
494                 </form>
495             </field>
496         </record>
497
498
499         <record model="ir.ui.view" id="view_report_sales_by_margin_pos_tree">
500             <field name="name">report.sales.by.margin.pos.tree</field>
501             <field name="model">report.sales.by.margin.pos</field>
502             <field name="type">tree</field>
503             <field name="arch" type="xml">
504                 <tree string="POS">
505                     <field name="user_id"/>
506                     <field name="product_name"/>
507                     <field name="date_order" widget="date"/>
508                     <field name="qty"/>
509                     <field name="net_margin_per_qty"/>
510                     <field name="total"/>
511                 </tree>
512             </field>
513         </record>
514
515         <record model="ir.ui.view" id="view_report_sales_by_margin_pos_calendar">
516             <field name="name">report.sales.by.margin.pos.calendar</field>
517             <field name="model">report.sales.by.margin.pos</field>
518             <field name="type">calendar</field>
519             <field eval="2" name="priority"/>
520             <field name="arch" type="xml">
521                 <calendar color="user_id" date_start="date_order" string="Sales by User Margin">
522                     <field name="product_name"/>
523                     <field name="total" />
524                 </calendar>
525             </field>
526          </record>
527
528         <record model="ir.ui.view" id="view_report_sales_by_margin_pos_graph">
529             <field name="name">report.sales.by.margin.pos.graph</field>
530             <field name="model">report.sales.by.margin.pos</field>
531             <field name="type">graph</field>
532             <field eval="2" name="priority"/>
533             <field name="arch" type="xml">
534                 <graph  type="bar" string="Sales by User Margin" orientation="horizontal">
535                     <field name="product_name" />
536                     <field name="total" operator="+"/>
537                 </graph>
538             </field>
539          </record>
540
541         <record model="ir.actions.act_window" id="action_report_sales_by_margin_pos_today">
542             <field name="name">Sales by User Daily margin</field>
543             <field name="res_model">report.sales.by.margin.pos</field>
544             <field name="view_type">form</field>
545             <field name="view_mode">tree,calendar,form,graph</field>
546             <field name="domain">[('date_order','=',time.strftime('%Y-%m-%d'))]</field>
547          </record>
548
549          <record model="ir.ui.view" id="view_report_sales_by_margin_pos_month_form">
550             <field name="name">report.sales.by.margin.pos.month.form</field>
551             <field name="model">report.sales.by.margin.pos.month</field>
552             <field name="type">form</field>
553             <field name="arch" type="xml">
554                 <form string="POS " version="7.0">
555                     <group col="4">
556                         <field name="user_id"/>
557                         <field name="product_name"/>
558                         <field name="date_order" widget="date"/>
559                         <field name="qty"/>
560                         <field name="net_margin_per_qty"/>
561                         <field name="total"/>
562                     </group>
563                 </form>
564             </field>
565         </record>
566
567
568         <record model="ir.ui.view" id="view_report_sales_by_margin_pos_month_tree">
569             <field name="name">report.sales.by.margin.pos.month.tree</field>
570             <field name="model">report.sales.by.margin.pos.month</field>
571             <field name="type">tree</field>
572             <field name="arch" type="xml">
573                 <tree string="POS">
574                     <field name="user_id"/>
575                     <field name="product_name"/>
576                     <field name="date_order" widget="date"/>
577                     <field name="qty"/>
578                     <field name="net_margin_per_qty"/>
579                     <field name="total"/>
580                 </tree>
581             </field>
582         </record>
583
584         <record model="ir.ui.view" id="view_report_sales_by_margin_pos_month_calendar">
585             <field name="name">report.sales.by.margin.pos.month.calendar</field>
586             <field name="model">report.sales.by.margin.pos.month</field>
587             <field name="type">calendar</field>
588             <field eval="2" name="priority"/>
589             <field name="arch" type="xml">
590                 <calendar color="user_id" date_start="date_order" string="Sales by User Margin">
591                     <field name="product_name"/>
592                     <field name="total" />
593                 </calendar>
594             </field>
595          </record>
596
597         <record model="ir.ui.view" id="view_report_sales_by_margin_pos_month_graph">
598             <field name="name">report.sales.by.margin.pos.month.graph</field>
599             <field name="model">report.sales.by.margin.pos.month</field>
600             <field name="type">graph</field>
601             <field eval="2" name="priority"/>
602             <field name="arch" type="xml">
603                 <graph  type="bar" string="Sales by User Margin" orientation="horizontal">
604                     <field name="product_name" />
605                     <field name="total" operator="+"/>
606                 </graph>
607             </field>
608          </record>
609
610          <record model="ir.actions.act_window" id="action_report_sales_by_margin_pos_month">
611             <field name="name">Sales by User Monthly margin</field>
612             <field name="res_model">report.sales.by.margin.pos.month</field>
613             <field name="view_type">form</field>
614             <field name="view_mode">tree,calendar,form,graph</field>
615             <field name="domain">[('date_order','like',time.strftime('%Y-%m'))]</field>
616         </record>
617
618         <record id="product_normal_form_pos_view" model="ir.ui.view">
619             <field name="name">product.normal.pos.form.inherit</field>
620             <field name="model">product.product</field>
621             <field name="type">form</field>
622             <field name="inherit_id" ref="product.product_normal_form_view"/>
623             <field name="arch" type="xml">
624                   <group name="status" position="after">
625                       <group name="pos" string="Point of Sale">
626                           <field name="pos_categ_id"/>
627                       </group>
628                   </group>
629             </field>
630         </record>
631
632
633         <record id="product_normal_form_view" model="ir.ui.view">
634             <field name="name">product.normal.form.inherit</field>
635             <field name="model">product.product</field>
636             <field name="type">form</field>
637             <field name="inherit_id" ref="product.product_normal_form_view"/>
638             <field name="arch" type="xml">
639                   <field name="company_id" position="after">
640                   <separator string="Point of Sale" colspan="2"/>
641                       <field name="income_pdt"/>
642                       <field name="expense_pdt"/>
643                   </field>
644             </field>
645         </record>
646
647         <!-- Categories tree view -->
648         <record id="pos_category_form_view" model="ir.ui.view">
649             <field name="name">pos.category.form</field>
650             <field name="model">pos.category</field>
651             <field name="type">form</field>
652             <field name="arch" type="xml">
653                 <form string="PoS Categories" version="7.0">
654                         <sheet>
655                     <group col="4">
656                         <field name="name"/>
657                         <field name="parent_id"/>
658                         <field name="sequence"/>
659                     </group>
660                     </sheet>
661                 </form>
662             </field>
663         </record>
664         <record id="pos_category_tree_view" model="ir.ui.view">
665             <field name="name">pos.category.tree</field>
666             <field name="model">pos.category</field>
667             <field name="type">tree</field>
668             <field name="field_parent" eval="False"/>
669             <field name="arch" type="xml">
670                 <tree string="PoS Categories">
671                     <field name="sequence" invisible="1"/>
672                     <field name="complete_name"/>
673                 </tree>
674             </field>
675         </record>
676         <record id="pos_category_action" model="ir.actions.act_window">
677             <field name="name">PoS Categories</field>
678             <field name="type">ir.actions.act_window</field>
679             <field name="res_model">pos.category</field>
680             <field name="view_type">form</field>
681             <field name="view_mode">tree,form</field>
682             <field name="view_id" eval="False"/>
683         </record>
684         <menuitem action="pos_category_action" id="menu_pos_category" parent="menu_point_of_sale_product" sequence="0" />
685         <!-- END -->
686
687         <menuitem name="Configuration" parent="menu_point_root"
688             id="menu_point_config_product" sequence="25" groups="group_pos_manager"/>
689
690         <record model="ir.actions.act_window" id="action_product_input">
691             <field name="name">Products 'Take Money Out'</field>
692             <field name="type">ir.actions.act_window</field>
693             <field name="res_model">product.product</field>
694             <field name="view_type">form</field>
695             <field name="view_mode">tree,form</field>
696             <field name="domain">[('expense_pdt','=',True)]</field>
697             <field name="context">{'default_expense_pdt': True}</field>
698         </record>
699         <menuitem
700             parent="menu_point_config_product"
701             action="action_product_input"
702             id="products_for_input_operations"
703             groups="group_pos_manager"/>
704
705         <record model="ir.actions.act_window" id="action_product_output">
706             <field name="name">Products 'Put Money In'</field>
707             <field name="type">ir.actions.act_window</field>
708             <field name="res_model">product.product</field>
709             <field name="view_type">form</field>
710             <field name="view_mode">tree,form</field>
711             <field name="domain">[('income_pdt','=',True)]</field>
712             <field name="context">{'default_income_pdt': True}</field>
713         </record>
714         <menuitem
715             parent="menu_point_config_product"
716             action="action_product_output"
717             id="products_for_output_operations"
718             groups="group_pos_manager"/>
719
720         <menuitem
721             parent="menu_point_of_sale"
722             action="action_box_entries"
723             id="menu_wizard_enter_jrnl" sequence="2" />
724
725         <menuitem
726             parent="menu_point_of_sale"
727             action="action_box_out"
728             id="menu_wizard_enter_jrnl2" sequence="3" />
729
730         <record id="action_account_journal_form" model="ir.actions.act_window">
731             <field name="name">Payment Methods</field>
732             <field name="res_model">account.journal</field>
733             <field name="view_type">form</field>
734             <field name="view_mode">tree,form</field>
735             <field name="context" eval="{'default_journal_user': 1, 'default_view_id': ref('account.account_journal_bank_view'), 'default_type': 'cash'}"/>
736             <field name="domain">[('journal_user','=', 1)]</field>
737             <field name="help">Payment methods are defined by accounting journals having the field Payment Method checked.</field>
738         </record>
739
740         <menuitem action="action_account_journal_form"
741             id="menu_action_account_journal_form_open"
742             parent="menu_point_config_product"
743             sequence="20"/>
744
745         <record model="ir.ui.view" id="view_pos_order_tree_all_sales_lines">
746             <field name="name">POS Sales Lines</field>
747             <field name="model">pos.order.line</field>
748             <field name="type">tree</field>
749             <field name="arch" type="xml">
750                 <tree string="POS Orders lines">
751                     <field name="order_id" />
752                     <field name="create_date" />
753                     <field name="product_id" />
754                     <field name="qty" />
755                     <field name="price_unit" />
756                 </tree>
757             </field>
758         </record>
759          <record model="ir.actions.act_window" id="action_pos_all_sales_lines">
760             <field name="name">All sales lines</field>
761             <field name="type">ir.actions.act_window</field>
762             <field name="res_model">pos.order.line</field>
763             <field name="view_type">form</field>
764             <field name="view_id" ref="view_pos_order_tree_all_sales_lines" />
765         </record>
766
767         <!--  Miscellaneous Operations/Reporting -->
768         <menuitem name="Point of Sale" parent="base.menu_reporting" id="menu_point_rep" sequence="50" groups="group_pos_manager"/>
769         <!-- Invoice -->
770
771         <record model="ir.actions.act_window" id="action_pos_sale_all">
772             <field name="name">All Sales Orders</field>
773             <field name="type">ir.actions.act_window</field>
774             <field name="res_model">pos.order</field>
775             <field name="view_type">form</field>
776             <field name="view_mode">tree,form</field>
777             <field name="domain">[]</field>
778         </record>
779         <menuitem parent="menu_point_rep" id="menu_point_ofsale_all" action="action_pos_sale_all" sequence="1"/>
780
781         <record model="ir.actions.act_window" id="action_pos_invoice">
782             <field name="name">Invoices</field>
783             <field name="type">ir.actions.act_window</field>
784             <field name="res_model">account.invoice</field>
785             <field name="view_type">form</field>
786             <field name="view_mode">tree,form</field>
787             <field name="domain">[('origin','like','POS')]</field>
788         </record>
789
790         <menuitem name="Reporting" id="menu_point_of_sale_reporting" parent="menu_point_root" sequence="20" />
791         
792         <menuitem icon="STOCK_PRINT" action="action_report_pos_details"
793                 id="menu_pos_details" parent="menu_point_of_sale_reporting" sequence="6" />
794
795         <record model="ir.actions.client" id="action_pos_pos">
796           <field name="name">Start Point of Sale</field>
797           <field name="tag">pos.ui</field>
798         </record>
799
800         <record id="menu_point_root_touchscreen" model="ir.ui.menu">
801           <field name="name">Point of Sale</field>
802           <field name="sequence" eval="21"/>
803           <field name="action" ref="action_pos_pos"/>
804         </record>
805
806         <!-- use menuitem to add web_icon and web_icon_hover above -->
807         <menuitem id="menu_point_root_touchscreen"
808             web_icon="images/pos.png" web_icon_hover="images/pos-hover.png" groups="point_of_sale.group_pos_manager,point_of_sale.group_pos_user"/>
809
810     </data>
811 </openerp>