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