[ADD] Added kanban global click to opportunities
[odoo/odoo.git] / addons / marketing_campaign / marketing_campaign_view.xml
1 <?xml version="1.0"?>
2 <openerp>
3     <data>
4
5     <menuitem name="Configuration" id="menu_marketing_configuration" parent="base.marketing_menu" sequence="1"/>
6
7     <!--
8     ======================
9     Marketing Campaign
10     ======================
11     -->
12
13     <record model="ir.ui.view" id="view_marketing_campaign_form">
14         <field name="name">marketing.campaign.form</field>
15         <field name="model">marketing.campaign</field>
16         <field name="type">form</field>
17         <field name="arch" type="xml">
18             <form version="7.0">
19             <header>
20                 <button name="state_running_set" string="Run" states="draft"/>
21                 <button name="state_done_set" string="Done" states="running"/>
22                 <button name="state_draft_set" string="Set to Draft" states="done,cancelled"/>
23                 <button name="state_cancel_set" string="Cancel" states="running"/>
24                 <field name="state" readonly="1" widget="statusbar" statusbar_visible="draft,running,done"/>
25             </header>
26             <sheet string="Campaign">
27                 <group>
28                     <group string="Campaign">
29                         <field name="name"/>
30                         <field name="mode"/>
31                     </group>
32                     <group string="Resource">
33                         <field name="object_id"/>
34                         <field name="partner_field_id"/>
35                         <field name="unique_field_id"/>
36                     </group>
37                     <group string="Cost">
38                         <field name="fixed_cost"/>
39                     </group>
40                 </group>
41                 <field name="activity_ids" context="{'default_object_id': object_id, 'default_campaign_id': active_id}" />
42             </sheet>
43             </form>
44         </field>
45     </record>
46
47     <record model="ir.ui.view" id="view_marketing_campaign_tree">
48         <field name="name">marketing.campaign.tree</field>
49         <field name="model">marketing.campaign</field>
50         <field name="type">tree</field>
51         <field name="arch" type="xml">
52             <tree colors="blue:state == 'draft';black:state == 'running';gray:state in ('done','cancelled')" string="Campaigns">
53                 <field name="name"/>
54                 <field name="object_id"/>
55                 <field name="mode"/>
56                 <field name="fixed_cost"/>
57                 <field name="state"/>
58             </tree>
59         </field>
60     </record>
61
62     <record id="view_marketing_campaign_diagram" model="ir.ui.view">
63         <field name="name">marketing.campaign.diagram</field>
64         <field name="model">marketing.campaign</field>
65         <field name="type">diagram</field>
66         <field name="arch" type="xml">
67             <diagram string="Campaign Editor">
68                 <node object="marketing.campaign.activity" shape="rectangle:type=='subcampaign'" bgcolor="gray:start==True">
69                     <field name="name"/>
70                     <field name="type"/>
71                     <field name="start" invisible="1"/>
72                     <field name="condition" widget="char"/>
73                 </node>
74                 <arrow object="marketing.campaign.transition" source="activity_from_id" destination="activity_to_id" label="['name']">
75                     <field name="activity_from_id"/>
76                     <field name="activity_to_id"/>
77                     <field name="interval_nbr"/>
78                     <field name="interval_type"/>
79                 </arrow>
80             </diagram>
81         </field>
82     </record>
83
84     <record id="view_marketing_campaign_search" model="ir.ui.view">
85         <field name="name">marketing.campaign.search</field>
86         <field name="model">marketing.campaign</field>
87         <field name="type">search</field>
88         <field name="arch" type="xml">
89             <search string="Campaigns">
90                 <field name="name" string="Campaign"/>
91                 <separator orientation="vertical"/>
92                 <filter icon="terp-document-new" string="Draft" name="draft" domain="[('state','=','draft')]"/>
93                 <filter icon="terp-check" string="Running" domain="[('state','=','running')]"/>
94                 <filter icon="terp-gtk-jump-to-rtl" string="Test Mode" name="test" domain="[('mode','=','test')]"/>
95                 <filter icon="terp-gtk-jump-to-rtl" string="Manual Mode" domain="[('mode','=','manual')]"/>
96                 <separator orientation="vertical"/>
97                 <field name="object_id" string="Resource"/>
98                 <newline/>
99                 <group expand="0" string="Group By...">
100                     <filter string="Resource" name="Object" icon="terp-accessories-archiver" context="{'group_by':'object_id'}"/>
101                     <separator orientation="vertical"/>
102                     <filter string="Mode" name="Mode" icon="terp-gtk-jump-to-rtl" context="{'group_by':'mode'}"/>
103                     <separator orientation="vertical"/>
104                     <filter string="Status" name="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
105                 </group>
106             </search>
107         </field>
108     </record>
109
110     <record model="ir.actions.act_window" id="action_marketing_campaign_form">
111         <field name="name">Campaigns</field>
112         <field name="type">ir.actions.act_window</field>
113         <field name="res_model">marketing.campaign</field>
114         <field name="view_type">form</field>
115         <field name="view_mode">tree,form,diagram</field>
116         <field name="view_id" ref="view_marketing_campaign_tree"/>
117         <field name="context">{'group_by': []}</field>
118         <field name="search_view_id" ref="view_marketing_campaign_search"/>
119         <field name="help">A marketing campaign is an event or activity that will help you manage and reach your partners with specific messages. A campaign can have many activities that will be triggered from a specific situation. One action could be sending an email template that has previously been created in the system.</field>
120     </record>
121
122     <menuitem name="Campaigns" id="menu_marketing_campaign" parent="base.marketing_menu"/>
123     <menuitem id="menu_marketing_campaign_form" parent="menu_marketing_campaign" action="action_marketing_campaign_form" sequence="30" />
124
125     <!--
126     ======================
127     Marketing Segments
128     ======================
129     -->
130
131     <record model="ir.ui.view" id="view_marketing_campaign_segment_form">
132         <field name="name">marketing.campaign.segment.form</field>
133         <field name="model">marketing.campaign.segment</field>
134         <field name="type">form</field>
135         <field name="arch" type="xml">
136             <form version="7.0">
137             <header>
138                 <button name="state_running_set" string="Run" states="draft"/>
139                 <button name="state_done_set" string="Close" states="running"/>
140                 <button name="state_draft_set" string="Set to Draft" states="done,cancelled"/>
141                 <button name="state_cancel_set" string="Cancel" states="running"/>
142                 <field name="state" readonly="1" widget="statusbar" statusbar_visible="draft,running,done"/>
143             </header>
144             <sheet string="Segments" layout="auto">
145                 <group>
146                     <group string="Segment">
147                         <field name="name"/>
148                         <field name="campaign_id" on_change="onchange_campaign_id(campaign_id)"/>
149                         <field name="object_id" invisible="1"/>
150                     </group>
151                     <group string="Filter">
152                         <field name="ir_filter_id"/>
153                     </group>
154                     <group string="Synchronization">
155                        <field name="sync_mode" required="True"/>
156                        <label for="sync_last_date"/>
157                        <div>
158                            <field name="sync_last_date" class="oe_inline"/>
159                            <button string="Synchronize Manually" states="running" name="synchroniz" type="object"/>
160                        </div>
161                        <field name="date_next_sync"/>
162                     </group>
163                     <group string="History">
164                         <field name="date_run" readonly="1"/>
165                         <field name="date_done" readonly="1"/>
166                     </group>
167                 </group>
168             </sheet>
169             </form>
170         </field>
171     </record>
172
173     <record model="ir.ui.view" id="view_marketing_campaign_segment_tree">
174         <field name="name">marketing.campaign.segment.tree</field>
175         <field name="model">marketing.campaign.segment</field>
176         <field name="type">tree</field>
177         <field name="arch" type="xml">
178             <tree colors="blue:state == 'draft';black:state == 'running';gray:state in ('done','cancelled')" string="Segments">
179                 <field name="name"/>
180                 <field name="campaign_id"/>
181                 <field name="date_run"/>
182                 <field name="sync_last_date"/>
183                 <field name="state" />
184             </tree>
185         </field>
186     </record>
187
188     <record id="view_marketing_campaign_segment_search" model="ir.ui.view">
189         <field name="name">marketing.campaign.segment.search</field>
190         <field name="model">marketing.campaign.segment</field>
191         <field name="type">search</field>
192         <field name="arch" type="xml">
193             <search string="Segments">
194                 <field name="name" string="Segment"/>
195                 <separator orientation="vertical"/>
196                 <field name="date_run"/>
197                 <separator orientation="vertical"/>
198                 <filter icon="terp-check" string="Running" name="running" domain="[('state','=','running')]"/>
199                 <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]"/>
200                 <filter icon="terp-gtk-jump-to-ltr" string="Newly Created" help="Sync mode: only records created after last sync" domain="[('sync_mode','=','create_date')]"/>
201                 <filter icon="terp-stock_effects-object-colorize" string="Newly Modified" help="Sync mode: only records updated after last sync" domain="[('sync_mode','=','write_date')]"/>
202                 <filter icon="terp-emblem-documents" string="All" help="Sync mode: all records" domain="[('sync_mode','=','all')]"/>
203                 <separator orientation="vertical"/>
204                 <field name="campaign_id"/>
205                 <field name="object_id"/>
206                 <newline/>
207                 <group expand="0" string="Group By...">
208                     <filter string="Campaign" name="Campaign" icon="terp-gtk-jump-to-rtl" context="{'group_by':'campaign_id'}"/>
209                     <separator orientation="vertical"/>
210                     <filter string="Status" name="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
211                     <separator orientation="vertical"/>
212                     <filter string="Launch Date" name="Launch Date" icon="terp-go-month" context="{'group_by':'date_run'}"/>
213                 </group>
214             </search>
215         </field>
216     </record>
217
218     <record model="ir.actions.act_window" id="action_marketing_campaign_segment_form">
219         <field name="name">Segments</field>
220         <field name="type">ir.actions.act_window</field>
221         <field name="res_model">marketing.campaign.segment</field>
222         <field name="view_type">form</field>
223         <field name="view_mode">tree,form</field>
224         <field name="view_id" ref="view_marketing_campaign_segment_tree"/>
225         <field name="search_view_id" ref="view_marketing_campaign_segment_search"/>
226         <field name="context">{'group_by': []}</field>
227     </record>
228
229     <menuitem id="menu_marketing_campaign_segment_form" parent="menu_marketing_campaign" action="action_marketing_campaign_segment_form" sequence="20" />
230
231     <!--
232     ======================
233     Marketing Activities
234     ======================
235
236     these views are not intended to be used outside the campaign context.
237     -->
238
239     <record model="ir.ui.view" id="view_marketing_campaign_activity_form">
240         <field name="name">marketing.campaign.activity.form</field>
241         <field name="model">marketing.campaign.activity</field>
242         <field name="type">form</field>
243         <field name="arch" type="xml">
244             <form string="Activities" version="7.0">
245                 <group>
246                     <group string="Activity">
247                         <field name="name"/>
248                         <field name="signal" groups="base.group_no_one"/>
249                         <field name="start"/>
250                         <field name="object_id" invisible="1"/>
251                         <field name="campaign_id" invisible="1"/>
252                     </group>
253                     <group string="Cost / Revenue">
254                         <field name="variable_cost"/>
255                         <field name="revenue"/>
256                     </group>
257                 </group>
258                 <group string="Condition" col="4">
259                     <field name="condition" widget="char" colspan="4"/>
260                     <field name="keep_if_condition_not_met"/>
261                 </group>
262                 <group col="4">
263                     <separator string="Action" colspan="4"/>
264                     <field name="type"/>
265                     <field name="email_template_id" attrs="{'required':[('type','=','email')], 'invisible':[('type','!=','email')]}"
266                            context="{'default_model_id':object_id}" />
267                     <field name="server_action_id" attrs="{'required':[('type','=','action')],'invisible':[('type','!=','action')]}" domain="[('model_id','=',object_id)]"/>
268                     <field name="report_id" attrs="{'required':[('type','=','report')],'invisible':[('type','!=','report')]}" context="{'object_id':object_id}"/>
269                     <field name="report_directory_id" attrs="{'required':[('type','=','report')],'invisible':[('type','!=','report')]}"/>
270                 </group>
271                 <separator string="Transitions"/>
272                 <field name="from_ids" mode="tree,form" context="{'default_activity_to_id': active_id}">
273                     <tree string="Incoming Transitions" editable="bottom">
274                         <field name="activity_from_id" domain="[('campaign_id', '=', parent.campaign_id)]"/>
275                         <field name='trigger'/>
276                         <field name="interval_nbr"/>
277                         <field name="interval_type"/>
278                     </tree>
279                     <form string="Incoming Transitions" version="7.0">
280                         <group col="4">
281                             <field name="activity_from_id" domain="[('campaign_id', '=', parent.campaign_id)]"/>
282                             <field name='trigger'/>
283                             <field name="interval_nbr"/>
284                             <field name="interval_type"/>
285                         </group>
286                     </form>
287                 </field>
288                 <field name="to_ids" nolabel="1" mode="tree,form" context="{'default_activity_from_id': active_id}" colspan="2">
289                     <tree string="Outgoing Transitions" editable="bottom">
290                         <field name="activity_to_id" domain="[('campaign_id', '=', parent.campaign_id)]"/>
291                         <field name='trigger'/>
292                         <field name="interval_nbr"/>
293                         <field name="interval_type"/>
294                     </tree>
295                     <form string="Outgoing Transitions" version="7.0">
296                         <group col="4">
297                             <field name="activity_to_id" domain="[('campaign_id', '=', parent.campaign_id)]"/>
298                             <field name='trigger'/>
299                             <field name="interval_nbr"/>
300                             <field name="interval_type"/>
301                         </group>
302                     </form>
303                 </field>
304             </form>
305         </field>
306     </record>
307
308     <record model="ir.ui.view" id="view_marketing_campaign_activity_tree">
309         <field name="name">marketing.campaign.activity.tree</field>
310         <field name="model">marketing.campaign.activity</field>
311         <field name="type">tree</field>
312         <field name="arch" type="xml">
313             <tree string="Activities">
314                 <field name="name"/>
315                 <field name="condition"/>
316                 <field name="type"/>
317                 <field name="start"/>
318             </tree>
319         </field>
320     </record>
321
322
323     <!--
324     ======================
325     Marketing Workitems
326     ======================
327     -->
328
329     <record model="ir.ui.view" id="view_marketing_campaign_workitem_tree">
330         <field name="name">marketing.campaign.workitem.tree</field>
331         <field name="model">marketing.campaign.workitem</field>
332         <field name="type">tree</field>
333         <field name="arch" type="xml">
334             <tree colors="red:state == 'exception';black:state == 'todo';gray:state == 'cancelled'" string="Marketing Campaign Activities">
335                 <field name="campaign_id"/>
336                 <field name="segment_id"/>
337                 <field name="activity_id" />
338                 <field name="object_id" invisible="1"/>
339                 <field name="res_id" invisible="1"/>
340                 <field name="res_name" />
341                 <field name="partner_id"/>
342                 <field name="date"/>
343                 <field name="state"/>
344                 <button string="Cancel" states="todo" name="button_cancel" type="object" icon="terp-gtk-stop"/>
345                 <button string="Preview" states="todo" name="preview" icon="gtk-zoom-fit" type="object"/>
346                 <button string="Process" states="todo" name="process" type="object" icon="terp-gtk-go-back-rtl"/>
347             </tree>
348         </field>
349     </record>
350
351     <record model="ir.ui.view" id="view_marketing_campaign_workitem_form">
352         <field name="name">marketing.campaign.workitem.form</field>
353         <field name="model">marketing.campaign.workitem</field>
354         <field name="type">form</field>
355         <field name="arch" type="xml">
356             <form string="Marketing Campaign Activities" version="7.0">
357             <header>
358                 <button string="Process" states="todo" name="process" type="object"/>
359                 <button string="Reset" states="exception,cancelled" name="button_draft" type="object"/>
360                 <button string="Cancel" states="todo,exception" name="button_cancel" type="object"/>
361                 <field name="state" readonly="True" widget="statusbar" statusbar_visible="todo,done" statusbar_colors='{"exception":"red"}'/>
362                 <button string="Preview" states="todo" name="preview" icon="gtk-zoom-fit" type="object"/>
363             </header>
364             <sheet>
365                 <group>
366                     <group string="Campaign Step">
367                         <field name="campaign_id"/>
368                         <field name="segment_id"/>
369                         <field name="activity_id" context="{'segment_id':segment_id}"/>
370                         <field name="date"/>
371                     </group><group string="Related Resource">
372                         <field name="object_id" readonly="True"/>
373                         <field name="res_name"/>
374                         <field name="res_id"/>
375                         <field name="partner_id"/>
376                     </group>
377                 </group>
378                 <group attrs="{'invisible':[('state','!=','exception')]}" string="Error Message">
379                     <field name="error_msg" nolabel="1" colspan="2"/>
380                 </group>
381             </sheet>
382             </form>
383         </field>
384     </record>
385
386     <record id="view_marketing_campaign_workitem_search" model="ir.ui.view">
387         <field name="name">marketing.campaign.workitem.search</field>
388         <field name="model">marketing.campaign.workitem</field>
389         <field name="type">search</field>
390         <field name="arch" type="xml">
391             <search string="Marketing Campaign Activities">
392                 <group>
393                     <field name="res_name" string="Marketing Campaign Activity"/>
394                     <separator orientation="vertical"/>
395                     <field name="date"/>
396                     <separator orientation="vertical"/>
397                     <filter icon="terp-gtk-go-back-rtl" string="To Do" name="todo" domain="[('state','=','todo')]"/>
398                     <filter icon="terp-emblem-important" string="Exception" domain="[('state','=','exception')]"/>
399                     <separator orientation="vertical"/>
400                     <field name="campaign_id"/>
401                     <field name="segment_id"/>
402                     <field name="object_id"/>
403                     <field name="partner_id"/>
404                     <field name="res_id"/>
405                 </group>
406                 <newline/>
407                 <group expand="0" string="Group By...">
408                     <filter string="Campaign" name="campaign" icon="terp-gtk-jump-to-rtl" context="{'group_by':'campaign_id'}"/>
409                     <filter string="Segment" name="segment" icon="terp-stock_symbol-selection" context="{'group_by':'segment_id'}"/>
410                     <filter string="Activity" name="activity" icon="terp-stock_align_left_24" context="{'group_by':'activity_id'}"/>
411                     <separator orientation="vertical"/>
412                     <filter string="Resource" name="resource" icon="terp-accessories-archiver" context="{'group_by':'object_id'}"/>
413                     <filter string="Resource ID" name="res_id" icon="terp-accessories-archiver" context="{'group_by':'res_id'}"/>
414                     <separator orientation="vertical"/>
415                     <filter string="Status" name="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
416                     <separator orientation="vertical"/>
417                     <filter string="Execution Date" name="Date" icon="terp-go-month" context="{'group_by':'date'}"/>
418                 </group>
419             </search>
420         </field>
421     </record>
422
423     <record model="ir.actions.act_window" id="action_marketing_campaign_workitem">
424         <field name="name">Campaign Followup</field>
425         <field name="type">ir.actions.act_window</field>
426         <field name="res_model">marketing.campaign.workitem</field>
427         <field name="view_type">form</field>
428         <field name="view_mode">tree,form</field>
429         <field name="view_id" ref="view_marketing_campaign_workitem_tree"/>
430         <field name="search_view_id" ref="view_marketing_campaign_workitem_search"/>
431         <field name="context">{'group_by': []}</field>
432     </record>
433
434     <menuitem id="menu_action_marketing_campaign_workitem" parent="menu_marketing_campaign" action="action_marketing_campaign_workitem" sequence="10"/>
435
436     <act_window name="All Segments"
437         res_model="marketing.campaign.segment"
438         src_model="marketing.campaign"
439         view_type="form"
440         view_mode="tree,form"
441         id="act_marketing_campaing_segment_opened"
442         context="{'search_default_campaign_id': [active_id], 'default_campaign_id': active_id}"
443     />
444
445     <!-- Campaign Followups -->
446     <act_window
447         context="{'search_default_campaign_id': [active_id], 'default_campaign_id': active_id}"
448         id="act_marketing_campaing_followup"
449         name="Campaign Follow-up" res_model="marketing.campaign.workitem"
450         src_model="marketing.campaign" view_mode="tree,form"
451         view_type="form" />
452
453     <!-- Campaign Statistics -->
454     <act_window
455         context="{'search_default_campaign_id': [active_id], 'default_campaign_id': active_id}"
456         id="act_marketing_campaing_stat"
457         name="Campaign Statistics" res_model="campaign.analysis"
458         src_model="marketing.campaign" view_mode="tree,form"
459         view_type="form" />
460
461     </data>
462 </openerp>