crm.lead kanban view part1
[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_sheet_width">
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
255                         <div class="oe_kanban_card oe_kanban_draghandle">
256                             <a class="oe_kanban_menuaction oe_i">B</a>
257                             <ul class="oe_kanban_menu" style="display:none;">
258                                 <li>item1</li>
259                                 <li>item2</li>
260                             </ul>
261                             <div class="oe_kanban_content">
262                                 <h3>
263                                     <field name="partner_id"/>
264                                     <t t-if="record.planned_revenue.raw_value">
265                                         - <t t-esc="Math.round(record.planned_revenue.value)"/>
266                                         <field name="company_currency"/>
267                                     </t>
268
269                                 </h3>
270                                 <div>
271                                     <b> <field name="partner_address_name"/> </b>
272                                 </div>
273                                 <div>
274                                     <field name="name"/>
275                                 </div>
276                                 <div style="padding-left: 0.5em">
277                                     <i>
278                                         <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>
279                                         <span t-attf-class="#{red || ''}">
280                                             <field name="date_action"/>
281                                         </span>
282                                         <t t-if="record.date_action.raw_value"> : </t>
283                                         <field name="title_action"/>
284                                     </i>
285                                 </div>
286                                 <div class="oe_right">
287                                     <a t-if="record.priority.raw_value == 1" icon="star-on" type="object" name="set_normal_priority"/>
288                                     <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);"/>
289                                     <!--
290                                     <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>
291                                     <span t-attf-class="oe_kanban_status #{red}"> </span>
292                                     -->
293                                     <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"/>
294                                 </div>
295                                 <div class="oe_kanban_footer_left">
296                                 </div>
297                             </div>
298                             <div class="oe_clear"></div>
299                         </div>
300
301                         <!--
302                         <div t-attf-class="#{kanban_color(record.color.raw_value)} #{border || ''}">
303                             <div class="oe_kanban_box oe_kanban_color_border">
304                                 <table class="oe_kanban_draghandle">
305                                 </table>
306                                 <div class="oe_kanban_box_show_onclick_trigger">
307                                 </div>
308                                 <div class="oe_kanban_buttons_set oe_kanban_color_border oe_kanban_color_bglight oe_kanban_box_show_onclick">
309                                     <div class="oe_kanban_left">
310                                         <a string="Edit" icon="gtk-edit" type="edit"/>
311                                         <a string="Change Color" icon="color-picker" type="color" name="color"/>
312                                         <a string="Send New Email" name="%(mail.action_email_compose_message_wizard)d" icon="terp-mail-message-new" type="action"/>
313                                         <a string="Log Call" name="%(opportunity2phonecall_act)d" icon="terp-call-start" type="action"/>
314                                         <a string="Schedule Meeting" name="action_makeMeeting" type="object" icon="stock_calendar"/>
315                                         <a string="Add Internal Note" name="%(crm.action_crm_add_note)d" context="{'model': 'crm.lead' }" icon="terp-document-new" type="action"/>
316                                     </div>
317                                     <div class="oe_kanban_right">
318                                         <a name="case_mark_lost" string="Mark Lost" states="open,pending" type="object" icon="kanban-stop" />
319                                         <a name="case_pending" string="Pending" states="draft,open" type="object" icon="kanban-pause" />
320                                         <a name="case_open" string="Open" states="pending" type="object" icon="gtk-media-play" />
321                                         <a name="case_mark_won" string="Mark Won" states="open,pending" type="object" icon="kanban-apply" />
322                                     </div>
323                                     <br class="oe_kanban_clear"/>
324                                 </div>
325                             </div>
326                         </div>
327                         -->
328                     </t>
329                 </templates>
330             </kanban>
331         </field>
332     </record>
333
334     <!-- CRM Lead Search View -->
335
336     <record id="view_crm_case_leads_filter" model="ir.ui.view">
337         <field name="name">CRM - Leads Search</field>
338         <field name="model">crm.lead</field>
339         <field name="type">search</field>
340         <field name="arch" type="xml">
341             <search string="Search Leads">
342                 <filter icon="terp-check"
343                     string="New"
344                     name="new" help="New Leads"
345                     domain="[('state','=','draft')]"/>
346                 <filter icon="terp-camera_test"
347                     string="Open"
348                     name="open"
349                     domain="[('state','=','open')]"/>
350                 <filter icon="terp-gtk-media-pause"
351                     string="Pending"
352                     name="pending"
353                     domain="[('state','=','pending')]"/>
354
355                 <separator orientation="vertical"/>
356                 <filter icon="terp-go-today" string="Today"
357                     domain="[('create_date','&lt;', time.strftime('%%Y-%%m-%%d 23:59:59')), ('create_date','&gt;=', time.strftime('%%Y-%%m-%%d 00:00:00'))]"
358                     help="Todays' Leads" />
359                 <filter icon="terp-go-week" string="7 Days"
360                     help="Leads creating during last 7 days"
361                     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'))]"
362                 />
363                 <separator orientation="vertical"/>
364                 <field name="name" string="Lead / Customer"
365                     filter_domain="['|','|',('partner_name','ilike',self),('email_from','ilike',self),('name','ilike',self)]"/>
366                 <field name="user_id">
367                     <filter icon="terp-personal-"
368                         domain="[('user_id','=', False)]"
369                         help="Unassigned Leads" />
370                 </field>
371                 <field name="subjects"/>
372                 <field name="section_id" widget="selection"
373                     context="{'invisible_section': False}">
374                     <filter icon="terp-personal+"
375                         context="{'invisible_section': False}"
376                         domain="['|', ('section_id', '=', context.get('section_id')), '|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
377                         help="My Sales Team(s)"/>
378                     <filter icon="terp-personal+"
379                         context="{'invisible_section': False}"
380                         domain="[]"
381                         help="Show Sales Team"/>
382                 </field>
383                 <separator orientation="vertical"/>
384                 <field name="country_id" context="{'invisible_country': False}">
385                     <filter icon="terp-personal+" context="{'invisible_country': False}" help="Show countries"/>
386                 </field>
387                 <newline/>
388                 <group expand="0" string="Group By...">
389                     <filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
390                     <filter string="Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}"/>
391                     <filter string="Referrer" icon="terp-personal" domain="[]" context="{'group_by':'referred'}"/>
392                     <separator orientation="vertical"/>
393                     <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}"/>
394                     <filter string="Campaign" icon="terp-gtk-jump-to-rtl"
395                         domain="[]" context="{'group_by':'type_id'}" />
396                     <filter string="Channel" icon="terp-call-start"
397                         domain="[]" context="{'group_by':'channel_id'}" />
398                     <separator orientation="vertical"/>
399                     <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
400                     <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
401                     <separator orientation="vertical" groups="base.group_no_one"/>
402                     <filter string="Creation" help="Create date" icon="terp-go-month"
403                         domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/>
404                 </group>
405            </search>
406         </field>
407     </record>
408
409
410     <!-- Opportunities Form View -->
411     <record model="ir.ui.view" id="crm_case_form_view_oppor">
412         <field name="name">Opportunities</field>
413         <field name="model">crm.lead</field>
414         <field name="type">form</field>
415         <field name="priority">20</field>
416         <field name="arch" type="xml">
417             <form string="Opportunities" layout="manual">
418                 <div class="oe_form_topbar oe_form_topbar_hifirst">
419                     <button name="case_cancel" string="Cancel" states="draft" type="object" icon="gtk-cancel" />
420                     <button name="case_mark_lost" string="Mark Lost" states="open,pending" type="object" icon="gtk-cancel" />
421                     <button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" icon="gtk-convert" />
422                     <button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward" />
423                     <button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause" />
424                     <button name="case_escalate" string="Escalate" states="open,pending" type="object" icon="gtk-go-up" />
425                     <button name="case_mark_won" string="Mark Won" states="open,pending" type="object" icon="gtk-apply" />
426                     <div class="oe_right">
427                         <field name="state" nolabel="1" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/>
428                     </div>
429                     <div class="oe_clear"/>
430                 </div>
431                 <sheet layout="auto">
432                 <group colspan="4" col="2" width="auto">
433                     <field name="name" required="1" nolabel="1" class="oe_form_title"/>
434                     <div class="oe_text_right">
435                         <button string="Schedule/Log Call"
436                             name="%(opportunity2phonecall_act)d" icon="terp-call-start"
437                             type="action"/>
438                         <button string="Schedule Meeting" icon="gtk-redo"
439                             name="action_makeMeeting"
440                             type="object"/>
441                     </div>
442                 </group>
443                 <group colspan="4" col="4" class="oe_form_group_label_border" style="margin-top: 20px;">
444                     <field name="user_id"/>
445                     <field name="planned_revenue"/>
446
447                     <field name="date_action"/>
448                     <field name="date_deadline"/>
449
450                     <field name="title_action"/>
451                     <field name="probability"/>
452
453                     <field name="type" invisible="1"/>
454                 </group>
455                 <notebook colspan="4">
456                 <page string="Opportunity">
457                     <group col="4" colspan="2">
458                         <separator colspan="4" string="Contacts"/>
459                         <group colspan="2" col="3" class="oe_form_group_label_border">
460                             <field width="80%%" name="partner_id" select="1"
461                                 on_change="onchange_partner_id(partner_id, email_from)" string="Customer"/>
462                             <button name="%(action_crm_lead2partner)d"
463                                 icon="terp-partner" type="action"
464                                 string="Create"
465                                 attrs="{'invisible':[('partner_id','!=',False)]}"/>
466
467                             <field name="phone" colspan="3"/>
468
469                             <field width="80%%" name="email_from" string="Email"/>
470                             <button string="Mail"
471                                 name="%(mail.action_email_compose_message_wizard)d"
472                                 context="{'mail':'new', 'model': 'crm.lead'}"
473                                 icon="terp-mail-message-new" type="action" />
474                         </group>
475                     </group>
476                     <group col="2" colspan="2" class="oe_form_group_label_border">
477                         <separator colspan="2" string="Categorization"/>
478                         <field name="section_id" colspan="1" widget="selection"/>
479                         <field name="categ_id" select="1"
480                             string="Category" widget="selection"
481                             domain="[('object_id.model', '=', 'crm.lead')]" />
482
483                         <label string="Stage" for="stage_id" align="1.0"/>
484                         <group colspan="1" col="3">
485                             <field name="stage_id" nolabel="1"
486                                 on_change="onchange_stage_id(stage_id)"
487                                 domain="section_id and [('section_ids', '=', section_id)] or []" width="60%%"/>
488                             <button name="stage_previous"
489                                 states="draft,open,pending" type="object"
490                                 icon="gtk-go-back" string="" context="{'stage_type': 'opportunity'}"/>
491                             <button name="stage_next" states="draft,open,pending"
492                                 type="object" icon="gtk-go-forward" string="" context="{'stage_type': 'opportunity'}"/>
493                         </group>
494
495                         <field name="priority" string="Priority"/>
496                     </group>
497
498                     <separator colspan="4" string="Details"/>
499                     <field name="description" nolabel="1" colspan="4"/>
500                 </page>
501                 <page string="Lead">
502                     <separator string="Contact" colspan="4"/>
503                     <group colspan="4" col="4" class="oe_form_group_label_border">
504                         <field name="partner_name" string="Customer Name" colspan="4"/>
505                     </group>
506                     <group colspan="2" col="2" class="oe_form_group_label_border">
507                         <field domain="[('domain', '=', 'contact')]" name="title" widget="selection"/>
508                         <field name="fax"/>
509                         <field name="street"/>
510                         <field name="zip"/>
511                         <field name="country_id"/>
512                     </group>
513                     <group colspan="2" col="2" class="oe_form_group_label_border">
514                         <field name="function" />
515                         <field name="mobile"/>
516                         <field name="street2"/>
517                         <field name="city"/>
518                         <field name="state_id"/>
519                     </group>
520
521                     <group colspan="2" col="2" class="oe_form_group_label_border">
522                         <separator string="Categorization" colspan="2"/>
523                         <field name="type_id" widget="selection"/>
524                         <field name="channel_id" widget="selection"/>
525                     </group>
526                     <group colspan="2" col="2" class="oe_form_group_label_border">
527                         <separator string="Mailings" colspan="2"/>
528                         <field name="opt_in" on_change="on_change_opt_in(opt_in)"/>
529                         <field name="opt_out" on_change="on_change_opt_out(opt_out)"/>
530                     </group>
531                 </page>
532                 <page string="Extra Info">
533                     <group col="2" colspan="2" class="oe_form_group_label_border">
534                         <separator string="Misc" colspan="2"/>
535                         <field name="active"/>
536                         <field name="day_open" groups="base.group_no_one"/>
537                         <field name="day_close" groups="base.group_no_one"/>
538                         <field name="referred"/>
539                     </group>
540                     <group col="2" colspan="2" class="oe_form_group_label_border">
541                         <separator colspan="4" string="References"/>
542                         <field name="ref"/>
543                         <field name="ref2"/>
544                     </group>
545                 </page>
546                 </notebook>
547                 </sheet>
548                 <div class="oe_form_sheet_width">
549                     <field name="message_ids_social" colspan="4" widget="ThreadView" nolabel="1"/>
550                 </div>
551             </form>
552         </field>
553     </record>
554
555     <!-- Opportunities Tree View -->
556     <record model="ir.ui.view" id="crm_case_tree_view_oppor">
557         <field name="name">Opportunities Tree</field>
558         <field name="model">crm.lead</field>
559         <field name="type">tree</field>
560         <field name="arch" type="xml">
561             <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)">
562                 <field name="needaction_pending" invisible="1"/>
563                 <field name="date_deadline" invisible="1"/>
564                 <field name="create_date" groups="base.group_no_one"/>
565                 <field name="name" string="Opportunity"/>
566                 <field name="partner_id" string="Customer"/>
567                 <field name="country_id" invisible="context.get('invisible_country', True)" />
568                 <field name="date_action"/>
569                 <field name="title_action" />
570                 <field name="channel_id" invisible="1"/>
571                 <field name="type_id" invisible="1"/>
572                 <field name="subjects" invisible="1"/>
573                 <field name="stage_id"/>
574                 <button name="stage_previous" string="Previous Stage" states="open,pending" type="object" icon="gtk-go-back" />
575                 <button name="stage_next" string="Next Stage" states="open,pending" type="object" icon="gtk-go-forward" />
576                 <field name="planned_revenue" sum="Expected Revenues"/>
577                 <field name="probability" widget="progressbar" avg="Avg. of Probability"/>
578                 <field name="section_id" invisible="context.get('invisible_section', True)" />
579                 <field name="user_id"/>
580                 <field name="priority" invisible="1"/>
581                 <field name="categ_id" invisible="1"/>
582                 <field name="state"/>
583                 <button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward" />
584                 <button name="case_pending" string="Pending" states="open,draft" type="object" icon="gtk-media-pause" />
585                 <button name="case_mark_lost" string="Lost" states="open,pending" type="object" icon="gtk-cancel" />
586                 <button name="case_mark_won" string="Won" states="open,pending" type="object" icon="gtk-apply" />
587             </tree>
588         </field>
589     </record>
590
591
592     <!-- Opportunities Search View -->
593     <record id="view_crm_case_opportunities_filter" model="ir.ui.view">
594         <field name="name">CRM - Opportunities Search</field>
595         <field name="model">crm.lead</field>
596         <field name="type">search</field>
597         <field name="arch" type="xml">
598             <search string="Search Opportunities">
599                 <filter icon="terp-check"
600                     string="New"  help="New Opportunities"
601                     name="new"
602                     domain="[('state','=','draft')]"/>
603                 <filter icon="terp-camera_test"
604                     string="Open"  help="Open Opportunities"
605                     name="open"
606                     domain="[('state','=','open')]"/>
607                 <filter icon="terp-gtk-media-pause"
608                     string="Pending"  help="Pending Opportunities"
609                     name="pending"
610                     domain="[('state','=','pending')]"/>
611                 <separator orientation="vertical"/>
612                 <field name="name" string="Opportunity / Customer"
613                     filter_domain="['|','|','|',('partner_id','ilike',self),('partner_name','ilike',self),('email_from','ilike',self),('name', 'ilike', self)]"/>
614                 <field name="user_id">
615                     <filter icon="terp-personal-"
616                         domain="[('user_id','=', False)]"
617                         help="Unassigned Opportunities" />
618                 </field>
619                 <field name="section_id"
620                     context="{'invisible_section': False}"
621                     widget="selection">
622                     <filter icon="terp-personal+"
623                         domain="['|', ('section_id', '=', context.get('section_id')), '|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
624                         context="{'invisible_section': False}"
625                         help="My Sales Team(s)" />
626                     <filter icon="terp-personal+"
627                         context="{'invisible_section': False}"
628                         domain="[]"
629                         help="Show Sales Team"/>
630                 </field>
631
632                 <newline/>
633                 <group expand="0" string="Group By..." colspan="16">
634                     <filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" />
635                     <filter string="Team" help="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}"/>
636                     <filter string="Customer" help="Partner" icon="terp-personal+" domain="[]" context="{'group_by':'partner_id'}"/>
637                     <separator orientation="vertical" />
638                     <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}" />
639                     <filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" />
640                     <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}" />
641                     <filter string="Campaign" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'type_id'}"/>
642                     <filter string="Channel" icon="terp-call-start" domain="[]" context="{'group_by':'channel_id'}" />
643                     <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
644                     <separator orientation="vertical" />
645                     <filter string="Creation" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/>
646                     <filter string="Exp.Closing" icon="terp-go-month" help="Expected Closing" domain="[]" context="{'group_by':'date_deadline'}" />
647                 </group>
648             </search>
649         </field>
650     </record>
651
652     <!-- crm.lead Opportunities Graph View -->
653     <record model="ir.ui.view" id="crm_case_graph_view_opportunity">
654         <field name="name">CRM - Opportunity Graph</field>
655         <field name="model">crm.lead</field>
656         <field name="type">graph</field>
657         <field name="arch" type="xml">
658             <graph string="Opportunity by Categories" type="bar" orientation="horizontal">
659                 <field name="categ_id"/>
660                 <field name="planned_revenue" operator="+"/>
661                 <field name="state" group="True"/>
662             </graph>
663         </field>
664     </record>
665
666 </data>
667 </openerp>