[IMP] Improved kanban lead view
[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_no_one" 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" eval="{'object_id': ref('model_crm_lead')}"/>
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" groups="base.group_no_one"/>
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" layout="manual">
55                 <div class="oe_form_topbar">
56                     <button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel" />
57                     <button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward" />
58                     <button name="case_mark_lost" string="Close" states="open,pending" type="object" icon="gtk-close" />
59                     <button name="case_pending" string="Pending" states="open" type="object" icon="gtk-media-pause" />
60                     <button name="case_escalate" string="Escalate" states="open,pending" type="object" icon="gtk-go-up" />
61                     <button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" icon="gtk-convert" />
62                     <div class="oe_right">
63                         <field name="state" nolabel="1" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/>
64                     </div>
65                 </div>
66                 <sheet layout="auto">
67                 <group colspan="4" col="7">
68                     <field name="name" required="1" string="Subject"/>
69                     <field name="priority"/>
70                     <field name="categ_id"
71                         widget="selection"
72                         domain="[('object_id.model','=','crm.lead')]"/>
73                     <button
74                          name="%(crm.action_crm_lead2opportunity_partner)d"
75                          string="Convert to Opportunity"
76                          help="Convert to Opportunity" icon="gtk-go-forward"
77                          type="action"
78                          />
79                     <newline />
80                     <field name="user_id" />
81                     <field name="section_id" widget="selection" />
82                     <field name="stage_id" domain="section_id and [('section_ids', '=', section_id)] or []" />
83                     <group col="2" colspan="1">
84                         <button name="stage_previous" string=""
85                             states="open,pending,draft" type="object"
86                             icon="gtk-go-back" context="{'stage_type': 'lead'}" />
87                         <button name="stage_next" string=""
88                             states="open,pending,draft" type="object"
89                             icon="gtk-go-forward" context="{'stage_type': 'lead'}" />
90                     </group>
91                     <field name="type" invisible="1"/>
92                 </group>
93                 <notebook colspan="4">
94                 <page string="Lead">
95                     <group colspan="4" col="2">
96                         <field name="partner_name" string="Company Name" />
97                     </group>
98                     <group colspan="2" col="4">
99                         <separator string="Contact" colspan="4" col="4"/>
100                         <field name="contact_name" colspan="4"/>
101                         <newline/>
102                         <field domain="[('domain', '=', 'contact')]" name="title" widget="selection"/>
103                         <field name="function" />
104                         <field name="street" colspan="4"/>
105                         <field name="street2" colspan="4"/>
106                         <field name="zip"/>
107                         <field name="city"/>
108                         <field name="country_id"/>
109                         <field name="state_id"/>
110                     </group>
111                     <group colspan="2" col="3">
112                         <separator string="Communication" colspan="4" col="3"/>
113                         <field name="email_from" widget="email"/>
114                         <button string="Mail"
115                             name="%(mail.action_email_compose_message_wizard)d"
116                             icon="terp-mail-message-new" type="action" colspan="1"/>
117                         <newline/>
118                         <field name="phone"/>
119                         <newline/>
120                         <field name="fax"/>
121                         <newline/>
122                         <field name="mobile"/>
123                         <newline/>
124                         <separator string="Links" colspan="4" col="3"/>
125                         <field name="partner_id" string="Customer"/>
126                         <button
127                             name="%(action_crm_lead2partner)d"
128                             icon="terp-partner" type="action"
129                             string="Create"
130                             attrs="{'invisible':[('partner_id','!=',False)]}"/>
131                     </group>
132                     <separator colspan="4" string="Notes"/>
133                     <field name="description" nolabel="1" colspan="4"/>
134                  </page>
135                  <page string="Extra Info">
136                     <group colspan="2" col="2">
137                         <separator string="Categorization" colspan="2" col="2"/>
138                         <field name="company_id"
139                             groups="base.group_multi_company"
140                             widget="selection" colspan="2" />
141                         <field name="type_id" select="1" widget="selection"/>
142                         <field name="channel_id" select="1" widget="selection"/>
143                         <field name="referred"/>
144                     </group>
145                     <group colspan="2" col="2">
146                         <separator string="Mailings" colspan="2" col="2"/>
147                         <field name="opt_in" on_change="on_change_opt_in(opt_in)"/>
148                         <field name="opt_out" on_change="on_change_opt_out(opt_out)"/>
149                     </group>
150                     <group colspan="2" col="2" groups="base.group_no_one">
151                         <separator string="Statistics" colspan="2" col="2"/>
152                         <field name="day_open"/>
153                         <field name="day_close"/>
154                     </group>
155                  </page>
156                 </notebook>
157                 </sheet>
158                 <div class="oe_form_bottom">
159                     <field name="message_ids_social" colspan="4" widget="ThreadView" nolabel="1"/>
160                 </div>
161             </form>
162         </field>
163     </record>
164
165     <!-- CRM Lead Tree View -->
166
167     <record model="ir.ui.view" id="crm_case_tree_view_leads">
168         <field name="name">Leads</field>
169         <field name="model">crm.lead</field>
170         <field name="type">tree</field>
171         <field name="arch" type="xml">
172             <tree string="Leads" fonts="bold:needaction_pending==True" colors="blue:state=='pending';grey:state in ('cancel', 'done')">
173                 <field name="needaction_pending" invisible="1"/>
174                 <field name="date_deadline" invisible="1"/>
175                 <field name="create_date" groups="base.group_no_one"/>
176                 <field name="name" string="Subject"/>
177                 <field name="contact_name"/>
178                 <field name="country_id" invisible="context.get('invisible_country', True)" />
179                 <field name="email_from"/>
180                 <field name="phone"/>
181
182                 <field name="categ_id" invisible="1"/>
183                 <field name="type_id" invisible="1"/>
184                 <field name="referred" invisible="1"/>
185                 <field name="channel_id" invisible="1"/>
186                 <field name="subjects" invisible="1"/>
187
188                 <field name="stage_id"/>
189                 <button name="stage_previous" string="Previous Stage"
190                     states="open,pending" type="object" icon="gtk-go-back" />
191                 <button name="stage_next" string="Next Stage"
192                     states="open,pending" type="object"
193                     icon="gtk-go-forward" />
194                 <field name="section_id" invisible="context.get('invisible_section', True)" />
195                 <field name="user_id" />
196                 <field name="state" />
197                 <button name="case_open" string="Open"
198                     states="draft,pending" type="object"
199                     icon="gtk-go-forward" />
200                 <button name="case_close" string="Close"
201                     states="open,draft,pending" type="object"
202                     icon="gtk-close" />
203                 <button name="%(crm.action_crm_lead2opportunity_partner)d"
204                     string="Convert to Opportunity"
205                     states="draft,open,pending" icon="gtk-index"
206                     type="action" />
207                 <button name="case_escalate" string="Escalate"
208                     states="open,draft,pending" type="object"
209                     icon="gtk-go-up" />
210             </tree>
211         </field>
212     </record>
213
214     <!-- CRM Lead Calendar View -->
215
216     <record model="ir.ui.view" id="crm_case_calendar_view_leads">
217         <field name="name">CRM - Leads Calendar</field>
218         <field name="model">crm.lead</field>
219         <field name="type">calendar</field>
220         <field name="priority" eval="2"/>
221         <field name="arch" type="xml">
222             <calendar string="Leads Generation"
223                 date_start="date_action" color="user_id">
224                 <field name="name" />
225                 <field name="partner_name" />
226             </calendar>
227         </field>
228     </record>
229
230     <!-- CRM Lead Kanban View  -->
231     <record model="ir.ui.view" id="crm_case_kanban_view_leads">
232         <field name="name">CRM - Leads Kanban</field>
233         <field name="model">crm.lead</field>
234         <field name="type">kanban</field>
235         <field name="arch" type="xml">
236             <kanban default_group_by="stage_id">
237                 <field name="state"/>
238                 <field name="color"/>
239                 <field name="priority"/>
240                 <field name="planned_revenue" sum="Expected Revenues"/>
241                 <field name="user_email"/>
242                 <field name="user_id"/>
243                 <field name="partner_address_email"/>
244                 <templates>
245                     <t t-name="lead_details">
246                         <ul class="oe_kanban_tooltip">
247                             <li t-if="record.phone.raw_value"><b>Phone:</b> <field name="phone"/></li>
248                             <li><b>Probability:</b> <field name="probability"/>%%</li>
249                             <li><b>Creation date:</b> <field name="create_date"/></li>
250                             <li t-if="record.date_deadline.raw_value"><b>Date Deadline:</b> <field name="date_deadline"/></li>
251                         </ul>
252                     </t>
253                     <t t-name="kanban-box">
254                         <div class="oe_kanban_card">
255                             <a class="oe_kanban_menuaction oe_i">B</a>
256                             <ul class="oe_kanban_menu">
257                                 <li><a type="edit" >Edit...</a></li>
258                                 <li><a type="delete">Delete</a></li>
259                             </ul>
260                             <div class="oe_kanban_content">
261                                 <h3>
262                                     <field name="partner_id"/>
263                                     <t t-if="record.planned_revenue.raw_value">
264                                         - <t t-esc="Math.round(record.planned_revenue.value)"/>
265                                         <field name="company_currency"/>
266                                     </t>
267                                 </h3>
268                                 <div>
269                                     <b> <field name="partner_address_name"/> </b>
270                                 </div>
271                                 <div>
272                                     <field name="name"/>
273                                 </div>
274                                 <div style="padding-left: 0.5em">
275                                     <i>
276                                         <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>
277                                         <span t-attf-class="#{red || ''}">
278                                             <field name="date_action"/>
279                                         </span>
280                                         <t t-if="record.date_action.raw_value"> : </t>
281                                         <field name="title_action"/>
282                                     </i>
283                                 </div>
284                                 <div class="oe_right">
285                                     <a t-if="record.priority.raw_value == 1" icon="star-on" type="object" name="set_normal_priority"/>
286                                     <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);"/>
287                                     <!--
288                                     <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>
289                                     <span t-attf-class="oe_kanban_status #{red}"> </span>
290                                     -->
291                                     <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"/>
292                                 </div>
293                                 <div class="oe_kanban_footer_left">
294                                 </div>
295                             </div>
296                             <div class="oe_clear"></div>
297                         </div>
298
299                         <!--
300                         <div t-attf-class="#{kanban_color(record.color.raw_value)} #{border || ''}">
301                             <div class="oe_kanban_box oe_kanban_color_border">
302                                 <table class="oe_kanban_draghandle">
303                                 </table>
304                                 <div class="oe_kanban_box_show_onclick_trigger">
305                                 </div>
306                                 <div class="oe_kanban_buttons_set oe_kanban_color_border oe_kanban_color_bglight oe_kanban_box_show_onclick">
307                                     <div class="oe_kanban_left">
308                                         <a string="Edit" icon="gtk-edit" type="edit"/>
309                                         <a string="Change Color" icon="color-picker" type="color" name="color"/>
310                                         <a string="Send New Email" name="%(mail.action_email_compose_message_wizard)d" icon="terp-mail-message-new" type="action"/>
311                                         <a string="Log Call" name="%(opportunity2phonecall_act)d" icon="terp-call-start" type="action"/>
312                                         <a string="Schedule Meeting" name="action_makeMeeting" type="object" icon="stock_calendar"/>
313                                         <a string="Add Internal Note" name="%(crm.action_crm_add_note)d" context="{'model': 'crm.lead' }" icon="terp-document-new" type="action"/>
314                                     </div>
315                                     <div class="oe_kanban_right">
316                                         <a name="case_mark_lost" string="Mark Lost" states="open,pending" type="object" icon="kanban-stop" />
317                                         <a name="case_pending" string="Pending" states="draft,open" type="object" icon="kanban-pause" />
318                                         <a name="case_open" string="Open" states="pending" type="object" icon="gtk-media-play" />
319                                         <a name="case_mark_won" string="Mark Won" states="open,pending" type="object" icon="kanban-apply" />
320                                     </div>
321                                     <br class="oe_kanban_clear"/>
322                                 </div>
323                             </div>
324                         </div>
325                         -->
326                     </t>
327                 </templates>
328             </kanban>
329         </field>
330     </record>
331
332     <!-- CRM Lead Search View -->
333
334     <record id="view_crm_case_leads_filter" model="ir.ui.view">
335         <field name="name">CRM - Leads Search</field>
336         <field name="model">crm.lead</field>
337         <field name="type">search</field>
338         <field name="arch" type="xml">
339             <search string="Search Leads">
340                 <filter icon="terp-check"
341                     string="New"
342                     name="new" help="New Leads"
343                     domain="[('state','=','draft')]"/>
344                 <filter icon="terp-camera_test"
345                     string="Open"
346                     name="open"
347                     domain="[('state','=','open')]"/>
348                 <filter icon="terp-gtk-media-pause"
349                     string="Pending"
350                     name="pending"
351                     domain="[('state','=','pending')]"/>
352
353                 <separator orientation="vertical"/>
354                 <filter icon="terp-go-today" string="Today"
355                     domain="[('create_date','&lt;', time.strftime('%%Y-%%m-%%d 23:59:59')), ('create_date','&gt;=', time.strftime('%%Y-%%m-%%d 00:00:00'))]"
356                     help="Todays' Leads" />
357                 <filter icon="terp-go-week" string="7 Days"
358                     help="Leads creating during last 7 days"
359                     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'))]"
360                 />
361                 <separator orientation="vertical"/>
362                 <field name="name" string="Lead / Customer"
363                     filter_domain="['|','|',('partner_name','ilike',self),('email_from','ilike',self),('name','ilike',self)]"/>
364                 <field name="user_id">
365                     <filter icon="terp-personal-"
366                         domain="[('user_id','=', False)]"
367                         help="Unassigned Leads" />
368                 </field>
369                 <field name="subjects"/>
370                 <field name="section_id" widget="selection"
371                     context="{'invisible_section': False}">
372                     <filter icon="terp-personal+"
373                         context="{'invisible_section': False}"
374                         domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
375                         help="My Sales Team(s)"/>
376                     <filter icon="terp-personal+"
377                         context="{'invisible_section': False}"
378                         domain="[]"
379                         help="Show Sales Team"/>
380                 </field>
381                 <separator orientation="vertical"/>
382                 <field name="country_id" context="{'invisible_country': False}">
383                     <filter icon="terp-personal+" context="{'invisible_country': False}" help="Show countries"/>
384                 </field>
385                 <newline/>
386                 <group expand="0" string="Group By...">
387                     <filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
388                     <filter string="Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}"/>
389                     <filter string="Referrer" icon="terp-personal" domain="[]" context="{'group_by':'referred'}"/>
390                     <separator orientation="vertical"/>
391                     <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}"/>
392                     <filter string="Campaign" icon="terp-gtk-jump-to-rtl"
393                         domain="[]" context="{'group_by':'type_id'}" />
394                     <filter string="Channel" icon="terp-call-start"
395                         domain="[]" context="{'group_by':'channel_id'}" />
396                     <separator orientation="vertical"/>
397                     <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
398                     <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
399                     <separator orientation="vertical" groups="base.group_no_one"/>
400                     <filter string="Creation" help="Create date" icon="terp-go-month"
401                         domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/>
402                 </group>
403            </search>
404         </field>
405     </record>
406
407
408     <!-- Opportunities Form View -->
409     <record model="ir.ui.view" id="crm_case_form_view_oppor">
410         <field name="name">Opportunities</field>
411         <field name="model">crm.lead</field>
412         <field name="type">form</field>
413         <field name="priority">20</field>
414         <field name="arch" type="xml">
415             <form string="Opportunities" layout="manual">
416                 <div class="oe_form_topbar oe_form_topbar_hifirst">
417                     <button name="case_cancel" string="Cancel" states="draft" type="object" icon="gtk-cancel" />
418                     <button name="case_mark_lost" string="Mark Lost" states="open,pending" type="object" icon="gtk-cancel" />
419                     <button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" icon="gtk-convert" />
420                     <button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward" />
421                     <button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause" />
422                     <button name="case_escalate" string="Escalate" states="open,pending" type="object" icon="gtk-go-up" />
423                     <button name="case_mark_won" string="Mark Won" states="open,pending" type="object" icon="gtk-apply" />
424                     <div class="oe_right">
425                         <field name="state" nolabel="1" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/>
426                     </div>
427                     <div class="oe_clear"/>
428                 </div>
429                 <sheet layout="auto">
430                 <group colspan="4" col="2" width="auto">
431                     <field name="name" required="1" nolabel="1" class="oe_form_title"/>
432                     <div class="oe_text_right">
433                         <button string="Schedule/Log Call"
434                             name="%(opportunity2phonecall_act)d" icon="terp-call-start"
435                             type="action"/>
436                         <button string="Schedule Meeting" icon="gtk-redo"
437                             name="action_makeMeeting"
438                             type="object"/>
439                     </div>
440                 </group>
441                 <group colspan="4" col="4" class="oe_form_group_label_border" style="margin-top: 20px;">
442                     <field name="user_id"/>
443                     <field name="planned_revenue"/>
444
445                     <field name="date_action"/>
446                     <field name="date_deadline"/>
447
448                     <field name="title_action"/>
449                     <field name="probability"/>
450
451                     <field name="type" invisible="1"/>
452                 </group>
453                 <notebook colspan="4">
454                 <page string="Opportunity">
455                     <group col="4" colspan="2">
456                         <separator colspan="4" string="Contacts"/>
457                         <group colspan="2" col="3" class="oe_form_group_label_border">
458                             <field width="80%%" name="partner_id" select="1"
459                                 on_change="onchange_partner_id(partner_id, email_from)" string="Customer"/>
460                             <button name="%(action_crm_lead2partner)d"
461                                 icon="terp-partner" type="action"
462                                 string="Create"
463                                 attrs="{'invisible':[('partner_id','!=',False)]}"/>
464
465                             <field name="phone" colspan="3"/>
466
467                             <field width="80%%" name="email_from" string="Email"/>
468                             <button string="Mail"
469                                 name="%(mail.action_email_compose_message_wizard)d"
470                                 context="{'mail':'new', 'model': 'crm.lead'}"
471                                 icon="terp-mail-message-new" type="action" />
472                         </group>
473                     </group>
474                     <group col="2" colspan="2" class="oe_form_group_label_border">
475                         <separator colspan="2" string="Categorization"/>
476                         <field name="section_id" colspan="1" widget="selection"/>
477                         <field name="categ_id" select="1"
478                             string="Category" widget="selection"
479                             domain="[('object_id.model', '=', 'crm.lead')]" />
480
481                         <label string="Stage" for="stage_id" align="1.0"/>
482                         <group colspan="1" col="3">
483                             <field name="stage_id" nolabel="1"
484                                 on_change="onchange_stage_id(stage_id)"
485                                 domain="section_id and [('section_ids', '=', section_id)] or []" width="60%%"/>
486                             <button name="stage_previous"
487                                 states="draft,open,pending" type="object"
488                                 icon="gtk-go-back" string="" context="{'stage_type': 'opportunity'}"/>
489                             <button name="stage_next" states="draft,open,pending"
490                                 type="object" icon="gtk-go-forward" string="" context="{'stage_type': 'opportunity'}"/>
491                         </group>
492
493                         <field name="priority" string="Priority"/>
494                     </group>
495
496                     <separator colspan="4" string="Details"/>
497                     <field name="description" nolabel="1" colspan="4"/>
498                 </page>
499                 <page string="Lead">
500                     <separator string="Contact" colspan="4"/>
501                     <group colspan="4" col="4" class="oe_form_group_label_border">
502                         <field name="partner_name" string="Customer Name" colspan="4"/>
503                     </group>
504                     <group colspan="2" col="2" class="oe_form_group_label_border">
505                         <field domain="[('domain', '=', 'contact')]" name="title" widget="selection"/>
506                         <field name="fax"/>
507                         <field name="street"/>
508                         <field name="zip"/>
509                         <field name="country_id"/>
510                     </group>
511                     <group colspan="2" col="2" class="oe_form_group_label_border">
512                         <field name="function" />
513                         <field name="mobile"/>
514                         <field name="street2"/>
515                         <field name="city"/>
516                         <field name="state_id"/>
517                     </group>
518
519                     <group colspan="2" col="2" class="oe_form_group_label_border">
520                         <separator string="Categorization" colspan="2"/>
521                         <field name="type_id" widget="selection"/>
522                         <field name="channel_id" widget="selection"/>
523                     </group>
524                     <group colspan="2" col="2" class="oe_form_group_label_border">
525                         <separator string="Mailings" colspan="2"/>
526                         <field name="opt_in" on_change="on_change_opt_in(opt_in)"/>
527                         <field name="opt_out" on_change="on_change_opt_out(opt_out)"/>
528                     </group>
529                 </page>
530                 <page string="Extra Info">
531                     <group col="2" colspan="2" class="oe_form_group_label_border">
532                         <separator string="Misc" colspan="2"/>
533                         <field name="active"/>
534                         <field name="day_open" groups="base.group_no_one"/>
535                         <field name="day_close" groups="base.group_no_one"/>
536                         <field name="referred"/>
537                     </group>
538                     <group col="2" colspan="2" class="oe_form_group_label_border">
539                         <separator colspan="4" string="References"/>
540                         <field name="ref"/>
541                         <field name="ref2"/>
542                     </group>
543                 </page>
544                 </notebook>
545                 </sheet>
546                 <div class="oe_form_bottom">
547                     <field name="message_ids_social" colspan="4" widget="ThreadView" nolabel="1"/>
548                 </div>
549             </form>
550         </field>
551     </record>
552
553     <!-- Opportunities Tree View -->
554     <record model="ir.ui.view" id="crm_case_tree_view_oppor">
555         <field name="name">Opportunities Tree</field>
556         <field name="model">crm.lead</field>
557         <field name="type">tree</field>
558         <field name="arch" type="xml">
559             <tree string="Opportunities" fonts="bold:needaction_pending==True" 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)">
560                 <field name="needaction_pending" invisible="1"/>
561                 <field name="date_deadline" invisible="1"/>
562                 <field name="create_date" groups="base.group_no_one"/>
563                 <field name="name" string="Opportunity"/>
564                 <field name="partner_id" string="Customer"/>
565                 <field name="country_id" invisible="context.get('invisible_country', True)" />
566                 <field name="date_action"/>
567                 <field name="title_action" />
568                 <field name="channel_id" invisible="1"/>
569                 <field name="type_id" invisible="1"/>
570                 <field name="subjects" invisible="1"/>
571                 <field name="stage_id"/>
572                 <button name="stage_previous" string="Previous Stage" states="open,pending" type="object" icon="gtk-go-back" />
573                 <button name="stage_next" string="Next Stage" states="open,pending" type="object" icon="gtk-go-forward" />
574                 <field name="planned_revenue" sum="Expected Revenues"/>
575                 <field name="probability" widget="progressbar" avg="Avg. of Probability"/>
576                 <field name="section_id" invisible="context.get('invisible_section', True)" />
577                 <field name="user_id"/>
578                 <field name="priority" invisible="1"/>
579                 <field name="categ_id" invisible="1"/>
580                 <field name="state"/>
581                 <button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward" />
582                 <button name="case_pending" string="Pending" states="open,draft" type="object" icon="gtk-media-pause" />
583                 <button name="case_mark_lost" string="Lost" states="open,pending" type="object" icon="gtk-cancel" />
584                 <button name="case_mark_won" string="Won" states="open,pending" type="object" icon="gtk-apply" />
585             </tree>
586         </field>
587     </record>
588
589
590     <!-- Opportunities Search View -->
591     <record id="view_crm_case_opportunities_filter" model="ir.ui.view">
592         <field name="name">CRM - Opportunities Search</field>
593         <field name="model">crm.lead</field>
594         <field name="type">search</field>
595         <field name="arch" type="xml">
596             <search string="Search Opportunities">
597                 <filter icon="terp-check"
598                     string="New"  help="New Opportunities"
599                     name="new"
600                     domain="[('state','=','draft')]"/>
601                 <filter icon="terp-camera_test"
602                     string="Open"  help="Open Opportunities"
603                     name="open"
604                     domain="[('state','=','open')]"/>
605                 <filter icon="terp-gtk-media-pause"
606                     string="Pending"  help="Pending Opportunities"
607                     name="pending"
608                     domain="[('state','=','pending')]"/>
609                 <separator orientation="vertical"/>
610                 <field name="name" string="Opportunity / Customer"
611                     filter_domain="['|','|','|',('partner_id','ilike',self),('partner_name','ilike',self),('email_from','ilike',self),('name', 'ilike', self)]"/>
612                 <field name="user_id">
613                     <filter icon="terp-personal-"
614                         domain="[('user_id','=', False)]"
615                         help="Unassigned Opportunities" />
616                 </field>
617                 <field name="section_id"
618                     context="{'invisible_section': False}"
619                     widget="selection">
620                     <filter icon="terp-personal+"
621                         domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
622                         context="{'invisible_section': False}"
623                         help="My Sales Team(s)" />
624                     <filter icon="terp-personal+"
625                         context="{'invisible_section': False}"
626                         domain="[]"
627                         help="Show Sales Team"/>
628                 </field>
629
630                 <newline/>
631                 <group expand="0" string="Group By..." colspan="16">
632                     <filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" />
633                     <filter string="Team" help="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}"/>
634                     <filter string="Customer" help="Partner" icon="terp-personal+" domain="[]" context="{'group_by':'partner_id'}"/>
635                     <separator orientation="vertical" />
636                     <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}" />
637                     <filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" />
638                     <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}" />
639                     <filter string="Campaign" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'type_id'}"/>
640                     <filter string="Channel" icon="terp-call-start" domain="[]" context="{'group_by':'channel_id'}" />
641                     <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
642                     <separator orientation="vertical" />
643                     <filter string="Creation" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/>
644                     <filter string="Exp.Closing" icon="terp-go-month" help="Expected Closing" domain="[]" context="{'group_by':'date_deadline'}" />
645                 </group>
646             </search>
647         </field>
648     </record>
649
650     <!-- crm.lead Opportunities Graph View -->
651     <record model="ir.ui.view" id="crm_case_graph_view_opportunity">
652         <field name="name">CRM - Opportunity Graph</field>
653         <field name="model">crm.lead</field>
654         <field name="type">graph</field>
655         <field name="arch" type="xml">
656             <graph string="Opportunity by Categories" type="bar" orientation="horizontal">
657                 <field name="categ_id"/>
658                 <field name="planned_revenue" operator="+"/>
659                 <field name="state" group="True"/>
660             </graph>
661         </field>
662     </record>
663
664 </data>
665 </openerp>