[FIX] opt-in, opt-out in opportunities and typo
[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_change_optin(optin)"/>
155                         <field name="optout" on_change="on_change_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="%(crm.action_crm_send_mail)d"
174                                 context="{'mail':'reply', 'model': 'crm.lead', 'include_original' : True}"
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"
191                                             string="Reply"
192                                             name="%(crm.action_crm_send_mail)d"
193                                             context="{'mail':'reply', 'model': 'crm.lead', 'include_original' : True}"
194                                             icon="terp-mail-replied" type="action" />
195                                     </group>
196                                     <group attrs="{'invisible': [('history', '=', True)]}">
197                                         <field name="display_text" colspan="4" nolabel="1"  height="250"/>
198                                     </group>
199                                 </page>
200                                 <page string="Attachments">
201                                     <field name="attachment_ids" colspan="4" readonly="1" nolabel="1"/>
202                                 </page>
203                             </notebook>
204                         </form>
205                     </field>
206                     <button string="Add Internal Note"
207                         name="%(crm.action_crm_add_note)d"
208                         context="{'model': 'crm.lead' }"
209                         icon="terp-document-new" type="action" />
210                     <button string="Send New Email"
211                         name="%(crm.action_crm_send_mail)d"
212                         context="{'mail':'new', 'model': 'crm.lead'}"
213                         icon="terp-mail-message-new" type="action" />
214                  </page>
215                 </notebook>
216             </form>
217         </field>
218     </record>
219
220     <!-- CRM Lead Tree View -->
221
222     <record model="ir.ui.view" id="crm_case_tree_view_leads">
223         <field name="name">Leads</field>
224         <field name="model">crm.lead</field>
225         <field name="type">tree</field>
226         <field name="arch" type="xml">
227             <tree string="Leads"  colors="blue:state=='pending';grey:state in ('cancel', 'done')">
228                 <field name="date_deadline" invisible="1"/>
229                 <field name="create_date"/>
230                 <field name="name" string="Subject"/>
231                 <field name="contact_name"/>
232                 <field name="country_id" invisible="context.get('invisible_country', True)" />
233                 <field name="email_from"/>
234                 <field name="phone"/>
235
236                 <field name="categ_id" invisible="1"/>
237                 <field name="type_id" invisible="1"/>
238                 <field name="referred" invisible="1"/>
239                 <field name="channel_id" invisible="1"/>
240
241                 <field name="stage_id"/>
242                 <button name="stage_previous" string="Previous Stage"
243                     states="open,pending" type="object" icon="gtk-go-back" />
244                 <button name="stage_next" string="Next Stage"
245                     states="open,pending" type="object"
246                     icon="gtk-go-forward" />
247                 <field name="section_id" invisible="context.get('invisible_section', True)" />
248                 <field name="user_id" />
249                 <field name="state" />
250                 <button name="case_open" string="Open"
251                     states="draft,pending" type="object"
252                     icon="gtk-go-forward" />
253                 <button name="case_close" string="Close"
254                     states="open,draft,pending" type="object"
255                     icon="gtk-close" />
256                 <button string="Convert to Opportunity"
257                     name="convert_opportunity"
258                     states="draft,open,pending" icon="gtk-go-forward"
259                     type="object" />
260                 <button name="case_escalate" string="Escalate"
261                     states="open,draft,pending" type="object"
262                     icon="gtk-go-up" />
263             </tree>
264         </field>
265     </record>
266
267     <!-- CRM Lead Calendar View -->
268
269     <record model="ir.ui.view" id="crm_case_calendar_view_leads">
270         <field name="name">CRM - Leads Calendar</field>
271         <field name="model">crm.lead</field>
272         <field name="type">calendar</field>
273         <field name="priority" eval="2"/>
274         <field name="arch" type="xml">
275             <calendar string="Leads Generation"
276                 date_start="create_date" color="user_id">
277                 <field name="name" />
278                 <field name="partner_name" />
279                 <field name="partner_address_id" />
280             </calendar>
281         </field>
282     </record>
283
284     <!-- CRM Lead Search View -->
285
286     <record id="view_crm_case_leads_filter" model="ir.ui.view">
287         <field name="name">CRM - Leads Search</field>
288         <field name="model">crm.lead</field>
289         <field name="type">search</field>
290         <field name="arch" type="xml">
291             <search string="Search Leads">
292                 <filter icon="terp-check"
293                     string="Current"
294                     name="current" help="Draft and Open Leads"
295                     domain="[('state','in',('draft','open'))]"/>
296                 <filter icon="terp-camera_test"
297                     string="Open"
298                     domain="[('state','=','open')]"/>
299                 <filter icon="terp-gtk-media-pause"
300                     string="Pending"
301                     domain="[('state','=','pending')]"/>
302
303                 <separator orientation="vertical"/>
304                 <filter icon="terp-go-today" string="Today"
305                     domain="[('create_date','&lt;', time.strftime('%%Y-%%m-%%d 23:59:59')), ('create_date','&gt;=', time.strftime('%%Y-%%m-%%d 00:00:00'))]"
306                     help="Todays' Leads" />
307                 <filter icon="terp-go-week" string="7 Days"
308                     help="Leads creating during last 7 days"
309                     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'))]"
310                 />
311                 <separator orientation="vertical"/>
312                 <field name="name" string="Subject"/>
313                 <field name="partner_name"/>
314                 <field name="email_from"/>
315                 <field name="user_id">
316                     <filter icon="terp-personal-"
317                         domain="[('user_id','=', False)]"
318                         help="Unassigned Leads" />
319                 </field>
320                 <field name="section_id" widget="selection"
321                     context="{'invisible_section': False}">
322                     <filter icon="terp-personal+" groups="base.group_extended"
323                         context="{'invisible_section': False}"
324                         domain="['|', ('section_id', '=', context.get('section_id')), '|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
325                         help="My Sales Team(s)"/>
326                     <filter icon="terp-personal+" groups="base.group_extended"
327                         context="{'invisible_section': False}"
328                         domain="[]"
329                         help="Show Sales Team"/>
330                 </field>
331                 <newline/>
332
333                 <group expand="0" string="Extended Filters..." groups="base.group_extended">
334                       <field name="stage_id" widget="selection" domain="[('type', '=', 'lead')]"/>
335                       <field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
336                       <separator orientation="vertical"/>
337                       <field name="country_id" context="{'invisible_country': False}">
338                           <filter icon="terp-personal+" context="{'invisible_country': False}" help="Show countries"/>
339                       </field>
340                       <separator orientation="vertical"/>
341                       <field name="company_id" widget="selection" groups="base.group_multi_company"/>
342                       <newline/>
343                       <field name="create_date" string="Creation Date"/>
344                       <field name="date_closed"/>
345                 </group>
346                 <newline/>
347                 <group expand="0" string="Group By...">
348                     <filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
349                     <filter string="Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}"/>
350                     <filter string="Referrer" icon="terp-personal" domain="[]" context="{'group_by':'referred'}"/>
351                     <separator orientation="vertical"/>
352                     <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}"/>
353                     <filter string="Campaign" icon="terp-gtk-jump-to-rtl"
354                         domain="[]" context="{'group_by':'type_id'}" />
355                     <filter string="Channel" icon="terp-call-start"
356                         domain="[]" context="{'group_by':'channel_id'}" />
357                     <separator orientation="vertical"/>
358                     <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
359                     <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
360                     <separator orientation="vertical"/>
361                     <filter string="Creation" help="Create date" icon="terp-go-month"
362                         domain="[]" context="{'group_by':'create_date'}" />
363                 </group>
364            </search>
365         </field>
366     </record>
367 </data>
368 </openerp>