[IMP] read_group full on crm.opportunities for kanban views, need to move this code...
[odoo/odoo.git] / addons / crm / crm_lead_view.xml
1 <?xml version="1.0"?>
2 <openerp>
3 <data>
4
5     <!-- Stage Search view -->
6     <record id="crm_lead_stage_search" model="ir.ui.view">
7         <field name="name">Stage - Search</field>
8         <field name="model">crm.case.stage</field>
9         <field name="type">search</field>
10         <field name="arch" type="xml">
11             <search string="Stage Search">
12                 <field name="name"/>
13             </search>
14         </field>
15     </record>
16
17     <!--Lead Stage Form view -->
18     <record id="crm_lead_stage_act" model="ir.actions.act_window">
19         <field name="name">Stages</field>
20         <field name="res_model">crm.case.stage</field>
21         <field name="view_type">form</field>
22         <field name="view_id" ref="crm.crm_case_stage_tree"/>
23         <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>
24     </record>
25
26      <menuitem action="crm_lead_stage_act" id="menu_crm_lead_stage_act" name="Stages"
27         groups="base.group_extended" sequence="0"
28         parent="base.menu_crm_config_lead" />
29
30
31         <!-- Lead/Opportunity Categories Action -->
32
33         <record id="crm_lead_categ_action" model="ir.actions.act_window">
34             <field name="name">Categories</field>
35             <field name="res_model">crm.case.categ</field>
36             <field name="view_type">form</field>
37             <field name="view_id" ref="crm_case_categ_tree-view"/>
38             <field name="context">{'object_id': 'crm.lead'}</field>
39             <field name="domain">[('object_id.model', '=', 'crm.lead')]</field>
40             <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>
41         </record>
42
43         <menuitem action="crm_lead_categ_action"
44             id="menu_crm_lead_categ" name="Categories"
45             parent="base.menu_crm_config_lead" sequence="1"/>
46
47
48         <!-- CRM Lead Form View  -->
49         <record model="ir.ui.view" id="crm_case_form_view_leads">
50         <field name="name">CRM - Leads Form</field>
51         <field name="model">crm.lead</field>
52         <field name="type">form</field>
53         <field name="arch" type="xml">
54             <form string="Leads Form">
55                 <group colspan="4" col="7">
56                     <field name="name" required="1" string="Subject"/>
57                     <field name="priority"/>
58                     <field name="categ_id"
59                         widget="selection"
60                         domain="[('object_id.model','=','crm.lead')]"/>
61                     <button
62                          name="convert_opportunity"
63                          string="Convert to Opportunity"
64                          help="Convert to Opportunity" icon="gtk-go-forward"
65                          type="object"/>
66                     <newline />
67                     <field name="user_id" />
68                     <field name="section_id" widget="selection" />
69                     <field name="stage_id" domain="[('section_ids', '=', section_id)]" />
70                     <group col="2" colspan="1">
71                         <button name="stage_previous" string=""
72                             states="open,pending,draft" type="object"
73                             icon="gtk-go-back" context="{'stage_type': 'lead'}" />
74                         <button name="stage_next" string=""
75                             states="open,pending,draft" type="object"
76                             icon="gtk-go-forward" context="{'stage_type': 'lead'}" />
77                     </group>
78                     <field name="type" invisible="1"/>
79                 </group>
80                 <notebook colspan="4">
81                 <page string="Lead">
82                     <group colspan="4" col="2">
83                         <field name="partner_name" string="Partner Name" />
84                     </group>
85                     <group colspan="2" col="4">
86                         <separator string="Contact" colspan="4" col="4"/>
87                         <field name="contact_name" colspan="4"/>
88                         <newline/>
89                         <field domain="[('domain', '=', 'contact')]" name="title" widget="selection"/>
90                         <field name="function" />
91                         <field name="street" colspan="4"/>
92                         <field name="street2" colspan="4"/>
93                         <field name="zip"/>
94                         <field name="city"/>
95                         <field name="country_id"/>
96                         <field name="state_id"/>
97                     </group>
98                     <group colspan="2" col="3">
99                         <separator string="Communication" colspan="4" col="3"/>
100                         <field name="email_from" widget="email"/>
101                         <button string="Mail"
102                             name="%(mail.action_email_compose_message_wizard)d"
103                             icon="terp-mail-message-new" type="action" colspan="1"/>
104                         <newline/>
105                         <field name="phone"/>
106                         <newline/>
107                         <field name="fax"/>
108                         <newline/>
109                         <field name="mobile"/>
110                         <newline/>
111                         <separator string="Links" colspan="4" col="3"/>
112                         <field name="partner_id" string="Customer"/>
113                         <button
114                             name="%(action_crm_lead2partner)d"
115                             icon="terp-partner" type="action"
116                             string="Create"
117                             attrs="{'invisible':[('partner_id','!=',False)]}"/>
118                     </group>
119                     <separator colspan="4" string="Notes"/>
120                     <field name="description" nolabel="1" colspan="4"/>
121                     <separator colspan="4"/>
122                     <group col="8" colspan="4">
123                         <field name="state" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/>
124                         <button name="case_cancel" string="Cancel"
125                             states="draft,open,pending" type="object"
126                             icon="gtk-cancel" />
127                         <button name="case_open" string="Open"
128                             states="draft,pending" type="object"
129                             icon="gtk-go-forward" />
130                         <button name="case_mark_lost" string="Close"
131                             states="open,pending" type="object"
132                             icon="gtk-close" />
133                         <button name="case_pending" string="Pending"
134                             states="open" type="object"
135                             icon="gtk-media-pause" />
136                         <button name="case_escalate" string="Escalate"
137                             states="open,pending" type="object"
138                             groups="base.group_extended"
139                             icon="gtk-go-up" />
140                         <button name="case_reset"
141                             string="Reset to Draft" states="done,cancel"
142                             type="object" icon="gtk-convert" />
143                     </group>
144                  </page>
145                  <page string="Extra Info" groups="base.group_extended">
146                     <group colspan="2" col="2">
147                         <separator string="Categorization" colspan="2" col="2"/>
148                         <field name="company_id"
149                             groups="base.group_multi_company"
150                             widget="selection" colspan="2" />
151                         <field name="type_id" select="1" widget="selection"/>
152                         <field name="channel_id" select="1" widget="selection"/>
153                         <field name="referred"/>
154                     </group>
155                     <group colspan="2" col="2">
156                         <separator string="Dates" colspan="2" col="2"/>
157                         <field name="create_date"/>
158                         <field name="write_date"/>
159                         <field name="date_open"/>
160                         <field name="date_closed"/>
161                     </group>
162                     <group colspan="2" col="2">
163                         <separator string="Mailings" colspan="2" col="2"/>
164                         <field name="optin" on_change="on_change_optin(optin)"/>
165                         <field name="optout" on_change="on_change_optout(optout)"/>
166                     </group>
167                     <group colspan="2" col="2">
168                         <separator string="Statistics" colspan="2" col="2"/>
169                         <field name="day_open"/>
170                         <field name="day_close"/>
171                     </group>
172                  </page>
173                  <page string="Communication &amp; History" groups="base.group_extended">
174                    <group colspan="4">
175                        <field colspan="4" name="email_cc" widget="char" size="512"/>
176                    </group>
177                     <field name="message_ids" colspan="4" nolabel="1" mode="tree,form" readonly="1">
178                         <tree string="History">
179                             <field name="display_text" string="History Information"/>
180                             <field name="email_from" invisible="1"/>
181                             <button
182                                 string="Reply" attrs="{'invisible': [('email_from', '=', False)]}"
183                                 name="%(mail.action_email_compose_message_wizard)d"
184                                 context="{'mail.compose.message.mode':'reply', 'message_id':active_id}"
185                                 icon="terp-mail-replied" type="action" />
186                         </tree>
187                         <form string="History">
188                             <group col="4" colspan="4">
189                                 <group col="2" colspan="2" attrs="{'invisible': [('email_from', '=', False)]}">
190                                     <field name="email_from"/>
191                                     <field name="email_to" size="512"/>
192                                 </group>
193                                 <group col="2" colspan="2">
194                                     <field name="date"/>
195                                     <field name="email_cc" size="512" attrs="{'invisible': [('email_from', '=', False)]}"/>
196                                 </group>
197                                 <field name="subject" colspan="4" widget="char" attrs="{'invisible': [('email_from', '=', False)]}" size="512"/>
198                                 <field name="display_text" colspan="4" attrs="{'invisible': [('email_from', '!=', False)]}"/>
199                             </group>
200                             <notebook colspan="4">
201                                 <page string="Details" attrs="{'invisible': [('email_from', '=', False)]}">
202                                     <field name="body_text" colspan="4" nolabel="1"/>
203                                     <group attrs="{'invisible': [('email_from', '=', False)]}">
204                                         <button colspan="4" string="Reply"
205                                             name="%(mail.action_email_compose_message_wizard)d"
206                                             context="{'mail.compose.message.mode':'reply'}"
207                                             icon="terp-mail-replied" type="action"/>
208                                         </group>
209
210                                 </page>
211                                 <page string="Attachments" attrs="{'invisible': [('email_from', '=', False)]}">
212                                     <field name="attachment_ids" colspan="4" readonly="1" nolabel="1"/>
213                                 </page>
214                                 </notebook>
215                         </form>
216                     </field>
217                     <button string="Add Internal Note"
218                         name="%(crm.action_crm_add_note)d"
219                         context="{'model': 'crm.lead' }"
220                         icon="terp-document-new" type="action" />
221                     <button string="Send New Email"
222                         name="%(mail.action_email_compose_message_wizard)d"
223                         icon="terp-mail-message-new" type="action"/>
224                  </page>
225                 </notebook>
226             </form>
227         </field>
228     </record>
229
230     <!-- CRM Lead Tree View -->
231
232     <record model="ir.ui.view" id="crm_case_tree_view_leads">
233         <field name="name">Leads</field>
234         <field name="model">crm.lead</field>
235         <field name="type">tree</field>
236         <field name="arch" type="xml">
237             <tree string="Leads"  colors="blue:state=='pending';grey:state in ('cancel', 'done')">
238                 <field name="date_deadline" invisible="1"/>
239                 <field name="create_date"/>
240                 <field name="name" string="Subject"/>
241                 <field name="contact_name"/>
242                 <field name="country_id" invisible="context.get('invisible_country', True)" />
243                 <field name="email_from"/>
244                 <field name="phone"/>
245
246                 <field name="categ_id" invisible="1"/>
247                 <field name="type_id" invisible="1"/>
248                 <field name="referred" invisible="1"/>
249                 <field name="channel_id" invisible="1"/>
250                 <field name="subjects" invisible="1"/>
251
252                 <field name="stage_id"/>
253                 <button name="stage_previous" string="Previous Stage"
254                     states="open,pending" type="object" icon="gtk-go-back" />
255                 <button name="stage_next" string="Next Stage"
256                     states="open,pending" type="object"
257                     icon="gtk-go-forward" />
258                 <field name="section_id" invisible="context.get('invisible_section', True)" />
259                 <field name="user_id" />
260                 <field name="state" />
261                 <button name="case_open" string="Open"
262                     states="draft,pending" type="object"
263                     icon="gtk-go-forward" />
264                 <button name="case_close" string="Close"
265                     states="open,draft,pending" type="object"
266                     icon="gtk-close" />
267                 <button string="Convert to Opportunity"
268                     name="convert_opportunity"
269                     states="draft,open,pending" icon="gtk-go-forward"
270                     type="object" />
271                 <button name="case_escalate" string="Escalate"
272                     states="open,draft,pending" type="object"
273                     icon="gtk-go-up" />
274             </tree>
275         </field>
276     </record>
277
278     <!-- CRM Lead Calendar View -->
279
280     <record model="ir.ui.view" id="crm_case_calendar_view_leads">
281         <field name="name">CRM - Leads Calendar</field>
282         <field name="model">crm.lead</field>
283         <field name="type">calendar</field>
284         <field name="priority" eval="2"/>
285         <field name="arch" type="xml">
286             <calendar string="Leads Generation"
287                 date_start="date_action" color="user_id">
288                 <field name="name" />
289                 <field name="partner_name" />
290                 <field name="partner_address_id" />
291             </calendar>
292         </field>
293     </record>
294
295     <!-- CRM Lead Kanban View  -->
296     <record model="ir.ui.view" id="crm_case_kanban_view_leads">
297         <field name="name">CRM - Leads Kanban</field>
298         <field name="model">crm.lead</field>
299         <field name="type">kanban</field>
300         <field name="arch" type="xml">
301             <kanban default_group_by="stage_id">
302                 <field name="state"/>
303                 <field name="color"/>
304                 <field name="priority"/>
305                 <field name="planned_revenue" sum="Expected Revenues"/>
306                 <field name="user_email"/>
307                 <templates>
308                     <t t-name="kanban-box">
309                         <t t-set="color" t-value="kanban_color(record.color.raw_value)"/>
310                         <div t-att-class="color + (record.priority.raw_value == 1 ? ' oe_kanban_color_alert' : '')">
311                             <div class="oe_kanban_box oe_kanban_color_border">
312                                 <table class="oe_kanban_table oe_kanban_box_header oe_kanban_color_bgdark oe_kanban_color_border oe_kanban_draghandle">
313                                 <tr>
314                                     <td class="oe_kanban_title3" align="left" valign="middle">
315                                         <a t-if="record.priority.raw_value == 1" icon="star-on" type="object" name="set_normal_priority"/>
316                                         <a t-if="record.priority.raw_value != 1" icon="star-off" type="object" name="set_high_priority" style="opacity:0.6; filter:alpha(opacity=60);"/>
317                                         <field name="partner_id"/>
318                                     </td>
319                                     <td class="oe_kanban_title2" align="right" valign="middle" t-if="record.planned_revenue.raw_value" nowrap="nowrap">
320                                         <t t-esc="Math.round(record.planned_revenue.value)"/> <field name="company_currency"/>
321                                     </td>
322                                     <td valign="top" width="22"><img t-att-src="kanban_gravatar(record.user_email.value, 22)" class="oe_kanban_gravatar"/></td>
323                                 </tr>
324                                 </table>
325
326                                 <div class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_box_show_onclick_trigger">
327                                     <div class="oe_kanban_right oe_kanban_small">
328                                         <field name="user_login"/>
329                                     </div>
330                                     <div>
331                                         <b><field name="partner_address_name"/></b>
332                                     </div>
333                                     <div>
334                                         <field name="name"/>
335                                     </div>
336                                     <div style="padding-left: 0.5em">
337                                         <i><field name="date_action"/><t t-if="record.date_action.raw_value"> : </t><field name="title_action"/></i>
338                                     </div>
339                                 </div>
340
341                                 <div class="oe_kanban_buttons_set oe_kanban_color_border oe_kanban_color_bglight oe_kanban_box_show_onclick">
342                                     <div class="oe_kanban_left">
343                                         <a string="Edit" icon="gtk-edit" type="edit"/>
344                                         <a string="Change Color" icon="color-picker" type="color" name="color"/>
345                                         <a string="Send New Email" name="%(mail.action_email_compose_message_wizard)d" icon="terp-mail-message-new" type="action"/>
346                                         <a string="Schedule/Log Call" name="%(opportunity2phonecall_act)d" icon="terp-call-start" type="action"/>
347                                         <a string="Add Internal Note" name="%(crm.action_crm_add_note)d" context="{'model': 'crm.lead' }" icon="terp-document-new" type="action"/>
348                                         <a string="Schedule Meeting" name="action_makeMeeting" type="object" icon="stock_calendar"/>
349                                     </div>
350                                     <div class="oe_kanban_right">
351                                         <a name="case_pending" string="Pending" states="draft,open" type="object" icon="lead-stage-pending" />
352                                         <a name="case_mark_won" string="Mark Won" states="open,pending" type="object" icon="lead-stage-won" />
353                                         <a name="case_mark_lost" string="Mark Lost" states="open,pending" type="object" icon="lead-stage-lost" />
354                                     </div>
355                                     <br class="oe_kanban_clear"/>
356                                 </div>
357                             </div>
358                         </div>
359                     </t>
360                 </templates>
361             </kanban>
362         </field>
363     </record>
364
365     <!-- CRM Lead Search View -->
366
367     <record id="view_crm_case_leads_filter" model="ir.ui.view">
368         <field name="name">CRM - Leads Search</field>
369         <field name="model">crm.lead</field>
370         <field name="type">search</field>
371         <field name="arch" type="xml">
372             <search string="Search Leads">
373                 <filter icon="terp-check"
374                     string="New"
375                     name="new" help="New Leads"
376                     domain="[('state','=','draft')]"/>
377                 <filter icon="terp-camera_test"
378                     string="Open"
379                     name="open"
380                     domain="[('state','=','open')]"/>
381                 <filter icon="terp-gtk-media-pause"
382                     string="Pending"
383                     name="pending"
384                     domain="[('state','=','pending')]"/>
385
386                 <separator orientation="vertical"/>
387                 <filter icon="terp-go-today" string="Today"
388                     domain="[('create_date','&lt;', time.strftime('%%Y-%%m-%%d 23:59:59')), ('create_date','&gt;=', time.strftime('%%Y-%%m-%%d 00:00:00'))]"
389                     help="Todays' Leads" />
390                 <filter icon="terp-go-week" string="7 Days"
391                     help="Leads creating during last 7 days"
392                     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'))]"
393                 />
394                 <separator orientation="vertical"/>
395                 <field name="name" string="Lead / Customer"
396                     filter_domain="['|','|',('partner_name','ilike',self),('email_from','ilike',self),('name','ilike',self)]"/>
397                 <field name="user_id">
398                     <filter icon="terp-personal-"
399                         domain="[('user_id','=', False)]"
400                         help="Unassigned Leads" />
401                 </field>
402                 <field name="subjects" groups="base.group_extended"/>
403                 <field name="section_id" widget="selection"
404                     context="{'invisible_section': False}">
405                     <filter icon="terp-personal+" groups="base.group_extended"
406                         context="{'invisible_section': False}"
407                         domain="['|', ('section_id', '=', context.get('section_id')), '|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
408                         help="My Sales Team(s)"/>
409                     <filter icon="terp-personal+" groups="base.group_extended"
410                         context="{'invisible_section': False}"
411                         domain="[]"
412                         help="Show Sales Team"/>
413                 </field>
414                 <separator orientation="vertical"/>
415                 <field name="country_id" context="{'invisible_country': False}">
416                     <filter icon="terp-personal+" context="{'invisible_country': False}" help="Show countries"/>
417                 </field>
418                 <newline/>
419                 <group expand="0" string="Group By...">
420                     <filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
421                     <filter string="Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}"/>
422                     <filter string="Referrer" icon="terp-personal" domain="[]" context="{'group_by':'referred'}"/>
423                     <separator orientation="vertical"/>
424                     <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}"/>
425                     <filter string="Campaign" icon="terp-gtk-jump-to-rtl"
426                         domain="[]" context="{'group_by':'type_id'}" />
427                     <filter string="Channel" icon="terp-call-start"
428                         domain="[]" context="{'group_by':'channel_id'}" />
429                     <separator orientation="vertical"/>
430                     <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
431                     <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
432                     <separator orientation="vertical"/>
433                     <filter string="Creation" help="Create date" icon="terp-go-month"
434                         domain="[]" context="{'group_by':'create_date'}" />
435                 </group>
436            </search>
437         </field>
438     </record>
439
440
441     <!-- Opportunities Form View -->
442     <record model="ir.ui.view" id="crm_case_form_view_oppor">
443         <field name="name">Opportunities</field>
444         <field name="model">crm.lead</field>
445         <field name="type">form</field>
446         <field name="priority">10</field>
447         <field name="arch" type="xml">
448             <form string="Opportunities">
449                 <group colspan="4" col="7">
450                     <field name="name"  required="1" string="Opportunity"/>
451                     <label string="Stage:" align="1.0"/>
452                     <group colspan="1" col="4">
453                         <field name="stage_id" nolabel="1"
454                             on_change="onchange_stage_id(stage_id)"
455                             domain="[('section_ids', '=', section_id)]"/>
456                         <button name="stage_previous"
457                             states="draft,open,pending" type="object"
458                             icon="gtk-go-back" string="" context="{'stage_type': 'opportunity'}"/>
459                         <button name="stage_next" states="draft,open,pending"
460                             type="object" icon="gtk-go-forward" string="" context="{'stage_type': 'opportunity'}"/>
461                     </group>
462                     <field name="user_id"/>
463
464                     <button string="Schedule/Log Call"
465                     name="%(opportunity2phonecall_act)d" icon="terp-call-start" type="action"/>
466
467                     <field name="planned_revenue"/>
468                     <field name="probability"/>
469                     <field name="date_deadline"/>
470
471                     <button name="action_makeMeeting" type="object"
472                     string="Schedule Meeting" icon="gtk-redo" />
473                     <newline/>
474                     <field name="date_action"/>
475                     <field name="title_action"/>
476                     <field name="priority" string="Priority"/>
477                     <newline/>
478                     <field name="type" invisible="1"/>
479                 </group>
480                 <notebook colspan="4">
481                 <page string="Opportunity">
482                     <group col="4" colspan="2">
483                         <separator colspan="4" string="Contacts"/>
484                         <group colspan="2">
485                             <field name="partner_id" select="1"
486                                 on_change="onchange_partner_id(partner_id, email_from)" string="Customer"
487                                 colspan="2" />
488                             <button name="%(action_crm_lead2partner)d"
489                                 icon="terp-partner" type="action"
490                                 string="Create"
491                                 attrs="{'invisible':[('partner_id','!=',False)]}"/>
492                         </group>
493                         <field name="partner_address_id"
494                             string="Contact"
495                             on_change="onchange_partner_address_id(partner_address_id, email_from)"
496                             colspan="1" />
497                         <group col="3" colspan="2">
498                             <field name="email_from" string="Email" />
499                             <button string="Mail"
500                             name="%(mail.action_email_compose_message_wizard)d"
501                             context="{'mail':'new', 'model': 'crm.lead'}"
502                             icon="terp-mail-message-new" type="action" />
503                         </group>
504                             <field name="phone"/>
505
506                     </group>
507                     <group col="2" colspan="2">
508                         <separator colspan="2" string="Categorization"/>
509                         <field name="section_id" colspan="1" widget="selection"/>
510                         <field name="categ_id" select="1"
511                         string="Category" widget="selection"
512                         domain="[('object_id.model', '=', 'crm.lead')]" />
513                     </group>
514
515                     <separator colspan="4" string="Details"/>
516                     <field name="description" nolabel="1" colspan="4"/>
517
518                     <separator colspan="4"/>
519                     <group col="10" colspan="4">
520                         <field name="state" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/>
521                         <button name="case_cancel" string="Cancel" states="draft" type="object" icon="gtk-cancel" />
522                         <button name="case_mark_lost" string="Mark Lost" states="open,pending" type="object" icon="gtk-cancel" />
523                         <button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" icon="gtk-convert" />
524                         <button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward" />
525                         <button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause" />
526                         <button name="case_escalate" string="Escalate" states="open,pending" type="object" groups="base.group_extended" icon="gtk-go-up" />
527                         <button name="case_mark_won" string="Mark Won" states="open,pending" type="object" icon="gtk-apply" />
528                     </group>
529                 </page>
530                 <page string="Lead">
531                     <group colspan="2" col="4">
532                         <separator string="Contact" colspan="4" col="4"/>
533                         <field name="partner_name" string="Customer Name" colspan="4"/>
534                         <newline/>
535                         <field domain="[('domain', '=', 'contact')]" name="title" widget="selection"/>
536                         <field name="function" />
537                         <field name="street" colspan="4"/>
538                         <field name="street2" colspan="4"/>
539                         <field name="zip"/>
540                         <field name="city"/>
541                         <field name="country_id"/>
542                         <field name="state_id"/>
543                     </group>
544                     <group colspan="2" col="2">
545                         <separator string="Communication" colspan="2"/>
546                         <field name="fax"/>
547                         <field name="mobile"/>
548                     </group>
549                     <group colspan="2" col="2">
550                         <separator string="Categorization" colspan="2"/>
551                         <field name="type_id" widget="selection" groups="base.group_extended"/>
552                         <field name="channel_id" widget="selection"/>
553                     </group>
554                     <group colspan="2" col="2">
555                         <separator string="Mailings" colspan="2"/>
556                         <field name="optin" on_change="on_change_optin(optin)"/>
557                         <field name="optout" on_change="on_change_optout(optout)"/>
558                     </group>
559                 </page>
560                 <page string="Communication &amp; History" groups="base.group_extended">
561                   <group colspan="4">
562                       <field colspan="4" name="email_cc" widget="char" size="512"/>
563                   </group>
564                    <field name="message_ids" colspan="4" nolabel="1" mode="tree,form" readonly="1">
565                        <tree string="History">
566                            <field name="display_text" string="History Information"/>
567                            <field name="email_from" invisible="1"/>
568                            <button
569                                string="Reply" attrs="{'invisible': [('email_from', '=', False)]}"
570                                name="%(mail.action_email_compose_message_wizard)d"
571                                context="{'mail.compose.message.mode':'reply', 'message_id':active_id}"
572                                icon="terp-mail-replied" type="action" />
573                        </tree>
574                        <form string="History">
575                            <group col="4" colspan="4">
576                                <group col="2" colspan="2" attrs="{'invisible': [('email_from', '=', False)]}">
577                                    <field name="email_from"/>
578                                    <field name="email_to" size="512"/>
579                                </group>
580                                <group col="2" colspan="2">
581                                    <field name="date"/>
582                                    <field name="email_cc" size="512" attrs="{'invisible': [('email_from', '=', False)]}"/>
583                                </group>
584                                <field name="subject" colspan="4" widget="char" attrs="{'invisible': [('email_from', '=', False)]}" size="512"/>
585                                <field name="display_text" colspan="4" attrs="{'invisible': [('email_from', '!=', False)]}"/>
586                            </group>
587                            <notebook colspan="4">
588                                <page string="Details" attrs="{'invisible': [('email_from', '=', False)]}">
589                                    <field name="body_text" colspan="4" nolabel="1"/>
590                                    <group attrs="{'invisible': [('email_from', '=', False)]}">
591                                        <button colspan="4" string="Reply"
592                                            name="%(mail.action_email_compose_message_wizard)d"
593                                            context="{'mail.compose.message.mode':'reply'}"
594                                            icon="terp-mail-replied" type="action"/>
595                                        </group>
596                                 </page>
597                                <page string="Attachments" attrs="{'invisible': [('email_from', '=', False)]}">
598                                    <field name="attachment_ids" colspan="4" readonly="1" nolabel="1"/>
599                                </page>
600                                </notebook>
601                        </form>
602                    </field>
603                    <button string="Add Internal Note"
604                        name="%(crm.action_crm_add_note)d"
605                        context="{'model': 'crm.lead' }"
606                        icon="terp-document-new" type="action" />
607                    <button string="Send New Email"
608                        name="%(mail.action_email_compose_message_wizard)d"
609                        icon="terp-mail-message-new" type="action"/>
610                 </page>
611                 <page string="Extra Info" groups="base.group_extended">
612                     <group col="2" colspan="2">
613                         <separator string="Dates" colspan="2"/>
614                         <field name="create_date"/>
615                         <field name="write_date"/>
616                         <field name="date_closed"/>
617                         <field name="date_open"/>
618                     </group>
619                     <group col="2" colspan="2">
620                         <separator string="Misc" colspan="2"/>
621                         <field name="active"/>
622                         <field name="day_open"/>
623                         <field name="day_close"/>
624                         <field name="referred"/>
625                     </group>
626                     <separator colspan="4" string="References"/>
627                     <field name="ref"/>
628                     <field name="ref2"/>
629                 </page>
630                 </notebook>
631             </form>
632         </field>
633     </record>
634
635     <!-- Opportunities Tree View -->
636     <record model="ir.ui.view" id="crm_case_tree_view_oppor">
637         <field name="name">Opportunities Tree</field>
638         <field name="model">crm.lead</field>
639         <field name="type">tree</field>
640         <field name="arch" type="xml">
641             <tree string="Opportunities" colors="blue:state=='pending' and not(date_deadline and (date_deadline &lt; current_date));gray:state in ('cancel', 'done');red:date_deadline and (date_deadline &lt; current_date)">
642                 <field name="date_deadline" invisible="1"/>
643                 <field name="create_date"/>
644                 <field name="name" string="Opportunity"/>
645                 <field name="partner_id" string="Customer"/>
646                 <field name="country_id" invisible="context.get('invisible_country', True)" />
647                 <field name="date_action"/>
648                 <field name="title_action" />
649                 <field name="channel_id" invisible="1"/>
650                 <field name="type_id" invisible="1"/>
651                 <field name="subjects" invisible="1"/>
652                 <field name="stage_id"/>
653                 <button name="stage_previous" string="Previous Stage" states="open,pending" type="object" icon="gtk-go-back" />
654                 <button name="stage_next" string="Next Stage" states="open,pending" type="object" icon="gtk-go-forward" />
655                 <field name="planned_revenue" sum="Expected Revenues"/>
656                 <field name="probability" widget="progressbar" avg="Avg. of Probability"/>
657                 <field name="section_id" invisible="context.get('invisible_section', True)" />
658                 <field name="user_id"/>
659                 <field name="priority" invisible="1"/>
660                 <field name="categ_id" invisible="1"/>
661                 <field name="state"/>
662                 <button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward" />
663                 <button name="case_pending" string="Pending" states="open,draft" type="object" icon="gtk-media-pause" />
664                 <button name="case_mark_lost" string="Lost" states="open,pending" type="object" icon="gtk-cancel" />
665                 <button name="case_mark_won" string="Won" states="open,pending" type="object" icon="gtk-apply" />
666             </tree>
667         </field>
668     </record>
669
670
671     <!-- Opportunities Search View -->
672     <record id="view_crm_case_opportunities_filter" model="ir.ui.view">
673         <field name="name">CRM - Opportunities Search</field>
674         <field name="model">crm.lead</field>
675         <field name="type">search</field>
676         <field name="arch" type="xml">
677             <search string="Search Opportunities">
678                 <filter icon="terp-check"
679                     string="New"  help="New Opportunities"
680                     name="new"
681                     domain="[('state','=','draft')]"/>
682                 <filter icon="terp-camera_test"
683                     string="Open"  help="Open Opportunities"
684                     name="open"
685                     domain="[('state','=','open')]"/>
686                 <filter icon="terp-gtk-media-pause"
687                     string="Pending"  help="Pending Opportunities"
688                     name="pending"
689                     domain="[('state','=','pending')]"/>
690                 <separator orientation="vertical"/>
691                 <field name="name" string="Opportunity / Customer" filter_domain="['|','|','|',('partner_id','ilike',self),('partner_name','ilike',self),('email_from','ilike',self),('name', 'ilike', self)]"/>
692                 <field name="user_id">
693                     <filter icon="terp-personal-"
694                         domain="[('user_id','=', False)]"
695                         help="Unassigned Opportunities" />
696                 </field>
697                 <field name="section_id"
698                     context="{'invisible_section': False}"
699                     widget="selection">
700                     <filter icon="terp-personal+" groups="base.group_extended"
701                         domain="['|', ('section_id', '=', context.get('section_id')), '|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
702                         context="{'invisible_section': False}"
703                         help="My Sales Team(s)" />
704                     <filter icon="terp-personal+" groups="base.group_extended"
705                         context="{'invisible_section': False}"
706                         domain="[]"
707                         help="Show Sales Team"/>
708                 </field>
709
710                 <newline/>
711                 <group expand="0" string="Group By..." colspan="16">
712                     <filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" />
713                     <filter string="Team" help="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}"/>
714                     <filter string="Customer" help="Partner" icon="terp-personal+" domain="[]" context="{'group_by':'partner_id'}"/>
715                     <separator orientation="vertical" />
716                     <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}" />
717                     <filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" />
718                     <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}" />
719                     <filter string="Campaign" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'type_id'}" groups="base.group_extended"/>
720                     <filter string="Channel" icon="terp-call-start" domain="[]" context="{'group_by':'channel_id'}" />
721                     <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
722                     <separator orientation="vertical" />
723                     <filter string="Creation" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}" />
724                     <filter string="Exp.Closing" icon="terp-go-month" help="Expected Closing" domain="[]" context="{'group_by':'date_deadline'}" />
725                 </group>
726             </search>
727         </field>
728     </record>
729
730     <!-- crm.lead Opportunities Graph View -->
731     <record model="ir.ui.view" id="crm_case_graph_view_opportunity">
732         <field name="name">CRM - Opportunity Graph</field>
733         <field name="model">crm.lead</field>
734         <field name="type">graph</field>
735         <field name="arch" type="xml">
736             <graph string="Opportunity by Categories" type="bar" orientation="horizontal">
737                 <field name="categ_id"/>
738                 <field name="planned_revenue" operator="+"/>
739                 <field name="state" group="True"/>
740             </graph>
741         </field>
742     </record>
743
744 </data>
745 </openerp>