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