[MERGE]
[odoo/odoo.git] / addons / crm / crm_lead_view.xml
1 <?xml version="1.0"?>
2 <openerp>
3 <data>
4
5     <!--Lead Stage Form view -->
6
7     <record id="crm_lead_stage_act" model="ir.actions.act_window">
8         <field name="name">Stages</field>
9         <field name="res_model">crm.case.stage</field>
10         <field name="view_type">form</field>
11         <field name="view_id" ref="crm.crm_case_stage_tree"/>
12         <field name="domain">[('type', '=', 'lead')]</field>
13         <field name="context">{'type':'lead'}</field>
14         <field name="help">Add specific stages to leads and opportunities allowing your sales to better organise their sales pipeline. Stages will allow them to easily track how a specific lead or opportunity is positioned in the sales cycle.</field>
15     </record>
16
17
18
19      <menuitem action="crm_lead_stage_act" id="menu_crm_lead_stage_act" name="Stages"
20         groups="base.group_extended" sequence="0"
21         parent="base.menu_crm_config_lead" />
22
23
24         <!-- Lead/Opportunity Categories Action -->
25
26         <record id="crm_lead_categ_action" model="ir.actions.act_window">
27             <field name="name">Categories</field>
28             <field name="res_model">crm.case.categ</field>
29             <field name="view_type">form</field>
30             <field name="view_id" ref="crm_case_categ_tree-view"/>
31             <field name="context">{'object_id': 'crm.lead'}</field>
32             <field name="domain">[('object_id.model', '=', 'crm.lead')]</field>
33             <field name="help">Create specific categories that fit your company's activities to better classify and analyse your leads and opportunities. Such categories could for instance reflect your product structure or the different types of sales you do.</field>
34         </record>
35
36         <menuitem action="crm_lead_categ_action"
37             id="menu_crm_lead_categ" name="Categories"
38             parent="base.menu_crm_config_lead" sequence="1"/>
39
40
41         <!-- CRM Lead Form View  -->
42         <record model="ir.ui.view" id="crm_case_form_view_leads">
43         <field name="name">CRM - Leads Form</field>
44         <field name="model">crm.lead</field>
45         <field name="type">form</field>
46         <field name="arch" type="xml">
47             <form string="Leads Form">
48                 <group colspan="4" col="7">
49                     <field name="name" required="1" string="Subject"/>
50                     <field name="priority"/>
51                     <field name="categ_id"
52                         widget="selection"
53                         domain="[('object_id.model','=','crm.lead')]"/>
54                     <button
55                          name="convert_opportunity"
56                          string="Convert to Opportunity"
57                          help="Convert to Opportunity" icon="gtk-go-forward"
58                          type="object"/>
59                     <newline />
60                     <field name="user_id" />
61                     <field name="section_id" widget="selection" />
62                     <field name="stage_id" domain="[('type','=','lead'),('section_ids', '=', section_id)]" />
63                     <group col="2" colspan="1">
64                         <button name="stage_previous" string=""
65                             states="open,pending,draft" type="object"
66                             icon="gtk-go-back" context="{'stage_type': 'lead'}" />
67                         <button name="stage_next" string=""
68                             states="open,pending,draft" type="object"
69                             icon="gtk-go-forward" context="{'stage_type': 'lead'}" />
70                     </group>
71                     <field name="type" invisible="1"/>
72                 </group>
73                 <notebook colspan="4">
74                 <page string="Lead">
75                     <group colspan="4" col="2">
76                         <field name="partner_name" string="Partner Name" />
77                     </group>
78                     <group colspan="2" col="4">
79                         <separator string="Contact" colspan="4" col="4"/>
80                         <field name="contact_name" colspan="4"/>
81                         <newline/>
82                         <field domain="[('domain', '=', 'contact')]" name="title" widget="selection"/>
83                         <field name="function" />
84                         <field name="street" colspan="4"/>
85                         <field name="street2" colspan="4"/>
86                         <field name="zip"/>
87                         <field name="city"/>
88                         <field name="country_id"/>
89                         <field name="state_id"/>
90                     </group>
91                     <group colspan="2" col="3">
92                         <separator string="Communication  History" colspan="4" col="3"/>
93                         <field name="email_from" widget="email"/>
94                         <newline/>
95                         <field name="phone"/>
96                         <newline/>
97                         <field name="fax"/>
98                         <newline/>
99                         <field name="mobile"/>
100                         <newline/>
101                         <separator string="Links" colspan="4" col="3"/>
102                         <field name="partner_id" on_change="onchange_partner_id(partner_id, email_from)" string="Customer"/>
103                         <button
104                             name="%(action_crm_lead2partner)d"
105                             icon="terp-partner" type="action"
106                             string="Create"
107                             attrs="{'invisible':[('partner_id','!=',False)]}"/>
108                     </group>
109                     <separator colspan="4" string="Notes"/>
110                     <field name="description" nolabel="1" colspan="4"/>
111                     <separator colspan="4"/>
112                     <group col="8" colspan="4">
113                         <field name="state"/>
114                         <button name="case_cancel" string="Cancel"
115                             states="draft,open,pending" type="object"
116                             icon="gtk-cancel" />
117                         <button name="case_open" string="Open"
118                             states="draft,pending" type="object"
119                             icon="gtk-go-forward" />
120                         <button name="case_mark_lost" string="Close"
121                             states="open,pending" type="object"
122                             icon="gtk-close" />
123                         <button name="case_pending" string="Pending"
124                             states="open" type="object"
125                             icon="gtk-media-pause" />
126                         <button name="case_escalate" string="Escalate"
127                             states="open,pending" type="object"
128                             groups="base.group_extended"
129                             icon="gtk-go-up" />
130                         <button name="case_reset"
131                             string="Reset to Draft" states="done,cancel"
132                             type="object" icon="gtk-convert" />
133                     </group>
134                  </page>
135                  <page string="Extra Info" groups="base.group_extended">
136                     <group colspan="2" col="2">
137                         <separator string="Categorization" colspan="2" col="2"/>
138                         <field name="company_id"
139                             groups="base.group_multi_company"
140                             widget="selection" colspan="2" />
141                         <field name="type_id" select="1" widget="selection"/>
142                         <field name="channel_id" select="1" widget="selection"/>
143                         <field name="referred"/>
144                     </group>
145                     <group colspan="2" col="2">
146                         <separator string="Dates" colspan="2" col="2"/>
147                         <field name="create_date"/>
148                         <field name="write_date"/>
149                         <field name="date_open"/>
150                         <field name="date_closed"/>
151                     </group>
152                     <group colspan="2" col="2">
153                         <separator string="Mailings" colspan="2" col="2"/>
154                         <field name="optin" on_change="on_chnage_optin(optin)"/>
155                         <field name="optout" on_change="on_chnage_optout(optout)"/>
156                     </group>
157                     <group colspan="2" col="2">
158                         <separator string="Statistics" colspan="2" col="2"/>
159                         <field name="day_open"/>
160                         <field name="day_close"/>
161                     </group>
162                  </page>
163                  <page string="Communication &amp; History" groups="base.group_extended">
164                    <group colspan="4">
165                        <field colspan="4" name="email_cc" widget="char" size="512"/>
166                    </group>
167                     <field name="message_ids" colspan="4" nolabel="1" mode="tree,form">
168                         <tree string="Communication history">
169                             <field name="display_text" string="History Information"/>
170                             <field name="history" invisible="1"/>
171                             <button
172                                 string="Reply" attrs="{'invisible': [('history', '!=', True)]}"
173                                 name="%(emails.action_email_compose_message_wizard)d"
174                                 context="{'mail':'reply', 'message_id':active_id}"
175                                 icon="terp-mail-replied" type="action" />
176                         </tree>
177                         <form string="Communication history">
178                             <group col="4" colspan="4">
179                                 <field name="email_from"/>
180                                 <field name="date"/>
181                                 <field name="email_to" widget="char" size="512"/>
182                                 <field name="email_cc" widget="char" size="512"/>
183                                 <field name="name" colspan="4" widget="char" size="512"/>
184                                 <field name="history" invisible="1"/>
185                             </group>
186                             <notebook colspan="4">
187                                 <page string="Details">
188                                     <group attrs="{'invisible': [('history', '!=', True)]}">
189                                         <field name="description" colspan="4" nolabel="1" height="250"/>
190                                         <button colspan="4" string="Reply"
191                                             name="%(emails.action_email_compose_message_wizard)d"
192                                             context="{'mail':'reply', 'message_id':active_id}"
193                                             icon="terp-mail-replied" type="action"/>
194                                     </group>
195                                     <group attrs="{'invisible': [('history', '=', True)]}">
196                                         <field name="display_text" colspan="4" nolabel="1"  height="250"/>
197                                     </group>
198                                 </page>
199                                 <page string="Attachments">
200                                     <field name="attachment_ids" colspan="4" readonly="1" nolabel="1"/>
201                                 </page>
202                             </notebook>
203                         </form>
204                     </field>
205                     <button string="Add Internal Note"
206                         name="%(crm.action_crm_add_note)d"
207                         context="{'model': 'crm.lead' }"
208                         icon="terp-document-new" type="action" />
209                     <button string="Send New Email"
210                         name="%(emails.action_email_compose_message_wizard)d"
211                         context="{'mail':'new'}"
212                         icon="terp-mail-message-new" type="action"/>
213                  </page>
214                 </notebook>
215             </form>
216         </field>
217     </record>
218
219     <!-- CRM Lead Tree View -->
220
221     <record model="ir.ui.view" id="crm_case_tree_view_leads">
222         <field name="name">Leads</field>
223         <field name="model">crm.lead</field>
224         <field name="type">tree</field>
225         <field name="arch" type="xml">
226             <tree string="Leads"  colors="blue:state=='pending';grey:state in ('cancel', 'done')">
227                 <field name="date_deadline" invisible="1"/>
228                 <field name="create_date"/>
229                 <field name="name" string="Subject"/>
230                 <field name="contact_name"/>
231                 <field name="country_id" invisible="context.get('invisible_country', True)" />
232                 <field name="email_from"/>
233                 <field name="phone"/>
234
235                 <field name="categ_id" invisible="1"/>
236                 <field name="type_id" invisible="1"/>
237                 <field name="referred" invisible="1"/>
238                 <field name="channel_id" invisible="1"/>
239
240                 <field name="stage_id"/>
241                 <button name="stage_previous" string="Previous Stage"
242                     states="open,pending" type="object" icon="gtk-go-back" />
243                 <button name="stage_next" string="Next Stage"
244                     states="open,pending" type="object"
245                     icon="gtk-go-forward" />
246                 <field name="section_id" invisible="context.get('invisible_section', True)" />
247                 <field name="user_id" />
248                 <field name="state" />
249                 <button name="case_open" string="Open"
250                     states="draft,pending" type="object"
251                     icon="gtk-go-forward" />
252                 <button name="case_close" string="Close"
253                     states="open,draft,pending" type="object"
254                     icon="gtk-close" />
255                 <button string="Convert to Opportunity"
256                     name="convert_opportunity"
257                     states="draft,open,pending" icon="gtk-go-forward"
258                     type="object" />
259                 <button name="case_escalate" string="Escalate"
260                     states="open,draft,pending" type="object"
261                     icon="gtk-go-up" />
262             </tree>
263         </field>
264     </record>
265
266     <!-- CRM Lead Calendar View -->
267
268     <record model="ir.ui.view" id="crm_case_calendar_view_leads">
269         <field name="name">CRM - Leads Calendar</field>
270         <field name="model">crm.lead</field>
271         <field name="type">calendar</field>
272         <field name="priority" eval="2"/>
273         <field name="arch" type="xml">
274             <calendar string="Leads Generation"
275                 date_start="create_date" color="user_id">
276                 <field name="name" />
277                 <field name="partner_name" />
278                 <field name="partner_address_id" />
279             </calendar>
280         </field>
281     </record>
282
283     <!-- CRM Lead Search View -->
284
285     <record id="view_crm_case_leads_filter" model="ir.ui.view">
286         <field name="name">CRM - Leads Search</field>
287         <field name="model">crm.lead</field>
288         <field name="type">search</field>
289         <field name="arch" type="xml">
290             <search string="Search Leads">
291                 <filter icon="terp-check"
292                     string="Current"
293                     name="current" help="Draft and Open Leads"
294                     domain="[('state','in',('draft','open'))]"/>
295                 <filter icon="terp-camera_test"
296                     string="Open"
297                     domain="[('state','=','open')]"/>
298                 <filter icon="terp-gtk-media-pause"
299                     string="Pending"
300                     domain="[('state','=','pending')]"/>
301
302                 <separator orientation="vertical"/>
303                 <filter icon="terp-go-today" string="Today"
304                     domain="[('create_date','&lt;', time.strftime('%%Y-%%m-%%d 23:59:59')), ('create_date','&gt;=', time.strftime('%%Y-%%m-%%d 00:00:00'))]"
305                     help="Todays' Leads" />
306                 <filter icon="terp-go-week" string="7 Days"
307                     help="Leads creating during last 7 days"
308                     domain="[('create_date','&lt;', time.strftime('%%Y-%%m-%%d 23:59:59')),('create_date','&gt;=',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d 00:00:00'))]"
309                 />
310                 <separator orientation="vertical"/>
311                 <field name="name" string="Subject"/>
312                 <field name="partner_name"/>
313                 <field name="email_from"/>
314                 <field name="user_id">
315                     <filter icon="terp-personal-"
316                         domain="[('user_id','=', False)]"
317                         help="Unassigned Leads" />
318                 </field>
319                 <field name="section_id" widget="selection"
320                     context="{'invisible_section': False}">
321                     <filter icon="terp-personal+" groups="base.group_extended"
322                         context="{'invisible_section': False}"
323                         domain="['|', ('section_id', '=', context.get('section_id')), '|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
324                         help="My Sales Team(s)"/>
325                     <filter icon="terp-personal+" groups="base.group_extended"
326                         context="{'invisible_section': False}"
327                         domain="[]"
328                         help="Show Sales Team"/>
329                 </field>
330                 <newline/>
331
332                 <group expand="0" string="Extended Filters..." groups="base.group_extended">
333                       <field name="stage_id" widget="selection" domain="[('type', '=', 'lead')]"/>
334                       <field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
335                       <separator orientation="vertical"/>
336                       <field name="country_id" context="{'invisible_country': False}">
337                           <filter icon="terp-personal+" context="{'invisible_country': False}" help="Show countries"/>
338                       </field>
339                       <separator orientation="vertical"/>
340                       <field name="company_id" widget="selection" groups="base.group_multi_company"/>
341                       <newline/>
342                       <field name="create_date" string="Creation Date"/>
343                       <field name="date_closed"/>
344                 </group>
345                 <newline/>
346                 <group expand="0" string="Group By...">
347                     <filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
348                     <filter string="Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}"/>
349                     <filter string="Referrer" icon="terp-personal" domain="[]" context="{'group_by':'referred'}"/>
350                     <separator orientation="vertical"/>
351                     <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}"/>
352                     <filter string="Campaign" icon="terp-gtk-jump-to-rtl"
353                         domain="[]" context="{'group_by':'type_id'}" />
354                     <filter string="Channel" icon="terp-call-start"
355                         domain="[]" context="{'group_by':'channel_id'}" />
356                     <separator orientation="vertical"/>
357                     <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
358                     <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
359                     <separator orientation="vertical"/>
360                     <filter string="Creation" help="Create date" icon="terp-go-month"
361                         domain="[]" context="{'group_by':'create_date'}" />
362                 </group>
363            </search>
364         </field>
365     </record>
366 </data>
367 </openerp>