4 <!-- Opportunities Form View -->
5 <record model="ir.ui.view" id="crm_case_form_view_oppor">
6 <field name="name">Opportunities</field>
7 <field name="model">crm.lead</field>
8 <field name="type">form</field>
9 <field name="priority">10</field>
10 <field name="arch" type="xml">
11 <form string="Opportunities">
12 <group colspan="4" col="7">
13 <field name="name" required="1" string="Opportunity"/>
14 <label string="Stage:" align="1.0"/>
15 <group colspan="1" col="4">
16 <field name="stage_id" nolabel="1"
18 on_change="onchange_stage_id(stage_id)"
19 domain="[('object_id.model', '=', 'crm.lead')]"/>
20 <button name="stage_previous"
21 states="draft,open,pending" type="object"
22 icon="gtk-go-back" string="" />
23 <button name="stage_next" states="draft,open,pending"
24 type="object" icon="gtk-go-forward" string="" />
26 <field name="user_id"/>
28 <button name="action_makeMeeting" type="object"
29 string="Schedule Meeting" icon="gtk-redo" />
31 <field name="planned_revenue"/>
32 <field name="probability"/>
33 <field name="date_deadline"/>
34 <button string="Schedule/Log Call"
35 name="%(opportunity2phonecall_act)d" icon="terp-call-start" type="action" groups="base.group_extended"/>
37 <field name="date_action"/>
38 <field name="title_action"/>
39 <field name="priority" string="Priority"/>
41 <field name="type" invisible="1"/>
43 <notebook colspan="4">
44 <page string="Opportunity">
45 <group col="4" colspan="2">
46 <separator colspan="4" string="Contacts"/>
48 <field name="partner_id" select="1"
49 on_change="onchange_partner_id(partner_id, email_from)" string="Customer"
51 <button name="%(action_crm_lead2partner)d"
52 icon="terp-partner" type="action"
54 attrs="{'invisible':[('partner_id','!=',False)]}"/>
56 <field name="partner_address_id"
58 on_change="onchange_partner_address_id(partner_address_id, email_from)"
60 <field name="email_from" string="Email" />
63 <group col="2" colspan="2">
64 <separator colspan="2" string="Categorization"/>
65 <field name="section_id" colspan="1" widget="selection"/>
66 <field name="categ_id" select="1"
67 string="Category" widget="selection"
68 domain="[('object_id.model', '=', 'crm.lead')]" />
71 <separator colspan="4" string="Details"/>
72 <field name="description" nolabel="1" colspan="4"/>
74 <separator colspan="4"/>
75 <group col="10" colspan="4">
77 <button name="case_cancel" string="Cancel"
78 states="draft" type="object"
80 <button name="case_reset" string="Reset to Draft"
81 states="done,cancel" type="object"
83 <button name="case_open" string="Open"
84 states="draft,pending" type="object"
85 icon="gtk-go-forward" />
86 <button name="case_pending" string="Pending"
87 states="draft,open" type="object"
88 icon="gtk-media-pause" />
89 <button name="case_escalate" string="Escalate"
90 states="open,pending" type="object"
91 groups="base.group_extended"
93 <button name="case_mark_lost" string="Mark Lost"
94 states="open,pending" type="object"
96 <button name="case_close" string="Mark Won"
97 states="open,pending" type="object"
102 <group colspan="2" col="4">
103 <separator string="Contact" colspan="4" col="4"/>
104 <field name="partner_name" string="Customer Name" colspan="4"/>
106 <field domain="[('domain', '=', 'contact')]" name="title" widget="selection"/>
107 <field name="function" />
108 <field name="street" colspan="4"/>
109 <field name="street2" colspan="4"/>
112 <field name="country_id"/>
113 <field name="state_id"/>
115 <group colspan="2" col="2">
116 <separator string="Communication" colspan="2"/>
118 <field name="mobile"/>
120 <group colspan="2" col="2">
121 <separator string="Categorization" colspan="2"/>
122 <field name="type_id" widget="selection" groups="base.group_extended"/>
123 <field name="channel_id" widget="selection"/>
125 <group colspan="2" col="2">
126 <separator string="Mailings" colspan="2"/>
127 <field name="optin"/>
128 <field name="optout"/>
132 <page string="History" groups="base.group_extended">
134 <field colspan="4" name="email_cc" string="Global CC" widget="char" size="512"/>
136 <field name="message_ids" colspan="4" nolabel="1" mode="tree,form">
137 <tree string="History">
138 <field name="display_text" string="History Information"/>
139 <field name="history" invisible="1"/>
141 string="Reply" attrs="{'invisible': [('history', '!=', True)]}"
142 name="%(crm.action_crm_send_mail)d"
143 context="{'mail':'reply', 'model': 'crm.lead', 'include_original' : True}"
144 icon="terp-mail-replied" type="action" />
146 <form string="History">
147 <group col="4" colspan="4">
148 <field name="email_from"/>
150 <field name="email_to" size="512"/>
151 <field name="email_cc" size="512"/>
152 <field name="name" colspan="4"/>
153 <field name="history" invisible="1"/>
155 <notebook colspan="4">
156 <page string="Details">
157 <group attrs="{'invisible': [('history', '!=', True)]}">
158 <field name="description" colspan="4" nolabel="1" height="250"/>
161 name="%(crm.action_crm_send_mail)d"
162 context="{'mail':'reply', 'model': 'crm.lead', 'include_original' : True}"
163 icon="terp-mail-replied" type="action" />
165 <group attrs="{'invisible': [('history', '=', True)]}">
166 <field name="display_text" colspan="4" nolabel="1" height="250"/>
169 <page string="Attachments">
170 <field name="attachment_ids" colspan="4" readonly="1" nolabel="1"/>
175 <button string="Add Internal Note"
176 name="%(crm.action_crm_add_note)d"
177 context="{'model': 'crm.lead' }"
178 icon="terp-document-new" type="action" />
179 <button string="Send New Email"
180 name="%(crm.action_crm_send_mail)d"
181 context="{'mail':'new', 'model': 'crm.lead'}"
182 icon="terp-mail-message-new" type="action" />
184 <page string="Extra Info" groups="base.group_extended">
185 <group col="2" colspan="2">
186 <separator string="Dates" colspan="2"/>
187 <field name="create_date"/>
188 <field name="write_date"/>
189 <field name="date_closed"/>
190 <field name="date_open"/>
192 <group col="2" colspan="2">
193 <separator string="Misc" colspan="2"/>
194 <field name="active"/>
195 <field name="day_open"/>
196 <field name="day_close"/>
197 <field name="referred"/>
199 <separator colspan="4" string="References"/>
208 <!-- Opportunities Tree View -->
210 <record model="ir.ui.view" id="crm_case_tree_view_oppor">
211 <field name="name">Opportunities Tree</field>
212 <field name="model">crm.lead</field>
213 <field name="type">tree</field>
214 <field name="arch" type="xml">
215 <tree string="Opportunities" colors="blue:state=='pending' and not(date_deadline and (date_deadline < current_date));gray:state in ('cancel', 'done');red:date_deadline and (date_deadline < current_date)">
216 <field name="date_deadline" invisible="1"/>
217 <field name="create_date"/>
218 <field name="name" string="Opportunity"/>
219 <field name="partner_id" string="Customer"/>
220 <field name="country_id" invisible="context.get('invisible_country', True)" />
221 <field name="date_action"/>
222 <field name="title_action" />
223 <field name="stage_id"/>
224 <field name="channel_id" invisible="1"/>
225 <field name="type_id" invisible="1"/>
226 <button name="stage_previous" string="Previous Stage"
227 states="open,pending" type="object" icon="gtk-go-back" />
228 <button name="stage_next" string="Next Stage"
229 states="open,pending" type="object"
230 icon="gtk-go-forward" />
231 <field name="planned_revenue" sum="Expected Revenues"/>
232 <field name="probability" widget="progressbar" avg="Avg. of Probability"/>
233 <field name="section_id"
234 invisible="context.get('invisible_section', True)" />
235 <field name="user_id"/>
236 <field name="priority" invisible="1"/>
237 <field name="categ_id" invisible="1"/>
238 <field name="state"/>
239 <button name="case_open" string="Open"
240 states="draft,pending" type="object"
241 icon="gtk-go-forward" />
242 <button name="case_pending" string="Pending"
243 states="open,draft" type="object"
244 icon="gtk-media-pause" />
245 <button name="case_close" string="Won"
246 states="open,draft,pending" type="object"
252 <!-- Opportunities Graph View -->
254 <record model="ir.ui.view" id="crm_case_graph_view_opportunity">
255 <field name="name">CRM - Opportunity Graph</field>
256 <field name="model">crm.lead</field>
257 <field name="type">graph</field>
258 <field name="arch" type="xml">
259 <graph string="Opportunity by Categories" type="bar" orientation="horizontal">
260 <field name="categ_id"/>
261 <field name="planned_revenue" operator="+"/>
262 <field name="state" group="True"/>
267 <!-- Opportunities Search View -->
269 <record id="view_crm_case_opportunities_filter" model="ir.ui.view">
270 <field name="name">CRM - Opportunities Search</field>
271 <field name="model">crm.lead</field>
272 <field name="type">search</field>
273 <field name="arch" type="xml">
274 <search string="Search Opportunities">
275 <filter icon="terp-check"
276 string="Current" help="Draft and Open Opportunities"
278 domain="[('state','in',('draft','open'))]"/>
279 <filter icon="terp-camera_test"
280 string="Open" help="Open Opportunities"
281 domain="[('state','=','open')]"/>
282 <filter icon="terp-gtk-media-pause"
283 string="Pending" help="Pending Opportunities"
284 domain="[('state','=','pending')]"/>
285 <separator orientation="vertical"/>
286 <field name="name" string="Opportunity"/>
287 <field name="partner_id" string="Customer"/>
288 <field name="user_id">
289 <filter icon="terp-personal-"
290 domain="[('user_id','=', False)]"
291 help="Unassigned Opportunities" />
293 <field name="section_id"
294 default="context.get('section_id', False)"
295 context="{'invisible_section': False}"
297 <filter icon="terp-personal+"
298 domain="['|', ('section_id', '=', context.get('section_id')), '|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
299 context="{'invisible_section': False}"
300 help="My Sales Team(s)" />
301 <filter icon="terp-personal+"
302 context="{'invisible_section': False}"
304 help="Show Sales Team"/>
307 <group expand="0" string="Extended Filters..." groups="base.group_extended">
308 <field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
309 <field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
310 <separator orientation="vertical"/>
311 <field name="country_id" context="{'invisible_country': False}">
312 <filter icon="terp-personal+" context="{'invisible_country': False}" help="Show countries"/>
314 <separator orientation="vertical"/>
315 <field name="company_id" widget="selection" groups="base.group_multi_company"/>
317 <field name="create_date" string="Creation Date"/>
318 <field name="date_closed"/>
321 <group expand="0" string="Group By..." colspan="16">
322 <filter string="Salesman" icon="terp-personal"
323 domain="[]" context="{'group_by':'user_id'}" />
324 <filter string="Team" help="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}"/>
325 <separator orientation="vertical" />
326 <filter string="Stage" icon="terp-stage" domain="[]"
327 context="{'group_by':'stage_id'}" />
328 <filter string="Priority" icon="terp-rating-rated" domain="[]"
329 context="{'group_by':'priority'}" />
330 <filter string="Category" icon="terp-stock_symbol-selection"
331 domain="[]" context="{'group_by':'categ_id'}" />
332 <filter string="Campaign" icon="terp-stock_symbol-selection"
333 domain="[]" context="{'group_by':'type_id'}" groups="base.group_extended"/>
334 <filter string="Channel" icon="terp-stock_symbol-selection"
335 domain="[]" context="{'group_by':'channel_id'}" />
336 <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
337 <separator orientation="vertical" />
338 <filter string="Creation" icon="terp-go-month"
339 domain="[]" context="{'group_by':'create_date'}" />
340 <filter string="Exp.Closing"
342 help="Expected Closing" domain="[]"
343 context="{'group_by':'date_deadline'}" />
350 <!-- Opportunities Graph View -->
352 <record model="ir.ui.view" id="crm_case_graph_view_opportunity">
353 <field name="name">CRM - Opportunity Graph</field>
354 <field name="model">crm.lead</field>
355 <field name="type">graph</field>
356 <field name="arch" type="xml">
357 <graph string="Opportunity by Categories" type="bar" orientation="horizontal">
358 <field name="categ_id"/>
359 <field name="planned_revenue" operator="+"/>
360 <field name="state" group="True"/>