[IMP]: crm: Apply doc string + optimization
[odoo/odoo.git] / addons / crm / crm_opportunity_view.xml
1 <?xml version="1.0"?>
2 <openerp>
3 <data>
4
5 <!-- Opportunity Categories Form View -->
6
7     <record id="crm_opportunity_categ_action" model="ir.actions.act_window">
8         <field name="name">Opportunity Categories</field>
9         <field name="res_model">crm.case.categ</field>
10         <field name="view_type">form</field>
11         <field name="view_id"  ref="crm.crm_case_categ_tree-view"/>
12         <field name="domain">[('object_id.model', '=', 'crm.opportunity')]</field>
13         <field name="context">{'object_id':'crm.opportunity'}</field>
14     </record>
15
16     <menuitem action="crm_opportunity_categ_action"
17         id="menu_crm_case_opportunity-act"
18         parent="crm.menu_crm_case_categ" />
19
20 <!-- Opportunity Stages Form View-->
21
22         <record id="crm_opportunity_stage_act" model="ir.actions.act_window">
23             <field name="name">Opportunity Stages</field>
24             <field name="res_model">crm.case.stage</field>
25             <field name="view_type">form</field>
26              <field name="view_id" ref="crm.crm_case_stage_tree"/>
27             <field name="domain">[('object_id.model', '=', 'crm.opportunity')]</field>
28              <field name="context">{'object_id':'crm.opportunity'}</field>
29         </record>
30
31         <menuitem action="crm_opportunity_stage_act"
32                 id="menu_crm_opportunity_stage_act"
33                 parent="crm.menu_crm_case_stage" />
34
35 <!-- Opportunity Resource Type Form View -->
36
37         <record id="crm_opportunity_resource_act" model="ir.actions.act_window">
38             <field name="name">Opportunity Resource Type</field>
39             <field name="res_model">crm.case.resource.type</field>
40             <field name="view_type">form</field>
41             <field name="view_id" ref="crm.crm_case_resource_type_tree"/>
42             <field name="domain">[('object_id.model', '=', 'crm.opportunity')]</field>
43              <field name="context">{'object_id':'crm.opportunity'}</field>
44         </record>
45
46         <menuitem action="crm_opportunity_resource_act"
47                 id="menu_crm_opportunity_resource_act"
48                 parent="crm.menu_crm_case_resource_type" />
49
50
51 <!-- Opportunities Form View -->
52
53     <record model="ir.ui.view" id="crm_case_form_view_oppor">
54         <field name="name">Opportunities</field>
55         <field name="model">crm.opportunity</field>
56         <field name="type">form</field>
57         <field name="arch" type="xml">
58             <form string="Opportunities">
59                 <group colspan="4" col="7">
60                     <field name="name" string="Opportunity"/>
61                     <label string="Stage:" align="1.0"/>
62                     <group colspan="1" col="4">
63                         <field name="stage_id" nolabel="1"
64                                 on_change="onchange_stage_id(stage_id)"
65                                 widget="selection"
66                                 domain="[('object_id.model', '=', 'crm.opportunity')]" />
67                         <button name="stage_previous"
68                                 states="open,pending" type="object"
69                                 icon="gtk-go-back" string="" />
70                         <button name="stage_next" states="open,pending"
71                                 type="object" icon="gtk-go-forward" string="" />
72                     </group>
73                     <field name="user_id"/>
74                     <button string="Schedule Meeting"
75                         name="%(wizard_crm_opportunity_meeting_set)d" icon="gtk-redo" type="action" />
76                     <field name="planned_revenue"/>
77                     <field name="probability"/>
78                     <field name="date_deadline" string="Expected Closing"/>
79                     <button string="Schedule Call"
80                         name="%(opportunity2phonecall_act)d" icon="gtk-redo" type="action"  />
81                 </group>
82                 <notebook colspan="4">
83                 <page string="Opportunity">
84                     <group col="3" colspan="2">
85                         <separator colspan="3" string="Contacts"/>
86                         <field name="partner_id" select="1"
87                                 on_change="onchange_partner_id(partner_id, email_from)"
88                                 colspan="2" />
89                         <field name="partner_address_id"
90                                 string="Contact"
91                                 on_change="onchange_partner_address_id(partner_address_id, email_from)"
92                                 colspan="1" />
93                         <field name="email_from" string="Email" />
94                         <field name="phone"/>
95                     </group>
96                     <group col="2" colspan="2">
97                         <separator colspan="2" string="Categorization"/>
98                         <field name="type_id" select="1" string="Campaign"/>
99                         <field name="section_id" colspan="1" widget="selection"/>
100                         <field name="priority" string="Priority"/>
101                         <field name="categ_id" select="1"
102                                 string="Category" widget="selection"
103                                 domain="[('object_id.model', '=', 'crm.opportunity')]" />
104                     </group>
105
106                     <separator colspan="4" string="Details"/>
107                     <field name="description" nolabel="1" colspan="4"/>
108
109                     <separator colspan="4"/>
110                     <group col="8" colspan="4">
111                         <field name="state" select="2"/>
112                         <button name="case_open" string="Open"
113                                 states="draft,pending" type="object"
114                                 icon="gtk-go-forward" />
115                         <button name="case_escalate" string="Escalate"
116                                 states="open,draft,pending" type="object"
117                                 icon="gtk-go-up" />
118                         <button name="case_pending" string="Pending"
119                                 states="draft,open" type="object"
120                                 icon="gtk-media-pause" />
121                         <button name="case_close" string="Mark Won"
122                                 states="open,draft,pending" type="object"
123                                 icon="gtk-close" />
124                         <button name="case_cancel" string="Mark Lost"
125                                 states="draft,open,pending" type="object"
126                                 icon="gtk-cancel" />
127                         <button name="case_reset" string="Reset to New"
128                                 states="done,cancel" type="object"
129                                 icon="gtk-convert" />
130                     </group>
131                 </page>
132
133                 <page string="History" groups="base.group_extended">
134                     <group col="2" colspan="2">
135                         <separator string="Dates" colspan="2"/>
136                         <field name="create_date"/>
137                         <field name="write_date"/>
138                         <field name="date_closed"/>
139                     </group>
140                     <group col="2" colspan="2">
141                         <separator string="Misc" colspan="2"/>
142                         <field name="active"/>
143                         <field name="day_open"/>
144                         <field name="day_close"/>
145                     </group>
146                     <separator colspan="4" string="References"/>
147                     <field name="ref"/>
148                     <field name="ref2"/>
149                     <field name="log_ids" nolabel="1" colspan="4">
150                         <form string="Actions">
151                             <separator string="Action Information" colspan="4"/>
152                             <field name="name" colspan="4"/>
153                             <field name="date"/>
154                             <field name="user_id"/>
155                             <field name="som"/>
156                             <field name="canal_id"/>
157                         </form>
158                     </field>
159                 </page>
160                  <page string="Emails" groups="base.group_extended">
161                    <group colspan="4">
162                        <field colspan="4" name="email_cc" string="CC"/>
163                    </group>
164                     <field name="history_line" colspan="4" nolabel="1" mode="form,tree">
165                         <form string="Communication history">
166                             <group col="7" colspan="4">
167                                 <field name="date"/>
168                                 <field name="email"/>
169                                 <field name="canal_id"/>
170                                 <button
171                                    string="Add a CC"
172                                     name="%(crm.action_view_crm_email_add_cc_wizard)d"
173                                     icon="gtk-add" type="action"/>
174                             </group>
175                             <newline/>
176                             <field name="description" colspan="4"
177                                 nolabel="1" widget="text_tag" readonly="1" />
178                             <button colspan="4"
179                                 string="Reply to Last Email"
180                                 name="%(crm.action_crm_reply_mail)d"
181                                 context="{'mail':'reply', 'model': 'crm.opportunity'}" icon="gtk-undo"
182                                 type="action" />
183                         </form>
184                         <tree string="Communication history">
185                             <field name="description"/>
186                             <field name="email"/>
187                             <field name="date"/>
188                         </tree>
189                     </field>
190                     <button colspan="4" string="Send New Email"
191                         name="%(crm.action_crm_send_mail)d"
192                         context="{'mail':'new', 'model': 'crm.opportunity'}" icon="gtk-go-forward"
193                         type="action" />
194                  </page>
195                 </notebook>
196             </form>
197         </field>
198     </record>
199
200 <!-- Opportunities Tree View -->
201
202     <record model="ir.ui.view" id="crm_case_tree_view_oppor">
203         <field name="name">Opportunities Tree</field>
204         <field name="model">crm.opportunity</field>
205         <field name="type">tree</field>
206         <field name="arch" type="xml">
207             <tree string="Opportunities"  colors="blue:state=='pending';grey:state in ('cancel','done')">
208                 <field name="create_date"/>
209                 <field name="name" string="Opportunity"/>
210                 <field name="partner_id"/>
211                 <field name="stage_id"/>
212                 <field name="categ_id" invisible="1"/>
213                 <field name="type_id" invisible="1"/>
214                 <button name="stage_previous" string="Previous"
215                         states="open,pending" type="object" icon="gtk-go-back" />
216                 <button name="stage_next" string="Next"
217                         states="open,pending" type="object"
218                         icon="gtk-go-forward" />
219                 <field name="planned_revenue" sum="Total of Planned Revenue"/>
220                 <field name="probability" widget="progressbar" avg="Avg. of Probability"/>
221                 <field name="date_deadline" string="Excepted Closing"/>
222                 <field name="section_id"/>
223                 <field name="user_id"/>
224                 <field name="state"/>
225                 <button name="case_open" string="Open"
226                         states="draft,pending" type="object"
227                         icon="gtk-go-forward" />
228                 <button name="case_close" string="Won"
229                         states="open,draft,pending" type="object"
230                         icon="gtk-close" />
231                 <button name="case_pending" string="Pending"
232                         states="open,draft" type="object"
233                         icon="gtk-media-pause" />
234                 <button name="case_cancel" string="Lost"
235                         states="draft,open,pending" type="object"
236                         icon="gtk-cancel" />
237             </tree>
238         </field>
239     </record>
240
241 <!-- Opportunities Graph View -->
242
243     <record model="ir.ui.view" id="crm_case_graph_view_opportunity">
244         <field name="name">CRM - Opportunity Graph</field>
245         <field name="model">crm.opportunity</field>
246         <field name="type">graph</field>
247         <field name="arch" type="xml">
248             <graph string="Opportunity by Categories" type="bar" orientation="horizontal">
249                 <field name="categ_id"/>
250                 <field name="planned_cost" operator="+"/>
251                 <field name="state" group="True"/>
252             </graph>
253         </field>
254     </record>
255
256 <!-- Opportunities Search View -->
257
258     <record id="view_crm_case_opportunities_filter" model="ir.ui.view">
259         <field name="name">CRM - Opportunities Search</field>
260         <field name="model">crm.opportunity</field>
261         <field name="type">search</field>
262         <field name="arch" type="xml">
263             <search string="Search Opportunities">
264                 <filter icon="gtk-home" string="Today"
265                     domain="[('create_date','&lt;', time.strftime('%%Y-%%m-%%d 23:59:59')), ('create_date','&gt;=', time.strftime('%%Y-%%m-%%d 23:59:59'))]"
266                     help="Todays' Opportunities" />
267
268                 <filter icon="gtk-media-rewind" string="7 Days"
269                     help="Opportunities during last 7 days"
270                     domain="[('create_date','&lt;', time.strftime('%%Y-%%m-%%d')),\
271                          ('create_date','&gt;=',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
272                 />
273                 <separator orientation="vertical"/>
274                 <field name="name" string="Opportunity"/>
275                 <field name="partner_id"/>
276                 <field name="user_id" widget="selection">
277                     <filter icon="terp-partner"
278                         domain="[('user_id','=',uid)]"
279                         help="My Opportunities" default="1"
280                     />
281                 </field>
282                 <field name="section_id"
283                         default="context.get('section_id', False)" select="1"
284                         widget="selection">
285                         <filter icon="terp-crm"
286                                 domain="[('section_id','=',context.get('section_id',False))]"
287                                 help="My section" />
288                 </field>
289                 <field name="state">
290                     <filter icon="gtk-media-rewind"
291                         help="New and open opportunities"
292                         default="1"
293                         domain="[('state','in',('draft','open'))]" />
294                 </field>
295                 <newline/>
296                 <group expand="1" string="Group By..." colspan="4">
297                     <filter string="Stage" icon="terp-crm" domain="[]"
298                         context="{'group_by':'stage_id'}" />
299
300                     <filter string="Category" icon="terp-crm"
301                         domain="[]" context="{'group_by':'categ_id'}" />
302
303                     <filter string="Campaign" icon="terp-crm"
304                         domain="[]" context="{'group_by':'type_id'}" />
305
306                     <separator orientation="vertical" />
307                     <filter string="Partner" icon="terp-crm" domain="[]"
308                         context="{'group_by':'partner_id'}" />
309
310                     <filter string="Salesman" icon="terp-crm"
311                         domain="[]" context="{'group_by':'user_id'}" />
312
313                     <separator orientation="vertical" />
314                     <filter string="Creation" icon="terp-project"
315                         domain="[]" context="{'group_by':'create_date'}" />
316
317                     <filter string="Exp.Closing" icon="terp-project"
318                         domain="[]" context="{'group_by':'date_deadline'}" />
319                 </group>
320            </search>
321         </field>
322     </record>
323 </data>
324 </openerp>