Project Improvement
[odoo/odoo.git] / addons / sale / sale_view.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3     <data>
4         <menuitem icon="terp-sale" id="menu_sale_root" name="Sales Management"
5             groups="group_sale_user"/>
6
7         <record id="view_shop_form" model="ir.ui.view">
8             <field name="name">sale.shop</field>
9             <field name="model">sale.shop</field>
10             <field name="type">form</field>
11             <field name="arch" type="xml">
12                 <form string="Sale Shop">
13                     <field name="name" select="1"/>
14                     <field name="warehouse_id" required="1" select="1" widget="selection"/>
15                     <separator colspan="4" string="Accounting"/>
16                     <field name="payment_default_id"/>
17                     <field domain="[('type','=','sale')]" name="pricelist_id" select="1"/>
18                     <field name="project_id" select="1"/>
19                 </form>
20             </field>
21         </record>
22         <record id="view_shop_tree" model="ir.ui.view">
23             <field name="name">sale.shop</field>
24             <field name="model">sale.shop</field>
25             <field name="type">tree</field>
26             <field name="arch" type="xml">
27                 <tree string="Sale Shop">
28                     <field name="name"/>
29                     <field name="pricelist_id"/>
30                     <field name="project_id"/>
31                     <field name="warehouse_id"/>
32                 </tree>
33             </field>
34         </record>
35
36         <record id="action_shop_form" model="ir.actions.act_window">
37             <field name="name">Shop</field>
38             <field name="type">ir.actions.act_window</field>
39             <field name="res_model">sale.shop</field>
40             <field name="view_type">form</field>
41             <field name="view_mode">tree,form</field>
42             <field name="view_id" ref="view_shop_tree"/>
43         </record>
44         <menuitem id="menu_shop_configuration" name="Configuration" parent="sale.menu_sale_root" sequence="1"/>
45         <menuitem action="action_shop_form" id="menu_action_shop_form" parent="sale.menu_shop_configuration"/>
46
47         <record id="view_sale_order_calendar" model="ir.ui.view">
48             <field name="name">sale.order.calendar</field>
49             <field name="model">sale.order</field>
50             <field name="type">calendar</field>
51             <field name="arch" type="xml">
52                 <calendar string="Sales orders" color="state" date_start="date_order">
53                     <field name="partner_id"/>
54                     <field name="amount_total"/>
55                 </calendar>
56             </field>
57         </record>
58         <record model="ir.ui.view" id="view_sale_order_graph">
59             <field name="name">sale.order.graph</field>
60             <field name="model">sale.order</field>
61             <field name="type">graph</field>
62             <field name="arch" type="xml">
63                 <graph string="Sales orders" type="bar">
64                     <field name="partner_id"/>
65                     <field name="amount_total" operator="+"/>
66                 </graph>
67             </field>
68         </record>
69
70         <record id="view_order_tree" model="ir.ui.view">
71             <field name="name">sale.order.tree</field>
72             <field name="model">sale.order</field>
73             <field name="type">tree</field>
74             <field name="arch" type="xml">
75                 <tree string="Sales orders">
76                     <field name="date_order"/>
77                     <field name="name" string="Reference"/>
78                     <field name="partner_id"/>
79                     <field name="partner_shipping_id"/>
80                     <field name="picked_rate" widget="progressbar"/>
81                     <field name="invoiced_rate" widget="progressbar"/>
82                     <field name="amount_untaxed"/>
83                     <field name="state"/>
84                 </tree>
85             </field>
86         </record>
87
88         <record id="view_order_form" model="ir.ui.view">
89             <field name="name">sale.order.form</field>
90             <field name="model">sale.order</field>
91             <field name="type">form</field>
92             <field name="arch" type="xml">
93                 <form string="Sales order">
94                     <group col="6" colspan="4">
95                         <field name="name" select="1"/>
96                         <field name="client_order_ref" select="2"/>
97                         <field name="shipped" select="2"/>
98                         <field name="shop_id" on_change="onchange_shop_id(shop_id)" select="2" widget="selection"/>
99                         <field name="date_order" select="1"/>
100                         <field name="invoiced" select="2"/>
101                     </group>
102                     <notebook colspan="4">
103                         <page string="Sale Order">
104                             <field name="partner_id" on_change="onchange_partner_id(partner_id)" required="1" select="1"/>
105                             <field domain="[('partner_id','=',partner_id)]" name="partner_order_id"/>
106                             <field domain="[('partner_id','=',partner_id)]" name="partner_invoice_id"/>
107                             <field domain="[('partner_id','=',partner_id)]" name="partner_shipping_id"/>
108                             <field domain="[('type','=','sale')]" name="pricelist_id"/>
109                             <field name="project_id" select="2" context="{'partner_id':partner_id, 'contact_id':partner_order_id, 'pricelist_id':pricelist_id, 'default_name':name}"/>
110                             <newline/>
111                             <field colspan="4" mode="tree,form,graph" name="order_line" nolabel="1" widget="one2many_list">
112                                 <form string="Sale Order Lines">
113                                     <notebook>
114                                         <page string="Order Line">
115                                             <separator colspan="4" string="Automatic Declaration"/>
116                                             <field colspan="4"
117                                                 context="partner_id=parent.partner_id,quantity=product_uom_qty,pricelist=parent.pricelist_id,shop=parent.shop_id,uom=product_uom"
118                                                 name="product_id"
119                                                 on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, 'lang' in context and context['lang'], True, parent.date_order, product_packaging, parent.fiscal_position)"
120                                                 select="1"/>
121                                             <field
122                                                 context="partner_id=parent.partner_id,quantity=product_uom_qty,pricelist=parent.pricelist_id,shop=parent.shop_id,uom=product_uom"
123                                                 name="product_uom_qty"
124                                                 on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, 'lang' in context and context['lang'], False, parent.date_order, product_packaging, parent.fiscal_position, True)"
125                                                 select="1"/>
126                                             <field name="product_uom"
127                                                 on_change="product_uom_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, 'lang' in context and context['lang'], False, parent.date_order)"/>
128                                             <field
129                                                 name="product_packaging"
130                                                 context="partner_id=parent.partner_id,quantity=product_uom_qty,pricelist=parent.pricelist_id,shop=parent.shop_id,uom=product_uom"
131                                                 on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, 'lang' in context and context['lang'], False, parent.date_order, product_packaging, parent.fiscal_position)"
132                                                 domain="[('product_id','=',product_id)]"
133                                                 groups="base.group_extended"/>
134
135                                             <field name="company_id" groups="base.group_multi_company" widget="selection"/>
136                                             <separator colspan="4" string="Manual Description"/>
137                                             <field colspan="4" name="name" select="2"/>
138                                             <field name="price_unit" select="2"/>
139                                             <field name="discount"/>
140                                             <field name="type"/>
141                                             <field name="delay" select="2"/>
142                                             <newline/>
143                                             <field colspan="4" name="tax_id" domain="[('parent_id','=',False),('type_tax_use','&lt;&gt;','purchase')]"/>
144                                             <separator colspan="4" string="States"/>
145                                             <field name="state" select="2"/>
146                                             <group col="3" colspan="2">
147                                                 <field name="invoiced" select="2"/>
148                                                 <button colspan="1" name="%(wizard_sale_order_line_invoice)d" states="confirmed" string="Make Invoice" type="action" icon="gtk-print"/>
149                                             </group>
150                                         </page>
151                                         <page groups="base.group_extended" string="Extra Info">
152                                             <field groups="product.group_uos" name="product_uos_qty" on_change="uos_change(product_uos, product_uos_qty, product_id)"/>
153                                             <field groups="product.group_uos" name="product_uos"/>
154                                             <field name="th_weight"/>
155                                             <field name="address_allotment_id" select="2"/>
156                                             <separator colspan="4" string="Properties"/>
157                                             <field colspan="4" name="property_ids" nolabel="1"/>
158                                         </page>
159                                         <page string="Notes">
160                                             <field colspan="4" name="notes" nolabel="1"/>
161                                         </page>
162                                         <page string="History" groups="base.group_extended">
163                                             <separator colspan="4" string="Invoice Lines"/>
164                                             <field colspan="4" name="invoice_lines" nolabel="1"/>
165                                             <separator colspan="4" string="Stock Moves"/>
166                                             <field colspan="4" name="move_ids" nolabel="1" widget="many2many"/>
167                                         </page>
168                                     </notebook>
169                                 </form>
170                                 <tree string="Sales order lines">
171                                     <field colspan="4" name="name"/>
172                                     <field name="product_uom_qty" string="Qty"/>
173                                     <field name="product_uom" string="UoM"/>
174                                     <field name="discount"/>
175                                     <field name="price_unit"/>
176                                     <field name="price_net"/>
177                                     <field name="price_subtotal"/>
178                                 </tree>
179                             </field>
180                             <newline/>
181                             <group col="7" colspan="4">
182                                 <field name="amount_untaxed" sum="Untaxed amount"/>
183                                 <field name="amount_tax"/>
184                                 <field name="amount_total" sum="Total amount"/>
185                                 <button name="button_dummy" states="draft" string="Compute" type="object" icon="gtk-execute"/>
186                             </group>
187                             <group col="13" colspan="4">
188                                 <field name="state" select="2"/>
189                                 <button name="order_confirm" states="draft" string="Confirm Order" icon="gtk-apply"/>
190                                 <button name="invoice_recreate" states="invoice_except" string="Recreate Invoice" icon="gtk-print"/>
191                                 <button name="invoice_corrected" states="invoice_except" string="Invoice Corrected" icon="gtk-apply"/>
192                                 <button name="ship_recreate" states="shipping_except" string="Recreate Requisition" icon="gtk-ok"/>
193                                 <button name="ship_corrected" states="shipping_except" string="Requisition Corrected" icon="gtk-apply"/>
194                                 <button name="manual_invoice" states="manual" string="Create Invoice" icon="gtk-print"/>
195                                 <button name="ship_cancel" states="shipping_except" string="Cancel Order" icon="gtk-cancel"/>
196                                 <button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="gtk-convert"/>
197                                 <button name="action_cancel" states="manual,progress" string="Cancel Order" type="object" icon="gtk-cancel"/>
198                                 <button name="cancel" states="draft" string="Cancel Order" icon="gtk-cancel"/>
199                                 <button name="invoice_cancel" states="invoice_except" string="Cancel Order" icon="gtk-cancel"/>
200                             </group>
201                         </page>
202                         <page string="Other data">
203                             <field groups="base.group_extended" name="incoterm"/>
204                             <field groups="base.group_extended" name="picking_policy" required="True"/>
205                             <field name="user_id"/>
206                             <field name="order_policy" on_change="shipping_policy_change(order_policy)"/>
207                             <field groups="base.group_extended" name="origin"/>
208                             <field groups="base.group_extended" name="invoice_quantity" attrs="{'readonly':[('order_policy','=','prepaid'),('order_policy','=','picking')]}"/>
209                             <field name="payment_term" widget="selection"/>
210                             <field name="fiscal_position" groups="base.group_extended" widget="selection"/>
211                             <field name="company_id" groups="base.group_multi_company" widget="selection"/>
212                             <separator colspan="4" string="Notes"/>
213                             <field colspan="4" name="note" nolabel="1"/>
214                         </page>
215                         <page string="History">
216                             <separator colspan="4" string="Related invoices"/>
217                             <field colspan="4" name="invoice_ids" nolabel="1"/>
218                             <field colspan="4" name="picking_ids" nolabel="1"/>
219                         </page>
220                     </notebook>
221                 </form>
222             </field>
223         </record>
224
225         <record id="view_sales_order_filter" model="ir.ui.view">
226             <field name="name">sale.order.list.select</field>
227             <field name="model">sale.order</field>
228             <field name="type">search</field>
229             <field name="arch" type="xml">
230                 <search string="Search Sales Order">
231                     <group col='8' colspan='4'>
232                         <filter icon="terp-sale" string="Quotation" domain="[('state','=','draft')]"/>
233                         <filter icon="terp-sale" string="Running" domain="[('state','in',('manual','progress'))]"/>
234                         <separator orientation="vertical"/>
235                         <field name="name" select="1"/>
236                         <field name="partner_id" select="1"/>
237                         <field name="user_id" select="1" widget="selection">
238                             <filter icon="terp-sale" domain="[('user_id','=',uid)]" help="My Sale Orders"/>
239                             <filter icon="terp-sale" domain="[('user_id','child_of',[uid])]" help="My Departments Sale Orders"/>
240                         </field>
241                         <field name="date_order" select="1"/>
242                    </group>
243                </search>
244             </field>
245         </record>
246
247         <record id="action_order_form" model="ir.actions.act_window">
248             <field name="name">Sales Orders</field>
249             <field name="type">ir.actions.act_window</field>
250             <field name="res_model">sale.order</field>
251             <field name="view_type">form</field>
252             <field name="view_mode">tree,form,calendar,graph</field>
253             <field name="search_view_id" ref="view_sales_order_filter"/>
254         </record>
255         <menuitem action="action_order_form" id="menu_sale_order" parent="sale.menu_sale_root"/>
256
257         <record id="action_order_tree2" model="ir.actions.act_window">
258             <field name="name">Sales in Exception</field>
259             <field name="type">ir.actions.act_window</field>
260             <field name="res_model">sale.order</field>
261             <field name="view_type">form</field>
262             <field name="view_mode">tree,form,calendar,graph</field>
263             <field name="domain">[('state','in',('shipping_except','invoice_except'))]</field>
264             <field name="filter" eval="True"/>
265             <field name="search_view_id" ref="view_sales_order_filter"/>
266         </record>
267
268         <record id="action_order_tree3" model="ir.actions.act_window">
269             <field name="name">Sales Order To Be Invoiced</field>
270             <field name="type">ir.actions.act_window</field>
271             <field name="res_model">sale.order</field>
272             <field name="view_type">form</field>
273             <field name="view_mode">tree,form,calendar,graph</field>
274             <field name="domain">[('state','=','manual')]</field>
275             <field name="filter" eval="True"/>
276             <field name="search_view_id" ref="view_sales_order_filter"/>
277         </record>
278
279         <record id="action_order_tree4" model="ir.actions.act_window">
280             <field name="name">Sales Order in Progress</field>
281             <field name="type">ir.actions.act_window</field>
282             <field name="res_model">sale.order</field>
283             <field name="view_type">form</field>
284             <field name="view_mode">tree,form,calendar,graph</field>
285             <field name="domain">[('state','in',('progress','waiting_date','manual'))]</field>
286             <field name="search_view_id" ref="view_sales_order_filter"/>
287         </record>
288
289
290         <record id="action_order_tree5" model="ir.actions.act_window">
291             <field name="name">All Quotations</field>
292             <field name="type">ir.actions.act_window</field>
293             <field name="res_model">sale.order</field>
294             <field name="view_type">form</field>
295             <field name="view_mode">tree,form,calendar,graph</field>
296             <field name="domain">[('state','=','draft')]</field>
297             <field name="search_view_id" ref="view_sales_order_filter"/>
298         </record>
299
300                 <record id="action_order_tree" model="ir.actions.act_window">
301             <field name="name">Old Quotations</field>
302             <field name="type">ir.actions.act_window</field>
303             <field name="res_model">sale.order</field>
304             <field name="view_type">form</field>
305             <field name="view_mode">tree,form,calendar,graph</field>
306             <field name="domain">[('state','=','draft'),('date_order','&lt;',time.strftime('%Y-%m-%d %H:%M:%S'))]</field>
307             <field name="filter" eval="True"/>
308             <field name="search_view_id" ref="view_sales_order_filter"/>
309         </record>
310
311         <record id="view_order_line_graph" model="ir.ui.view">
312             <field name="name">sale.order.line.graph</field>
313             <field name="model">sale.order.line</field>
314             <field name="type">graph</field>
315             <field name="arch" type="xml">
316                 <graph string="Sales order lines">
317                     <field name="product_id"/>
318                     <field name="price_subtotal" operator="+"/>
319                 </graph>
320             </field>
321         </record>
322
323         <record id="view_order_line_tree" model="ir.ui.view">
324             <field name="name">sale.order.line.tree</field>
325             <field name="model">sale.order.line</field>
326             <field name="type">tree</field>
327             <field name="arch" type="xml">
328                 <tree string="Sales order lines">
329                     <field name="order_id"/>
330                     <field name="order_partner_id"/>
331                     <field name="name"/>
332                     <field name="product_id"/>
333                     <field name="product_uom_qty" string="Qty"/>
334                     <field name="product_uom" string="UoM"/>
335                     <field name="discount"/>
336                     <field name="price_unit"/>
337                     <field name="price_net"/>
338                     <field name="price_subtotal"/>
339                     <field name="th_weight"/>
340                     <field name="state"/>
341                 </tree>
342             </field>
343         </record>
344         <record id="view_order_line_form2" model="ir.ui.view">
345             <field name="name">sale.order.line.form2</field>
346             <field name="model">sale.order.line</field>
347             <field name="type">form</field>
348             <field name="arch" type="xml">
349                 <form string="Sales Order Lines">
350                     <notebook>
351                         <page string="Order Lines">
352                             <separator colspan="4" string="Automatic Declaration"/>
353                             <field name="order_id" select="1"/>
354                             <field name="order_partner_id" readonly="1" select="1" invisible="1"/>
355                             <field name="product_uom_qty" readonly="1" select="2"/>
356                             <field name="product_uom"/>
357                             <field name="product_id" readonly="1" select="1"/>
358                             <field name="invoiced" select="2"/>
359                             <field name="company_id" groups="base.group_multi_company" widget="selection"/>
360                             <separator colspan="4" string="Manual Designation"/>
361                             <field colspan="4" name="name" select="2"/>
362                             <field name="price_unit" select="2"/>
363                             <field name="discount"/>
364                             <field name="type"/>
365                             <field name="delay" select="2"/>
366                             <field name="price_subtotal"/>
367                             <field name="th_weight"/>
368                             <field colspan="4" name="tax_id" domain="[('parent_id','=',False),('type_tax_use','&lt;&gt;','purchase')]"/>
369                             <separator colspan="4" string="States"/>
370                             <field name="state" select="2"/>
371                             <group col="2" colspan="2">
372                                 <button name="button_done" states="confirmed,exception" string="Done" type="object" icon="gtk-no"/>
373                                 <button name="button_cancel" states="confirmed,exception" string="Cancel" type="object" icon="gtk-cancel" />
374                             </group>
375                         </page>
376                         <page string="Properties">
377                             <field name="property_ids" nolabel="1"/>
378                         </page>
379                         <page string="Notes">
380                             <field colspan="4" name="notes" nolabel="1"/>
381                         </page>
382                         <page string="Invoice Lines">
383                             <field colspan="4" name="invoice_lines" nolabel="1"/>
384                         </page>
385                     </notebook>
386                 </form>
387             </field>
388         </record>
389
390         <record id="view_sales_order_line_filter" model="ir.ui.view">
391             <field name="name">sale.order.line.select</field>
392             <field name="model">sale.order.line</field>
393             <field name="type">search</field>
394             <field name="arch" type="xml">
395                 <search string="Search Sales Order">
396                     <group col='8' colspan='4'>
397                         <filter icon="terp-purchase" string="To Invoice" domain="[('invoiced','&lt;&gt;', 1),('state','=','done')]" separator="1"/>
398                         <separator orientation="vertical"/>
399                         <field name="order_id" select="1"/>
400                         <field name="order_partner_id" select="1"/>
401                         <field name="product_id" select="1"/>
402                         <field name="salesman_id" select="1" widget="selection">
403                             <filter icon="terp-sale" domain="[('salesman_id','=',uid)]" help="My Sale Order Lines"/>
404                             <filter icon="terp-sale" domain="[('salesman_id','child_of',[uid])]" help="My Departments Sale Order Lines"/>
405                         </field>
406                     </group>
407                 </search>
408             </field>
409         </record>
410
411         <record id="action_order_line_tree1" model="ir.actions.act_window">
412             <field name="name">Sales Order Lines</field>
413             <field name="type">ir.actions.act_window</field>
414             <field name="res_model">sale.order.line</field>
415             <field name="view_type">form</field>
416             <field name="view_id" eval="False"/>
417             <field name="search_view_id" ref="view_sales_order_line_filter"/>
418         </record>
419         <menuitem action="action_order_line_tree1" id="menu_action_order_line_tree1" parent="sale.menu_sale_root"
420             groups="base.group_extended"/>
421
422         <record id="action_order_line_tree2" model="ir.actions.act_window">
423             <field name="name">Uninvoiced Lines</field>
424             <field name="type">ir.actions.act_window</field>
425             <field name="res_model">sale.order.line</field>
426             <field name="view_type">form</field>
427             <field name="view_mode">tree,form,graph</field>
428             <field name="domain">[('invoiced','&lt;&gt;', 1),('state','&lt;&gt;','draft'),('state','&lt;&gt;','cancel')]</field>
429             <field name="filter" eval="True"/>
430         </record>
431
432         <record id="action_order_line_tree3" model="ir.actions.act_window">
433             <field name="name">Uninvoiced and Delivered Lines</field>
434             <field name="type">ir.actions.act_window</field>
435             <field name="res_model">sale.order.line</field>
436             <field name="view_type">form</field>
437             <field name="view_mode">tree,form,graph</field>
438             <field name="domain">[('invoiced','&lt;&gt;', 1),('state','=','done')]</field>
439             <field name="filter" eval="True"/>
440         </record>
441
442         <act_window context="{'partner_id': active_id}" domain="[('partner_id', '=', active_id)]" id="act_res_partner_2_sale_order" name="Sales" res_model="sale.order" src_model="res.partner"/>
443
444         <act_window domain="[('product_id','=',active_id)]" id="action_order_line_product_tree" name="Product sales" res_model="sale.order.line" src_model="product.product"/>
445
446         <!-- configartion view -->
447
448         <record id="view_config_picking_policy" model="ir.ui.view">
449             <field name="name">Configure Picking Policy for Sale Order </field>
450             <field name="model">sale.config.picking_policy</field>
451             <field name="type">form</field>
452             <field name="arch" type="xml">
453                 <form string="Sales Configuration">
454                     <separator colspan="4" string="Configure Sale Order Logistic"/>
455                     <newline/>
456                     <field name="picking_policy"/>
457                     <newline/>
458                     <field name="order_policy"/>
459                     <newline/>
460                     <field name="step"/>
461                     <separator string="" colspan="4"/>
462                     <group col="4" colspan="4">
463                         <button icon="gtk-cancel" name="action_cancel" type="object" special="cancel" string="Cancel"/>
464                         <button icon="gtk-ok" name="set_default" string="Set Default" type="object"/>
465                     </group>
466                 </form>
467             </field>
468         </record>
469
470         <record id="action_config_picking_policy" model="ir.actions.act_window">
471             <field name="name">Configure Picking Policy for Sale Order</field>
472             <field name="type">ir.actions.act_window</field>
473             <field name="res_model">sale.config.picking_policy</field>
474             <field name="view_type">form</field>
475             <field name="view_mode">form</field>
476             <field name="target">new</field>
477         </record>
478
479         <!-- register configuration wizard -->
480         <record id="config_wizard_step_sale_picking_policy" model="ir.actions.todo">
481             <field name="name">Select the default picking policy for Sale Order</field>
482             <field name="note">This Configuration step use to set default picking policy when make sale order</field>
483             <field name="action_id" ref="action_config_picking_policy"/>
484         </record>
485
486
487     </data>
488 </openerp>