<?xml version="1.0" ?>
<openerp>
<data>
- <record id="action_dummy" model="ir.actions.server">
- <field name="name">Dummy Action</field>
- <field name="model_id" ref="base.model_res_partner"/>
- <field name="state">dummy</field>
- <field name="code"></field>
- <field eval="5" name="sequence"/>
- <field eval="True" name="condition"/>
- </record>
-
-
<!-- Email tempalte -->
<record id="email_template_1" model="email.template">
- <field name="subject">Welcome in OpenERP Family!</field>
- <field name="email_to">info@tinyerp.com</field>
+ <field name="name">Template for New Partner</field>
+ <field name="email_from">info@tinyerp.com</field>
+ <field name="subject">Welcome in OpenERP Partner Channel!</field>
+ <field name="email_to">${object.email or ''}</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="body_text">Hello, We are very happy to send Welcome message.</field>
</record>
<record id="email_template_2" model="email.template">
- <field name="subject">Cogretulation! You become now our Silver Partner.</field>
- <field name="email_to">info@tinyerp.com</field>
+ <field name="name">Template for Silver Partner</field>
+ <field name="email_from">info@tinyerp.com</field>
+ <field name="subject">Congratulation! You become now our Silver Partner.</field>
+ <field name="email_to">${object.email or ''}</field>
<field name="model_id" ref="base.model_res_partner"/>
- <field name="body_text">Hello,We are happy to announce that you now become our Silver Partner.
- Regards,OpenERP Team,</field>
+ <field name="body_text">Hello, We are happy to announce that you now become our Silver Partner.</field>
</record>
<record id="email_template_3" model="email.template">
+ <field name="name">Template for Gold Partner</field>
+ <field name="email_from">info@tinyerp.com</field>
<field name="subject">Congratulation! You become our Gold Partner.</field>
- <field name="email_to">info@tinyerp.com</field>
+ <field name="email_to">${object.email or ''}</field>
<field name="model_id" ref="base.model_res_partner"/>
- <field name="body_text">Hello, We are happy to announce that you become our Gold Partner.
- Regards,OpenERP Team,</field>
+ <field name="body_text">Hello, We are happy to announce that you become our Gold Partner.</field>
</record>
<record id="marketing_campaign_activity_0" model="marketing.campaign.activity">
<field name="name">New Partner</field>
- <field name="server_action_id" ref="action_dummy"/>
<field name="campaign_id" ref="marketing_campaign_openerppartnerchannel"/>
<field name="email_template_id" ref="email_template_1"/>
+ <field name="condition">object.credit_limit < 10000</field>
+ <field name="keep_if_condition_not_met">True</field>
<field eval="1" name="start"/>
</record>
<record id="marketing_campaign_activity_1" model="marketing.campaign.activity">
<field name="name">Silver Partner</field>
- <field name="server_action_id" ref="action_dummy"/>
<field name="campaign_id" ref="marketing_campaign_openerppartnerchannel"/>
+ <field name="condition">object.credit_limit >= 10000 and object.credit_limit < 50000</field>
+ <field name="keep_if_condition_not_met">True</field>
<field name="email_template_id" ref="email_template_2"/>
</record>
<record id="marketing_campaign_activity_2" model="marketing.campaign.activity">
<field name="name">Gold Partner</field>
- <field name="server_action_id" ref="action_dummy"/>
+ <field name="condition">object.credit_limit >= 100000</field>
<field name="campaign_id" ref="marketing_campaign_openerppartnerchannel"/>
+ <field name="keep_if_condition_not_met">True</field>
<field name="email_template_id" ref="email_template_3"/>
</record>
</record>
<!-- Segment -->
+ <record id="filter0" model="ir.filters">
+ <field name="name">Partners</field>
+ <field name="domain">[('name','like','agrolait')]</field>
+ <field name="model_id">res.partner</field>
+ </record>
<record id="marketing_campaign_segment0" model="marketing.campaign.segment">
<field eval="time.strftime('%Y-%m-%d %H:%M:%S')" name="date_run"/>
<field name="name">OpenERP Partner</field>
<field name="sync_mode">create_date</field>
+ <field name="ir_filter_id" ref="filter0"></field>
<field name="campaign_id" ref="marketing_campaign_openerppartnerchannel"/>
- <field name="state">draft</field>
</record>
</data>
-
- I start compaign.
+ In order to test process of compaign, I start compaign.
-
!workflow {model: marketing.campaign, action: state_running_set, ref: marketing_campaign_openerppartnerchannel}
-
- I check the campaign on Running mode.
+ I check the campaign on Running mode after started.
-
!assert {model: marketing.campaign, id: marketing_campaign_openerppartnerchannel}:
- state == 'running'
-
- This campaign is only for OpenERP partner, so I assinged this Campaign
- to right segment, after that I start this segment.
+ I assign segment to campaign.
+-
+ !record {model: marketing.campaign.segment, id: marketing_campaign_segment0}:
+ campaign_id: marketing_campaign_openerppartnerchannel
+-
+ I start this segment after assinged campaign.
-
!workflow {model: marketing.campaign.segment, action: state_running_set, ref: marketing_campaign_segment0}
-
- I check the segment on Running mode.
+ I check the segment on Running mode after started.
-
!assert {model: marketing.campaign.segment, id: marketing_campaign_segment0}:
- state == 'running'
-
- I synchronized this segment manually to see all step of activity and process covered on this campaign.
+ I set credit limit for customer.
+-
+ !python {model: res.partner}: |
+ self.write(cr, uid, [ref("base.res_partner_agrolait")], {'credit_limit':1000}, context=context)
+-
+ I synchronized segment manually to see all step of activity and process covered on this campaign.
-
!python {model: marketing.campaign.segment}: |
self.synchroniz(cr, uid, [ref("marketing_campaign_segment0")])
-
- I process work item.
+ I check followup detail of first activity.
-
!python {model: marketing.campaign.workitem}: |
ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')),
('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_1'))])
- #assert ids, 'Activity items not created'
- #self.process(cr, uid, ids)
- #record = self.browse(cr, uid, ids)[0]
- #assert record.state == "done", "Activity item not in done state"
+ assert ids, 'Followup item is not created for first activity.'
-
- I print workitem report.
+ Now I increase credit limit of customer
+-
+ !python {model: res.partner}: |
+ self.write(cr, uid, [ref("base.res_partner_agrolait")], {'credit_limit':41000}, context=context)
+-
+ I process followup of first activity.
-
!python {model: marketing.campaign.workitem}: |
ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')),
('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_1'))])
- #self.preview(cr, uid, ids)
+ self.process(cr, uid, ids)
+ record = self.browse(cr, uid, ids)[0]
+ assert record.state == "done", "Followup item should be closed after process."
+-
+ I check followup detail of second activity after process of first activity.
+-
+ !python {model: marketing.campaign.workitem}: |
+ ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')),
+ ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_2'))])
+ assert ids, 'Followup item is not created for second activity.'
+-
+ Now I increase credit limit of customer
+-
+ !python {model: res.partner}: |
+ self.write(cr, uid, [ref("base.res_partner_agrolait")], {'credit_limit':151000}, context=context)
+-
+ I process followup of second activity.
+-
+ !python {model: marketing.campaign.workitem}: |
+ ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')),
+ ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_2'))])
+ self.process(cr, uid, ids)
+ record = self.browse(cr, uid, ids)[0]
+ assert record.state == "done", "Followup item should be closed after process."
+-
+ I print workitem report.
+-
+ !python {model: marketing.campaign.workitem}: |
+ ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')),
+ ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_2'))])
+ self.preview(cr, uid, ids)
-
I close segmentation After completion of all activity.
-