[MERGE] from trunk
[odoo/odoo.git] / addons / sale_crm / sale_crm_view.xml
1 <?xml version="1.0"?>
2 <openerp>
3     <data>
4
5         <record model="ir.ui.view" id="crm_case_form_view_oppor">
6             <field name="name">CRM - Opportunities - Quote Inherit</field>
7             <field name="model">crm.lead</field>
8             <field name="inherit_id" ref="crm.crm_case_form_view_oppor"/>
9             <field name="arch" type="xml">
10                 <data>
11                     <xpath expr="/form/header/button[@name='case_mark_lost']" position="after">
12                         <button states="done" string="Create Quotation" name="%(action_crm_make_sale)d" type="action"/>
13                         <button states="draft,open,pending" string="Convert to Quotation" name="%(action_crm_make_sale)d" type="action" class="oe_highlight"/>
14                     </xpath>
15                 </data>
16             </field>
17         </record>
18
19         <!-- add needaction_menu_ref to reload quotation needaction when opportunity needaction is reloaded -->
20         <record model="ir.actions.act_window" id="crm.crm_case_category_act_oppor11">
21             <field name="context">{'stage_type': 'opportunity', 'default_type': 'opportunity', 'default_user_id': uid, 'needaction_menu_ref': 'sale.menu_sale_quotations'}</field>
22         </record>
23
24         <record model="ir.ui.view" id="sale_view_inherit123">
25             <field name="name">sale.order.inherit</field>
26             <field name="model">sale.order</field>
27             <field name="inherit_id" ref="sale.view_order_form"/>
28             <field name="arch" type="xml">
29                 <field name="user_id" position="after">
30                     <field name="section_id" widget="selection" groups="base.group_multi_salesteams"/>
31                     <field name="categ_ids" widget="many2many_tags"/>
32                 </field>
33             </field>
34         </record>
35
36         <record id="view_sales_order_filter_inherit" model="ir.ui.view">
37             <field name="name">sale.order.list.select</field>
38             <field name="model">sale.order</field>
39             <field name="inherit_id" ref="sale.view_sales_order_filter"/>
40             <field name="arch" type="xml">
41                 <xpath expr="//filter[@name='my_sale_orders_filter']" position="after">
42                     <separator/>
43                     <filter string="My Sales Team(s)"
44                         icon="terp-personal+"
45                         domain="[('section_id.user_id','=',uid)]"
46                         help="My Sales Team(s)"  groups="base.group_multi_salesteams"/>
47                 </xpath>
48                 <xpath expr="//field[@name='user_id']" position="after">
49                     <field name="section_id" string="Sales Team" groups="base.group_multi_salesteams"/>
50                 </xpath>
51             </field>
52         </record>
53
54         <!-- Update account invoice list view!-->
55         <record model="ir.ui.view" id="account_invoice_tree">
56             <field name="name">Account Invoice</field>
57             <field name="model">account.invoice</field>
58             <field name="inherit_id" ref="account.invoice_tree"/>
59             <field name="arch" type="xml">
60                 <data>
61                     <xpath expr="//field[@name='user_id']" position="after">
62                         <field name="section_id" string="Sales Team" groups="base.group_multi_salesteams"/>
63                     </xpath>
64                 </data>
65             </field>
66         </record>
67
68         <!-- Update account invoice search view!-->
69         <record id="account_invoice_groupby_inherit" model="ir.ui.view">
70             <field name="name">account.invoice.groupby</field>
71             <field name="model">account.invoice</field>
72             <field name="inherit_id" ref="account.view_account_invoice_filter"/>
73             <field name="arch" type="xml">
74                 <xpath expr="//field[@name='user_id']" position="after">
75                     <field name="section_id"/>
76                 </xpath>
77                 <xpath expr="//group/filter[@string='Due Date']" position="after">
78                     <filter string="Sales Team" domain="[]" context="{'group_by':'section_id'}" groups="base.group_multi_salesteams"/>
79                 </xpath>
80             </field>
81         </record>
82
83         <!-- Update account invoice !-->
84         <record model="ir.ui.view" id="account_invoice_form">
85             <field name="name">Account Invoice</field>
86             <field name="model">account.invoice</field>
87             <field name="inherit_id" ref="account.invoice_form"/>
88             <field name="arch" type="xml">
89                 <data>
90                     <xpath expr="//field[@name='user_id']" position="after">
91                         <field name="section_id" groups="base.group_multi_salesteams"/>
92                     </xpath>
93                 </data>
94             </field>
95         </record>
96
97         <!-- Update user form !-->
98         <record model="ir.ui.view" id="res_user_form">
99             <field name="name">Users Preferences</field>
100             <field name="model">res.users</field>
101             <field name="inherit_id" ref="base.view_users_form"/>
102             <field name="arch" type="xml">
103                 <data>
104                     <xpath expr="//field[@name='email']" position="after">
105                         <field name="default_section_id"/>
106                     </xpath>
107                 </data>
108             </field>
109         </record>
110
111         <!-- Update Preferences form !-->
112         <record id="view_users_form_preferences" model="ir.ui.view">
113             <field name="name">res.users.preferences.form</field>
114             <field name="model">res.users</field>
115             <field name="inherit_id" ref="base.view_users_form_simple_modif"/>
116             <field name="arch" type="xml">
117             <data>
118                     <xpath expr="//field[@name='company_id']" position="before">
119                         <field name="default_section_id"/>
120                     </xpath>
121                 </data>
122             </field>
123         </record>
124
125         <!-- search by Salesteams -->
126
127         <record id="action_orders_salesteams" model="ir.actions.act_window">
128             <field name="name">Sales Orders</field>
129             <field name="type">ir.actions.act_window</field>
130             <field name="res_model">sale.order</field>
131             <field name="view_type">form</field>
132             <field name="view_mode">tree,form,calendar,graph</field>
133             <field name="search_view_id" ref="sale.view_sales_order_filter"/>
134             <field name="domain">[('state','not in',('draft','sent','cancel'))]</field>
135             <field name="context">{
136                     'search_default_section_id': [active_id],
137                     'default_section_id': active_id,
138                 }
139             </field>
140             <field name="help" type="html">
141               <p class="oe_view_nocontent_create">
142                 Click to create a quotation that can be converted into a sales
143                 order.
144               </p><p>
145                 OpenERP will help you efficiently handle the complete sales flow:
146                 quotation, sales order, delivery, invoicing and payment.
147               </p>
148             </field>
149         </record>
150
151         <record id="action_quotations_salesteams" model="ir.actions.act_window">
152             <field name="name">Quotations</field>
153             <field name="type">ir.actions.act_window</field>
154             <field name="res_model">sale.order</field>
155             <field name="view_type">form</field>
156             <field name="view_id" ref="sale.view_quotation_tree"/>
157             <field name="view_mode">tree,form,calendar,graph</field>
158             <field name="context">{
159                     'search_default_section_id': [active_id],
160                     'default_section_id': active_id,
161                     'show_address': 1,
162                 }
163             </field>
164             <field name="domain">[('state','in',('draft','sent','cancel'))]</field>
165             <field name="search_view_id" ref="sale.view_sales_order_filter"/>
166             <field name="help" type="html">
167               <p class="oe_view_nocontent_create">
168                 Click to create a quotation, the first step of a new sale.
169               </p><p>
170                 OpenERP will help you handle efficiently the complete sale flow:
171                 from the quotation to the sales order, the
172                 delivery, the invoicing and the payment collection.
173               </p><p>
174                 The social feature helps you organize discussions on each sales
175                 order, and allow your customers to keep track of the evolution
176                 of the sales order.
177               </p>
178             </field>
179         </record>
180
181         <record id="action_invoice_salesteams" model="ir.actions.act_window">
182             <field name="name">Invoices</field>
183             <field name="res_model">account.invoice</field>
184             <field name="view_type">form</field>
185             <field name="view_mode">tree,form,calendar,graph</field>
186             <field name="view_id" ref="account.invoice_tree"/>
187             <field name="domain">[
188                 ('state', 'not in', ['draft', 'cancel']),
189                 ('type', '=', 'out_invoice')]</field>
190             <field name="context">{
191                     'search_default_section_id': [active_id],
192                     'default_section_id': active_id,
193                     'default_type':'out_invoice',
194                     'type':'out_invoice',
195                     'journal_type': 'sale',
196                 }
197             </field>
198             <field name="search_view_id" ref="account.view_account_invoice_filter"/>
199         </record>
200
201         <record id="action_invoice_salesteams_view_tree" model="ir.actions.act_window.view">
202             <field name="sequence">1</field>
203             <field name="view_mode">tree</field>
204             <field name="act_window_id" ref="sale_crm.action_invoice_salesteams"/>
205         </record>
206
207         <record id="action_invoice_salesteams_view_form" model="ir.actions.act_window.view">
208             <field name="sequence">2</field>
209             <field name="view_mode">form</field>
210             <field name="view_id" ref="account.invoice_form"/>
211             <field name="act_window_id" ref="sale_crm.action_invoice_salesteams"/>
212         </record>
213
214         <record id="crm_case_section_salesteams_view_form" model="ir.ui.view">
215             <field name="name">crm.case.section.form</field>
216             <field name="model">crm.case.section</field>
217             <field name="inherit_id" ref="crm.crm_case_section_view_form"/>
218             <field name="arch" type="xml">
219             <data>
220                 <field name="target_duration" position="before">
221                     <field name="target_invoice"/>
222                 </field>
223             </data>
224             </field>
225         </record>
226
227         <record id="crm_case_section_salesteams_view_kanban" model="ir.ui.view">
228             <field name="name">crm.case.section.kanban</field>
229             <field name="model">crm.case.section</field>
230             <field name="inherit_id" ref="crm.crm_case_section_salesteams_view_kanban"/>
231             <field name="arch" type="xml">
232             <data>
233                 <xpath expr="//field[@name='name']" position="after">
234                     <field name="created_quotation_per_duration"/>
235                     <field name="validate_saleorder_per_duration"/>
236                     <field name="sent_invoice_per_duration"/>
237
238                     <field name="forecast"/>
239                     <field name="target_invoice"/>
240                 </xpath>
241                 <xpath expr="//div[@class='oe_salesteams_leads']" position="after"><div class="oe_salesteams_orders">
242                         <a name="%(action_orders_salesteams)d" type="action">Sales Orders</a>
243                         <a name="%(sale.action_order_report_all)d" type="action" class="oe_sparkline_bar_link"><field name="validate_saleorder_per_duration" widget="sparkline_bar">Revenue of confirmed sales orders per <t t-esc="record.target_duration_txt.value"/>).<br/>Click the acces to Sales Analysis</field></a>
244                     </div></xpath>
245                 <xpath expr="//div[@class='oe_salesteams_opportunities']" position="after"><div class="oe_salesteams_invoices">
246                         <a name="%(action_invoice_salesteams)d" type="action" groups="account.group_account_invoice">Invoices</a>
247                         <a name="%(account.action_account_invoice_report_all)d" type="action" class="oe_sparkline_bar_link"><field name="sent_invoice_per_duration" widget="sparkline_bar">Revenue of sent invoices per <t t-esc="record.target_duration_txt.value"/>.<br/>Click to see a detailed analysis of invoices.</field></a>
248                     </div><div class="oe_salesteams_quotations">
249                         <a name="%(action_quotations_salesteams)d" type="action" class="oe_sparkline_bar_link">Quotations</a>
250                         <a name="%(sale.action_order_report_all)d" type="action" class="oe_sparkline_bar_link"><field name="created_quotation_per_duration" widget="sparkline_bar">Revenue of created quotation per <t t-esc="record.target_duration_txt.value"/>.<br/>Click to see a detailed analysis of sales.</field></a>
251                     </div></xpath>
252                 <xpath expr="//div[@class='oe_items_list']" position="after">
253                     <div class="oe_center" t-if="record.target_invoice.raw_value">
254                         <field name="sent_invoice_per_duration" widget="gage" style="width:160px; height: 120px;" options="{'max_field': 'target_invoice', 'label_field': 'target_duration_txt'}">Invoiced</field>
255                         <field name="forecast" widget="gage" style="width:160px; height: 120px;" options="{'max_field': 'target_invoice', 'label_field': 'target_duration_txt', 'action_change': 'action_forecast'}">Forecast</field>
256                     </div>
257                     <div class="oe_center" style="color:#bbbbbb;" t-if="!record.target_invoice.raw_value">
258                         <br/>Define an invoicing target in the sales team settings to see the period's achievement and forecast at a glance.
259                     </div>
260                 </xpath>
261             </data>
262             </field>
263         </record>
264     </data>
265 </openerp>