[MERGE] from trunk
[odoo/odoo.git] / addons / crm / crm_lead_view.xml
1 <?xml version="1.0"?>
2 <openerp>
3     <data>
4
5         <!-- Read/Unread actions -->
6         <record id="actions_server_crm_lead_unread" model="ir.actions.server">
7             <field name="name">Mark unread</field>
8             <field name="condition">True</field>
9             <field name="type">ir.actions.server</field>
10             <field name="model_id" ref="model_crm_lead"/>
11             <field name="state">code</field>
12             <field name="code">self.message_check_and_set_unread(cr, uid, context.get('active_ids'), context=context)</field>
13         </record>
14         <record id="action_crm_lead_unread" model="ir.values">
15             <field name="name">action_crm_lead_unread</field>
16             <field name="action_id" ref="actions_server_crm_lead_unread"/>
17             <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_crm_lead_unread'))" />
18             <field name="key">action</field>
19             <field name="model_id" ref="model_crm_lead" />
20             <field name="model">crm.lead</field>
21             <field name="key2">client_action_multi</field>
22         </record>
23
24         <record id="actions_server_crm_lead_read" model="ir.actions.server">
25             <field name="name">Mark read</field>
26             <field name="condition">True</field>
27             <field name="type">ir.actions.server</field>
28             <field name="model_id" ref="model_crm_lead"/>
29             <field name="state">code</field>
30             <field name="code">self.message_check_and_set_read(cr, uid, context.get('active_ids'), context=context)</field>
31         </record>
32         <record id="action_crm_lead_read" model="ir.values">
33             <field name="name">action_crm_lead_read</field>
34             <field name="action_id" ref="actions_server_crm_lead_read"/>
35             <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_crm_lead_read'))" />
36             <field name="key">action</field>
37             <field name="model_id" ref="model_crm_lead" />
38             <field name="model">crm.lead</field>
39             <field name="key2">client_action_multi</field>
40         </record>
41
42         <!--
43             CRM CASE STAGE
44             -->
45
46         <!-- Stage Search view -->
47         <record id="crm_lead_stage_search" model="ir.ui.view">
48             <field name="name">Stage - Search</field>
49             <field name="model">crm.case.stage</field>
50             <field name="type">search</field>
51             <field name="arch" type="xml">
52                 <search string="Stage Search">
53                     <field name="name" string="Stage Name"/>
54                     <separator orientation="vertical"/>
55                     <field name="state"/>
56                     <field name="type"/>
57                 </search>
58             </field>
59         </record>
60
61         <!-- Stage Form view -->
62         <record id="crm_lead_stage_act" model="ir.actions.act_window">
63             <field name="name">Stages</field>
64             <field name="res_model">crm.case.stage</field>
65             <field name="view_type">form</field>
66             <field name="view_id" ref="crm.crm_case_stage_tree"/>
67             <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>
68         </record>
69
70         <menuitem action="crm_lead_stage_act" id="menu_crm_lead_stage_act" name="Stages" sequence="0" parent="base.menu_crm_config_lead" />
71
72         <!--
73             LEADS/OPPORTUNITIES CATEGORIES
74             -->
75
76         <!-- Categories Form View -->
77         <record id="crm_lead_categ_action" model="ir.actions.act_window">
78             <field name="name">Categories</field>
79             <field name="res_model">crm.case.categ</field>
80             <field name="view_type">form</field>
81             <field name="view_id" ref="crm_case_categ_tree-view"/>
82             <field name="context" eval="{'object_id': ref('model_crm_lead')}"/>
83             <field name="domain">[('object_id.model', '=', 'crm.lead')]</field>
84             <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>
85         </record>
86
87         <menuitem action="crm_lead_categ_action"
88             id="menu_crm_lead_categ" name="Categories"
89             parent="base.menu_crm_config_lead" sequence="1" groups="base.group_no_one"/>
90
91         <!--
92             LEADS
93             -->
94         <act_window
95                 id="act_crm_opportunity_crm_phonecall_new"
96                 name="Phone calls"
97                 groups="base.group_sale_salesman"
98                 res_model="crm.phonecall"
99                 view_mode="tree,calendar,form"
100                 context="{'default_duration': 1.0 ,'default_opportunity_id': active_id,'default_partner_phone':phone}"
101                 domain="[('opportunity_id', '=', active_id)]"
102                 view_type="form"/>
103
104         <act_window
105                 id="act_crm_opportunity_crm_meeting_new"
106                 name="Meetings"
107                 res_model="crm.meeting"
108                 view_mode="tree,form,calendar"
109                 context="{'default_duration': 4.0, 'default_opportunity_id': active_id}"
110                 domain="[('opportunity_id', '=', active_id)]"
111                 view_type="form"/>
112
113
114         <!-- CRM Lead Form View  -->
115         <record model="ir.ui.view" id="crm_case_form_view_leads">
116         <field name="name">CRM - Leads Form</field>
117         <field name="model">crm.lead</field>
118         <field name="type">form</field>
119         <field name="arch" type="xml">
120             <form string="Leads Form" version="7.0">
121                 <header>
122                     <button name="%(crm.action_crm_lead2opportunity_partner)d" string="Convert to Opportunity" type="action"
123                             states="draft,open,pending" help="Convert to Opportunity" class="oe_highlight"/>
124                     <button name="case_escalate" string="Escalate" type="object"  
125                             states="draft,open,pending"/>
126                     <button name="case_reset" string="Reset" type="object"
127                             states="cancel"/>
128                     <button name="case_cancel" string="Cancel" type="object"
129                             states="draft,open,pending"/>
130                     <field name="stage_id" widget="statusbar"
131                             on_change="onchange_stage_id(stage_id)"/>
132                 </header>
133                 <sheet>
134                     <div class="oe_right oe_button_box" name="buttons">
135                         <button type="action"
136                             name="%(act_crm_opportunity_crm_meeting_new)d"
137                             string="Meetings" />
138
139                         <button type="action"
140                             name="%(act_crm_opportunity_crm_phonecall_new)d"
141                             string="Phone Calls" />
142                     </div>
143
144                     <label for="name" class="oe_edit_only" string="Lead Description"/>
145                     <h1><field name="name" placeholder="Describe the lead..."/></h1>
146                     <group>
147                         <group>
148                             <field name="user_id" />
149                             <field name="section_id" widget="selection" />
150                             <field name="type" invisible="1"/>
151                         </group>
152                         <group>
153                             <field name="priority"/>
154                             <field name="categ_id"
155                                 widget="selection"
156                                 domain="[('object_id.model','=','crm.lead')]"/>
157                         </group>
158                         <group>
159                             <field name="partner_name" string="Company Name"/>
160                             <field name="partner_id" string="Customer"/>
161                             <label for="street" string="Address"/>
162                             <div>
163                                 <field name="street" placeholder="Street..."/>
164                                 <field name="street2"/>
165                                 <div>
166                                     <field name="zip" class="oe_inline" placeholder="ZIP"/>
167                                     <field name="city" class="oe_inline" placeholder="City"/>
168                                 </div>
169                                 <field name="state_id" placeholder="State"/>
170                                 <field name="country_id" placeholder="Country"/>
171                             </div>
172                         </group>
173                         <group>
174                             <label for="contact_name" />
175                             <div>
176                                 <field name="contact_name" class="oe_inline"/>,
177                                 <field name="title" placeholder="Title" domain="[('domain', '=', 'contact')]" class="oe_inline"/>
178                             </div>
179                             <field name="email_from" widget="email"/>
180                             <field name="function" />
181                             <field name="phone"/>
182                             <field name="mobile"/>
183                             <field name="fax"/>
184                             <!--
185                             This should be integrated in Open Chatter
186                             <button string="Mail"
187                                 name="%(mail.action_email_compose_message_wizard)d"
188                                 icon="terp-mail-message-new" type="action" colspan="1"/>
189                             -->
190                         </group>
191                     </group>
192                     <notebook colspan="4">
193                     <page string="Notes">
194                         <field name="description"/>
195                     </page>
196                     <page string="Extra Info">
197                         <group>
198                             <group string="Categorization">
199                                 <field name="company_id"
200                                     groups="base.group_multi_company"
201                                     widget="selection" colspan="2" />
202                                 <field name="type_id" widget="selection"/>
203                                 <field name="channel_id" widget="selection"/>
204                                 <field name="referred"/>
205                                 <field name="state" groups="base.group_no_one"/>
206                             </group>
207                             <group string="Mailings">
208                                 <field name="opt_in" on_change="on_change_opt_in(opt_in)"/>
209                                 <field name="opt_out" on_change="on_change_opt_out(opt_out)"/>
210                             </group>
211                         </group>
212                     </page>
213                     </notebook>
214                 </sheet>
215                 <footer>
216                     <field name="message_ids" widget="ThreadView"/>
217                 </footer>
218             </form>
219         </field>
220         </record>
221
222         <!-- CRM Lead Tree View -->
223         <record model="ir.ui.view" id="crm_case_tree_view_leads">
224             <field name="name">Leads</field>
225             <field name="model">crm.lead</field>
226             <field name="type">tree</field>
227             <field name="arch" type="xml">
228                 <tree string="Leads" fonts="bold:needaction_pending==True" colors="grey:state in ('cancel', 'done')">
229                     <field name="date_deadline" invisible="1"/>
230                     <field name="create_date" groups="base.group_no_one"/>
231                     <field name="name"/>
232                     <field name="contact_name"/>
233                     <field name="country_id" invisible="context.get('invisible_country', True)" />
234                     <field name="email_from"/>
235                     <field name="phone"/>
236                     <field name="stage_id"/>
237                     <field name="categ_id" invisible="1"/>
238                     <field name="section_id" invisible="context.get('invisible_section', True)" />
239                     <field name="state" groups="base.group_no_one"/>
240                     <field name="type_id" invisible="1"/>
241                     <field name="referred" invisible="1"/>
242                     <field name="channel_id" invisible="1"/>
243                     <field name="subjects" invisible="1"/>
244                     <field name="needaction_pending" invisible="1"/>
245                 </tree>
246             </field>
247         </record>
248
249         <!-- CRM Lead Calendar View -->
250         <record model="ir.ui.view" id="crm_case_calendar_view_leads">
251             <field name="name">CRM - Leads Calendar</field>
252             <field name="model">crm.lead</field>
253             <field name="type">calendar</field>
254             <field name="priority" eval="2"/>
255             <field name="arch" type="xml">
256                 <calendar string="Leads Generation"
257                     date_start="date_action" color="user_id">
258                     <field name="name" />
259                     <field name="partner_name" />
260                 </calendar>
261             </field>
262         </record>
263
264     <!-- CRM Lead Kanban View  -->
265     <record model="ir.ui.view" id="crm_case_kanban_view_leads">
266         <field name="name">CRM - Leads Kanban</field>
267         <field name="model">crm.lead</field>
268         <field name="type">kanban</field>
269         <field name="arch" type="xml">
270             <kanban default_group_by="stage_id">
271                 <field name="state" groups="base.group_no_one"/>
272                 <field name="color"/>
273                 <field name="priority"/>
274                 <field name="planned_revenue" sum="Expected Revenues"/>
275                 <field name="user_email"/>
276                 <field name="user_id"/>
277                 <field name="partner_address_email"/>
278                 <field name="message_summary"/>
279                 <field name="needaction_pending"/>
280                 <templates>
281                     <t t-name="lead_details">
282                         <ul class="oe_kanban_tooltip">
283                             <li t-if="record.phone.raw_value"><b>Phone:</b> <field name="phone"/></li>
284                             <li><b>Probability:</b> <field name="probability"/>%%</li>
285                             <li><b>Creation date:</b> <field name="create_date"/></li>
286                             <li t-if="record.date_deadline.raw_value"><b>Date Deadline:</b> <field name="date_deadline"/></li>
287                         </ul>
288                     </t>
289                     <t t-name="kanban-box">
290                         <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click">
291                             <div class="oe_dropdown_toggle oe_dropdown_kanban">
292                                 <span class="oe_e">i</span>
293                                 <ul class="oe_dropdown_menu">
294                                     <li><a type="edit" >Edit...</a></li>
295                                     <li><a type="delete">Delete</a></li>
296                                     <li><a name="%(mail.action_email_compose_message_wizard)d" type="action">Send Email</a></li>
297                                     <li><a name="%(opportunity2phonecall_act)d" type="action">Log Call</a></li>
298                                     <li><a name="action_makeMeeting" type="object">Schedule Meeting</a></li>
299                                     <li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
300                                 </ul>
301                             </div>
302                             <div class="oe_kanban_content">
303                                 <div>
304                                     <b><field name="name"/></b>
305                                     <t t-if="record.planned_revenue.raw_value">
306                                         - <b><t t-esc="Math.round(record.planned_revenue.value)"/>
307                                         <field name="company_currency"/></b>
308                                     </t>
309                                 </div>
310                                 <div>
311                                     <field name="partner_id"/>
312                                 </div>
313                                 <div style="padding-left: 0.5em">
314                                     <i>
315                                         <t t-if="record.date_deadline.raw_value and record.date_deadline.raw_value lt (new Date())" t-set="red">oe_kanban_text_red</t>
316                                         <span t-attf-class="#{red || ''}">
317                                             <field name="date_action"/>
318                                         </span>
319                                         <t t-if="record.date_action.raw_value"> : </t>
320                                         <field name="title_action"/>
321                                     </i>
322                                 </div>
323                                 <div class="oe_right">
324                                     <a t-if="record.priority.raw_value == 1" icon="star-on" type="object" name="set_normal_priority"/>
325                                     <a t-if="record.priority.raw_value != 1" icon="star-off" type="object" name="set_high_priority" style="opacity:0.7; filter:alpha(opacity=70);"/>
326                                     <!--
327                                     <t t-if="record.date_deadline.raw_value and record.date_deadline.raw_value lt (new Date())" t-set="red">oe_kaban_status_red</t>
328                                     <span t-attf-class="oe_kanban_status #{red}"> </span>
329                                     -->
330                                     <img t-att-src="kanban_image('res.users', 'avatar', record.user_id.raw_value[0])" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar"/>
331                                 </div>
332                                 <div class="oe_kanban_footer_left">
333                                     <t t-if="record.needaction_pending.raw_value"><span class="oe_kanban_mail_new">New</span></t>
334                                     <t t-raw="record.message_summary.raw_value"/>
335                                 </div>
336                             </div>
337                             <div class="oe_clear"></div>
338                         </div>
339                         <!--
340                             <div class="oe_kanban_right">
341                                 <a name="case_mark_lost" string="Mark Lost" states="open,pending" type="object" icon="kanban-stop" />
342                                 <a name="case_pending" string="Pending" states="draft,open" type="object" icon="kanban-pause" />
343                                 <a name="case_open" string="Open" states="pending" type="object" icon="gtk-media-play" />
344                                 <a name="case_mark_won" string="Mark Won" states="open,pending" type="object" icon="kanban-apply" />
345                             </div>
346                         -->
347                     </t>
348                 </templates>
349             </kanban>
350         </field>
351     </record>
352
353     <!-- CRM Lead Search View -->
354     <record id="view_crm_case_leads_filter" model="ir.ui.view">
355         <field name="name">CRM - Leads Search</field>
356         <field name="model">crm.lead</field>
357         <field name="type">search</field>
358         <field name="arch" type="xml">
359             <search string="Search Leads">
360                 <filter icon="terp-mail-message-new"
361                     string="Inbox" help="Unread messages"
362                     name="needaction_pending"
363                     domain="[('needaction_pending','=',True)]"/>
364                 <field name="name" string="Lead / Customer" filter_domain="['|','|',('partner_name','ilike',self),('email_from','ilike',self),('name','ilike',self)]"/>
365                 <!-- subjects is not set as store=True so, it is placed outside filter_domain-->
366                 <field name="subjects"/>     
367                 <separator orientation="vertical"/>
368                 <field name="create_date"/>
369                 <separator orientation="vertical"/>
370                 <filter icon="terp-check"
371                     string="New"
372                     name="new" help="New Leads"
373                     domain="[('state','=','draft')]"/>
374                 <filter icon="terp-camera_test"
375                     string="Open"
376                     name="open"
377                     domain="[('state','=','open')]"/>
378                 <filter string="Unassigned Leads"
379                         icon="terp-personal-"
380                         domain="[('user_id','=', False)]"
381                         help="Unassigned Leads" />
382                 <filter string="Leads Assigned to Me or My Team(s)"
383                         icon="terp-personal+"
384                         context="{'invisible_section': False}"
385                         domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
386                         help="Leads that are assigned to one of the sale teams I manage, or to me"/>
387                 <separator orientation="vertical"/>
388                 <field name="user_id"/>
389                 <field name="section_id" widget="selection"
390                     context="{'invisible_section': False}"/>
391                 <field name="country_id" context="{'invisible_country': False}"/>
392                 <separator orientation="vertical"/>
393                 <newline/>
394                 <group expand="0" string="Group By...">
395                     <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
396                     <filter string="Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}"/>
397                     <filter string="Referrer" icon="terp-personal" domain="[]" context="{'group_by':'referred'}"/>
398                     <separator orientation="vertical"/>
399                     <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}"/>
400                     <filter string="Campaign" icon="terp-gtk-jump-to-rtl"
401                         domain="[]" context="{'group_by':'type_id'}" />
402                     <filter string="Channel" icon="terp-call-start"
403                         domain="[]" context="{'group_by':'channel_id'}" />
404                     <separator orientation="vertical"/>
405                     <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
406                     <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
407                     <separator orientation="vertical" groups="base.group_no_one"/>
408                     <filter string="Creation" help="Create date" icon="terp-go-month"
409                         domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/>
410                 </group>
411                 <separator orientation="vertical"/>
412                 <group string="Display">
413                     <filter string="Show Countries" icon="terp-personal+" context="{'invisible_country': False}" help="Show Countries"/>
414                     <filter string="Show Sales Team"
415                         icon="terp-personal+"
416                         context="{'invisible_section': False}"
417                         domain="[]"
418                         help="Show Sales Team"/>
419                 </group>
420            </search>
421         </field>
422     </record>
423
424
425     <!--
426         OPPORTUNITY
427         -->
428
429     <!-- Opportunities Form View -->
430     <record model="ir.ui.view" id="crm_case_form_view_oppor">
431         <field name="name">Opportunities</field>
432         <field name="model">crm.lead</field>
433         <field name="type">form</field>
434         <field name="priority">20</field>
435         <field name="arch" type="xml">
436             <form string="Opportunities" version="7.0">
437                 <header>
438                     <button name="stage_previous" string="Previous" type="object"
439                             states="open" icon="gtk-go-back" context="{'stage_type': 'opportunity'}"/>
440                     <button name="stage_next" string="Next" type="object"  
441                             states="open" icon="gtk-go-forward" context="{'stage_type': 'opportunity'}"/>
442                     <button name="case_mark_won" string="Mark Won" type="object"
443                             states="open" class="oe_highlight"/>
444                     <button name="case_mark_won" string="Mark Won" type="object"
445                             states="draft,pending"/>
446                     <button name="case_open" string="Open" type="object" class="oe_highlight"
447                             states="draft,pending"/>
448                     <button name="case_escalate" string="Escalate" type="object"
449                             states="open" />
450                     <button name="case_mark_lost" string="Mark Lost" type="object"
451                             states="draft,open"/>
452                     <button name="case_reset" string="Reset to Draft" type="object"
453                             states="done,cancel" />
454                     <button name="case_cancel" string="Cancel" type="object"
455                             states="draft"/>
456                     <field name="stage_id" widget="statusbar"
457                             on_change="onchange_stage_id(stage_id)"/>
458                 </header>
459                 <sheet>
460                     <div class="oe_right oe_button_box">
461                         <button string="Schedule/Log Call"
462                             name="%(opportunity2phonecall_act)d"
463                             type="action"/>
464                         <button string="Schedule Meeting"
465                             name="action_makeMeeting"
466                             type="object"/>
467                     </div>
468                     <div class="oe_title">
469                         <label for="name" class="oe_edit_only"/>
470                         <h1><field name="name"/></h1>
471                         <label for="planned_revenue" class="oe_edit_only"/>
472                         <h2>
473                             <field name="planned_revenue" class="oe_inline"/>
474                             <field name="company_currency" class="oe_edit_only oe_inline"/> at 
475                             <field name="probability" class="oe_inline"/> %% success rate
476                         </h2>
477                     </div>
478                     <group>
479                         <group>
480                             <field name="partner_id"
481                                 on_change="onchange_partner_id(partner_id, email_from)"
482                                 string="Customer"
483                                 context="{'default_name': partner_name, 'default_email': email_from, 'default_phone': phone}"/>
484                             <field name="email_from" string="Email"/>
485                             <field name="phone"/>
486                         </group>
487
488                         <group>
489                             <label for="title_action"/>
490                             <div>
491                                 <field name="date_action" nolabel="1"/> -
492                                 <field name="title_action" class="oe_inline" nolabel="1" placeholder="Call for proposal"/>
493                             </div>
494                             <field name="date_deadline"/>
495                             <field name="priority"/>
496                         </group>
497
498                         <group>
499                             <field name="user_id"/>
500                             <field name="section_id" colspan="1" widget="selection"/>
501                         </group>
502                         <group>
503                             <field name="categ_id"
504                                 string="Category" widget="selection"
505                                 domain="[('object_id.model', '=', 'crm.lead')]" />
506
507                         </group>
508                     </group>
509
510                                     <!--<button string="Mail"
511                                         name="%(mail.action_email_compose_message_wizard)d"
512                                         context="{'mail':'new', 'model': 'crm.lead'}"
513                                         icon="terp-mail-message-new" type="action" />-->
514
515                     <notebook colspan="4">
516                     <page string="Internal Notes">
517                         <field name="description"/>
518                     </page>
519                     <page string="Lead">
520                         <group>
521                             <group>
522                                 <field name="partner_name"/>
523                                 <label for="street" string="Address"/>
524                                 <div>
525                                     <field name="street" placeholder="Street..."/>
526                                     <field name="street2"/>
527                                     <div>
528                                         <field name="zip" class="oe_inline" placeholder="ZIP"/>
529                                         <field name="city" class="oe_inline" placeholder="City"/>
530                                     </div>
531                                     <field name="state_id" placeholder="State"/>
532                                     <field name="country_id" placeholder="Country"/>
533                                 </div>
534                             </group>
535
536                             <group>
537                                 <label for="contact_name" />
538                                 <div>
539                                     <field name="contact_name" class="oe_inline"/>,
540                                     <field name="title" placeholder="Title" domain="[('domain', '=', 'contact')]" class="oe_inline"/>
541                                 </div>
542                                 <field name="function" />
543                                 <field name="mobile"/>
544                                 <field name="fax"/>
545                             </group>
546
547                             <group string="Categorization">
548                                 <field name="type_id" widget="selection"/>
549                                 <field name="channel_id" widget="selection"/>
550                             </group>
551                             <group string="Mailings">
552                                 <field name="opt_in" on_change="on_change_opt_in(opt_in)"/>
553                                 <field name="opt_out" on_change="on_change_opt_out(opt_out)"/>
554                             </group>
555                             <group string="Misc">
556                                 <field name="active"/>
557                                 <field name="day_open" groups="base.group_no_one"/>
558                                 <field name="day_close" groups="base.group_no_one"/>
559                                 <field name="referred"/>
560                                 <field name="state" groups="base.group_no_one"/>
561                                 <field name="type" invisible="1"/>
562                             </group>
563                             <group string="References">
564                                 <field name="ref"/>
565                                 <field name="ref2"/>
566                             </group>
567                         </group>
568                     </page>
569                     </notebook>
570                 </sheet>
571                 <footer>
572                     <field name="message_ids" widget="ThreadView"/>
573                 </footer>
574             </form>
575         </field>
576     </record>
577
578         <!-- Opportunities Tree View -->
579         <record model="ir.ui.view" id="crm_case_tree_view_oppor">
580             <field name="name">Opportunities Tree</field>
581             <field name="model">crm.lead</field>
582             <field name="type">tree</field>
583             <field name="arch" type="xml">
584                 <tree string="Opportunities" fonts="bold:needaction_pending==True" colors="gray:state in ('cancel', 'done');red:date_deadline and (date_deadline &lt; current_date)">
585                     <field name="date_deadline" invisible="1"/>
586                     <field name="create_date" groups="base.group_no_one"/>
587                     <field name="name" string="Opportunity"/>
588                     <field name="partner_id" string="Customer"/>
589                     <field name="country_id" invisible="context.get('invisible_country', True)" />
590                     <field name="date_action"/>
591                     <field name="title_action" />
592                     <field name="channel_id" invisible="1"/>
593                     <field name="type_id" invisible="1"/>
594                     <field name="subjects" invisible="1"/>
595                     <field name="stage_id"/>
596                     <field name="planned_revenue" sum="Expected Revenues"/>
597                     <field name="probability" widget="progressbar" avg="Avg. of Probability"/>
598                     <field name="section_id" invisible="context.get('invisible_section', True)" />
599                     <field name="user_id"/>
600                     <field name="priority" invisible="1"/>
601                     <field name="categ_id" invisible="1"/>
602                     <field name="state" groups="base.group_no_one"/>
603                     <field name="needaction_pending" invisible="1"/>
604                 </tree>
605             </field>
606         </record>
607
608
609     <!-- Opportunities Search View -->
610     <record id="view_crm_case_opportunities_filter" model="ir.ui.view">
611         <field name="name">CRM - Opportunities Search</field>
612         <field name="model">crm.lead</field>
613         <field name="type">search</field>
614         <field name="arch" type="xml">
615             <search string="Search Opportunities">
616                 <filter icon="terp-mail-message-new"
617                     string="Inbox" help="Unread messages"
618                     name="needaction_pending"
619                     domain="[('needaction_pending','=',True)]"/>
620                 <field name="name" string="Opportunity / Customer"
621                     filter_domain="['|','|','|',('partner_id','ilike',self),('partner_name','ilike',self),('email_from','ilike',self),('name', 'ilike', self)]"/>
622                 <separator orientation="vertical"/>
623                 <filter icon="terp-check"
624                     string="New" help="New Opportunities"
625                     name="new"
626                     domain="[('state','=','draft')]"/>
627                 <filter icon="terp-camera_test"
628                     string="Open" help="Open Opportunities"
629                     name="open"
630                     domain="[('state','=','open')]"/>
631                 <filter string="Unassigned Opportunities"
632                         icon="terp-personal-"
633                         domain="[('user_id','=', False)]"
634                         help="Unassigned Opportunities" />
635                <filter string="Opportunities Assigned to Me or My Team(s)"  icon="terp-personal+"
636                         domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
637                         context="{'invisible_section': False}"
638                         help="Opportunities that are assigned to either me or one of the sale teams I manage" />
639                 <separator orientation="vertical"/>
640                 <field name="user_id"/>
641                 <field name="country_id"/>
642                 <field name="partner_id"/>
643                 <field name="section_id"
644                     context="{'invisible_section': False, 'default_section_id': self}"/>
645                 <newline/>
646                 <group expand="0" string="Group By..." colspan="16">
647                     <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" />
648                     <filter string="Team" help="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}"/>
649                     <filter string="Customer" help="Partner" icon="terp-personal+" domain="[]" context="{'group_by':'partner_id'}"/>
650                     <separator orientation="vertical" />
651                     <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}" />
652                     <filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" />
653                     <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}" />
654                     <filter string="Campaign" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'type_id'}"/>
655                     <filter string="Channel" icon="terp-call-start" domain="[]" context="{'group_by':'channel_id'}" />
656                     <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
657                     <separator orientation="vertical" />
658                     <filter string="Creation" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/>
659                     <filter string="Exp.Closing" icon="terp-go-month" help="Expected Closing" domain="[]" context="{'group_by':'date_deadline'}" />
660                 </group>
661                 <group string="Display">
662                     <filter string="Show Sales Team"
663                         icon="terp-personal+"
664                         context="{'invisible_section': False}"
665                         domain="[]"
666                         help="Show Sales Team"/>
667                 </group>
668             </search>
669         </field>
670     </record>
671
672         <!-- crm.lead Opportunities Graph View -->
673         <record model="ir.ui.view" id="crm_case_graph_view_opportunity">
674             <field name="name">CRM - Opportunity Graph</field>
675             <field name="model">crm.lead</field>
676             <field name="type">graph</field>
677             <field name="arch" type="xml">
678                 <graph string="Opportunity by Categories" type="bar" orientation="horizontal">
679                     <field name="categ_id"/>
680                     <field name="planned_revenue" operator="+"/>
681                     <field name="state" group="True"/>
682                 </graph>
683             </field>
684         </record>
685
686     </data>
687 </openerp>