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