From fd9ec559cbe39c6dd38a81be46c51c1e7bb0e220 Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Tue, 8 Nov 2011 16:50:23 +0530 Subject: [PATCH 01/11] [IMP] marketing_campaign, marketing_campaign_crm_demo: Traceback generate when processing workitem, and Improved demo data of Email template bzr revid: ron@tinyerp.com-20111108112023-1fwd5vdez50lmiiw --- .../marketing_campaign/marketing_campaign.py | 2 +- .../marketing_campaign_demo.xml | 64 +++++++++---------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/addons/marketing_campaign/marketing_campaign.py b/addons/marketing_campaign/marketing_campaign.py index 547281911c4..9dc48c99873 100644 --- a/addons/marketing_campaign/marketing_campaign.py +++ b/addons/marketing_campaign/marketing_campaign.py @@ -707,7 +707,7 @@ class marketing_campaign_workitem(osv.osv): if result: # process _chain - workitem = workitem.browse(context)[0] # reload + workitem = workitem.browse(context=context)[0] # reload date = datetime.strptime(workitem.date, DT_FMT) for transition in activity.to_ids: diff --git a/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml b/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml index ee11fbcdb75..b89daa50438 100644 --- a/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml +++ b/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml @@ -34,27 +34,27 @@ - Thanks for showing interest in OpenERP - info@tinyerp.com + Thanks for showing interest in OpenERP + info@tinyerp.com - + - Hello,Thanks for generous interest you have shown in the openERP.Regards,OpenERP Team, + Hello,Thanks for generous interest you have shown in the openERP.Regards,OpenERP Team, mako For OpenERP OnDemand Free Trial 2010 crm.lead - Propose to subscribe to the OpenERP Discovery Day on May 2010 - info@tinyerp.com + Propose to subscribe to the OpenERP Discovery Day on May 2010 + info@tinyerp.com - + - Hello,We have very good offer that might suit you. + Hello,We have very good offer that might suit you. We propose you to subscribe to the OpenERP Discovery Day on May 2010. If any further information required kindly revert back. We really appreciate your co-operation on this. @@ -65,14 +65,14 @@ - Thanks for subscribing to the OpenERP Discovery Day - info@tinyerp.com + Thanks for subscribing to the OpenERP Discovery Day + info@tinyerp.com - + - Hello,Thanks for showing intrest and for subscribing to the OpenERP Discovery Day. + Hello,Thanks for showing intrest and for subscribing to the OpenERP Discovery Day. If any further information required kindly revert back. I really appreciate your co-operation on this. Regards,OpenERP Team, @@ -82,14 +82,14 @@ - Thanks for buying the OpenERP book - info@tinyerp.com + Thanks for buying the OpenERP book + info@tinyerp.com - + - Hello,Thanks for showing intrest and buying the OpenERP book. + Hello,Thanks for showing intrest and buying the OpenERP book. If any further information required kindly revert back. I really appreciate your co-operation on this. Regards,OpenERP Team, @@ -99,14 +99,14 @@ - Propose a free technical training to Gold partners - info@tinyerp.com + Propose a free technical training to Gold partners + info@tinyerp.com - + - Hello, We have very good offer that might suit you. + Hello, We have very good offer that might suit you. For our gold partners,We are arranging free technical training on june,2010. If any further information required kindly revert back. I really appreciate your co-operation on this. @@ -117,14 +117,14 @@ - Propose paid training to Silver partners - info@tinyerp.com + Propose paid training to Silver partners + info@tinyerp.com - + - Hello, We have very good offer that might suit you. + Hello, We have very good offer that might suit you. For our silver partners,We are paid technical training on june,2010. If any further information required kindly revert back. I really appreciate your co-operation on this. @@ -135,14 +135,14 @@ - Propose gold partnership to silver partners - info@tinyerp.com + Propose gold partnership to silver partners + info@tinyerp.com - + - Hello, We have very good offer that might suit you. + Hello, We have very good offer that might suit you. For our silver partners,We are offering Gold partnership. If any further information required kindly revert back. I really appreciate your co-operation on this. @@ -153,14 +153,14 @@ - Thanks for subscribing to technical training - info@tinyerp.com + Thanks for subscribing to technical training + info@tinyerp.com - + - Hello, Thanks for showing intrest and for subscribing to technical training.If any further information required kindly revert back.I really appreciate your co-operation on this. + Hello, Thanks for showing intrest and for subscribing to technical training.If any further information required kindly revert back.I really appreciate your co-operation on this. Regards,OpenERP Team, mako For subscribing to technical training From cf3c4d24cc07567dd5b5c70dced59e11961d0e1e Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Tue, 8 Nov 2011 17:38:26 +0530 Subject: [PATCH 02/11] [IMP] marketing_campaign_crm_demo: Improved demo data of Campaing on active mode bzr revid: ron@tinyerp.com-20111108120826-niki9oul07sdnl8q --- addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml b/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml index b89daa50438..90db37f2176 100644 --- a/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml +++ b/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml @@ -181,6 +181,7 @@ OpenERP OnDemand Free Trial 2010 + active From a9893f1aa6abaf96b94b70b9d4ce16fd5136eeda Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Thu, 10 Nov 2011 17:47:10 +0530 Subject: [PATCH 03/11] [ADD] marketing_campaign_crm_demo: Added test/process/marketing_campaign.yml bzr revid: ron@tinyerp.com-20111110121710-zcm22g2y4uyzhtzl --- .../__openerp__.py | 3 +++ .../test/process/marketing_campaign.yml | 27 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml diff --git a/addons/marketing_campaign_crm_demo/__openerp__.py b/addons/marketing_campaign_crm_demo/__openerp__.py index 4841cc1a2e8..6c28e9226a0 100644 --- a/addons/marketing_campaign_crm_demo/__openerp__.py +++ b/addons/marketing_campaign_crm_demo/__openerp__.py @@ -40,6 +40,9 @@ Creates demo data like leads, campaigns and segments for the module marketing_ca 'demo_xml': [ 'marketing_campaign_demo.xml', ], + 'test': [ + 'test/process/marketing_campaign.yml', + ], 'installable': True, 'active': False, 'certificate' : '001005497972871352957', diff --git a/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml b/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml new file mode 100644 index 00000000000..8026db2a2be --- /dev/null +++ b/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml @@ -0,0 +1,27 @@ +- + I created marketing campaing "OpenERP OnDemand Free Trial" to reach our partners leads + with specific activity(offers) and communication via email and take action according + to campaing activity. + Now I start this compaign. +- + !workflow {model: marketing.campaign, action: state_running_set, ref: marketing_campaign_openerpondemandfreetrial0} +- + I check the campaign on Running mode. +- + !assert {model: marketing.campaign, id: marketing_campaign_openerpondemandfreetrial0}: + - state == 'running' +- + This campaign is only for Belgium partner of leads, so I assinged this Campaign + to right segment(Only for Belgium Leads), after that I start this segment. +- + !workflow {model: marketing.campaign.segment, action: state_running_set, ref: marketing_campaign_segment_bosslistusassociationslist0} +- + I check the Segment on Running mode. +- + !assert {model: marketing.campaign.segment, id: marketing_campaign_segment_bosslistusassociationslist0}: + - state == 'running' +- + I synchronized this segment manually to see all step of activity covered on this campaign. +- + !python {model: marketing.campaign.segment}: | + self.synchroniz(cr, uid, [ref("marketing_campaign_segment_bosslistusassociationslist0")]) From 338424996898839b76bf76707779c6ed9230d004 Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Thu, 10 Nov 2011 18:55:03 +0530 Subject: [PATCH 04/11] [ADD] marketing_campaign_crm_demo: Improved string on yml bzr revid: ron@tinyerp.com-20111110132503-eqaadbxvyjep4mt7 --- .../test/process/marketing_campaign.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml b/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml index 8026db2a2be..85068a9586d 100644 --- a/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml +++ b/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml @@ -1,7 +1,6 @@ - - I created marketing campaing "OpenERP OnDemand Free Trial" to reach our partners leads - with specific activity(offers) and communication via email and take action according - to campaing activity. + I created marketing campaing with specific activity(offers) to reach our partners + and communication via email according to campaing activity. Now I start this compaign. - !workflow {model: marketing.campaign, action: state_running_set, ref: marketing_campaign_openerpondemandfreetrial0} From 8406dd639dcbc9fc6b36b4aaebf7e3084720c6fa Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Fri, 11 Nov 2011 14:24:15 +0530 Subject: [PATCH 05/11] [ADD] marketing_campaign_crm_demo: Add-Process on activity to campaing done bzr revid: ron@tinyerp.com-20111111085415-pb2rt9wl5ibmmydl --- .../test/process/marketing_campaign.yml | 35 +++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml b/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml index 85068a9586d..5d21d8c901a 100644 --- a/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml +++ b/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml @@ -15,12 +15,43 @@ - !workflow {model: marketing.campaign.segment, action: state_running_set, ref: marketing_campaign_segment_bosslistusassociationslist0} - - I check the Segment on Running mode. + I check the segment on Running mode. - !assert {model: marketing.campaign.segment, id: marketing_campaign_segment_bosslistusassociationslist0}: - state == 'running' - - I synchronized this segment manually to see all step of activity covered on this campaign. + I synchronized this 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_segment_bosslistusassociationslist0")]) +- + I process the event of belgium partner which is particiapated with our campaing activity, + after processing the event, automatic email send to that partner with specific message and check + the status of event. +- + !python {model: marketing.campaign.workitem}: | + ids = self.search(cr, uid, [('res_id', '=', ref('crm.crm_case_ericdubois4')), ('segment_id', '=', ref('marketing_campaign_segment_bosslistusassociationslist0')), + ('campaign_id', '=', ref('marketing_campaign_openerpondemandfreetrial0')), ('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" +- + After completion of all activity i close segmentation first. +- + !workflow {model: marketing.campaign.segment, action: state_done_set, ref: marketing_campaign_segment_bosslistusassociationslist0} +- + I check the segmentation is done. +- + !assert {model: marketing.campaign.segment, id: marketing_campaign_segment_bosslistusassociationslist0}: + - state == 'done' +- + I close this campaing. +- + !workflow {model: marketing.campaign.segment, action: state_done_set, ref: marketing_campaign_openerpondemandfreetrial0} +- + I check the campaing is done. +- + !assert {model: marketing.campaign.segment, id: marketing_campaign_openerpondemandfreetrial0}: + - state == 'done' + \ No newline at end of file From 02cfa857f53d80573dc21d1281c840daff58a32f Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Fri, 11 Nov 2011 15:11:42 +0530 Subject: [PATCH 06/11] [REF] marketing_campaign: Used get_object_reference instead of _get_id from data got from ir.model bzr revid: ron@tinyerp.com-20111111094142-r50oajp8fhe3nzjl --- addons/marketing_campaign/marketing_campaign.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/addons/marketing_campaign/marketing_campaign.py b/addons/marketing_campaign/marketing_campaign.py index 9dc48c99873..47c9498dd8d 100644 --- a/addons/marketing_campaign/marketing_campaign.py +++ b/addons/marketing_campaign/marketing_campaign.py @@ -784,11 +784,7 @@ class marketing_campaign_workitem(osv.osv): res = {} wi_obj = self.browse(cr, uid, ids[0], context=context) if wi_obj.activity_id.type == 'email': - data_obj = self.pool.get('ir.model.data') - data_id = data_obj._get_id(cr, uid, 'email_template', 'email_template_preview_form') - view_id = 0 - if data_id: - view_id = data_obj.browse(cr, uid, data_id, context=context).res_id + view_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'email_template', 'email_template_preview_form') res = { 'name': _('Email Preview'), 'view_type': 'form', @@ -796,7 +792,7 @@ class marketing_campaign_workitem(osv.osv): 'res_model': 'email_template.preview', 'view_id': False, 'context': context, - 'views': [(view_id, 'form')], + 'views': [(view_id and view_id[1] or 0, 'form')], 'type': 'ir.actions.act_window', 'target': 'new', 'nodestroy':True, From 7a34cf55a3607c0d164d8eb08b78c698de0df452 Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Fri, 11 Nov 2011 16:20:42 +0530 Subject: [PATCH 07/11] [ADD] marketing_campaign_crm_demo: Add new onchange_events.yml for onchange events and preview reports bzr revid: ron@tinyerp.com-20111111105042-6o37aru6f6kkxgzd --- addons/marketing_campaign_crm_demo/__openerp__.py | 1 + .../test/ui/onchange_events.yml | 12 ++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 addons/marketing_campaign_crm_demo/test/ui/onchange_events.yml diff --git a/addons/marketing_campaign_crm_demo/__openerp__.py b/addons/marketing_campaign_crm_demo/__openerp__.py index 6c28e9226a0..c56d1dc4d16 100644 --- a/addons/marketing_campaign_crm_demo/__openerp__.py +++ b/addons/marketing_campaign_crm_demo/__openerp__.py @@ -42,6 +42,7 @@ Creates demo data like leads, campaigns and segments for the module marketing_ca ], 'test': [ 'test/process/marketing_campaign.yml', + 'test/ui/onchange_events.yml' ], 'installable': True, 'active': False, diff --git a/addons/marketing_campaign_crm_demo/test/ui/onchange_events.yml b/addons/marketing_campaign_crm_demo/test/ui/onchange_events.yml new file mode 100644 index 00000000000..43fb716943e --- /dev/null +++ b/addons/marketing_campaign_crm_demo/test/ui/onchange_events.yml @@ -0,0 +1,12 @@ +- + I call onchange event to change campaing for segment. +- + !python {model: marketing.campaign.segment}: | + self.onchange_campaign_id(cr, uid, [ref("marketing_campaign_segment_bosslistusassociationslist0")], ref("marketing_campaign_openerpondemandfreetrial0")) +- + I can see preview report of workitem. +- + !python {model: marketing.campaign.workitem}: | + ids = self.search(cr, uid, [('res_id', '=', ref('crm.crm_case_ericdubois4')), ('segment_id', '=', ref('marketing_campaign_segment_bosslistusassociationslist0')), + ('campaign_id', '=', ref('marketing_campaign_openerpondemandfreetrial0')), ('activity_id', '=', ref('marketing_campaign_activity_2'))]) + self.preview(cr, uid, ids) From 8a0a6fab0c9dca21cfd5d5124a423d0c896cdc69 Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Wed, 30 Nov 2011 10:39:47 +0530 Subject: [PATCH 08/11] [ADD, IMP, REN]: * Added file marketing_campaign_crm_demo/test/ui/workitem_report.yml [To see preview report of activity] * Created record of campaign.segment for call campaign_onchange event * Renamed file marketing_campaign_crm_demo/test/ui/onchange_events.yml => marketing_campaign_crm_demo/test/ui/demo_data.yml * changed _openerp__.py bzr revid: ron@tinyerp.com-20111130050947-1skwhf46h7t0dy9c --- addons/marketing_campaign_crm_demo/__openerp__.py | 3 ++- addons/marketing_campaign_crm_demo/test/ui/demo_data.yml | 5 +++++ .../test/ui/{onchange_events.yml => workitem_report.yml} | 5 ----- 3 files changed, 7 insertions(+), 6 deletions(-) create mode 100644 addons/marketing_campaign_crm_demo/test/ui/demo_data.yml rename addons/marketing_campaign_crm_demo/test/ui/{onchange_events.yml => workitem_report.yml} (61%) diff --git a/addons/marketing_campaign_crm_demo/__openerp__.py b/addons/marketing_campaign_crm_demo/__openerp__.py index c56d1dc4d16..444758c8ccb 100644 --- a/addons/marketing_campaign_crm_demo/__openerp__.py +++ b/addons/marketing_campaign_crm_demo/__openerp__.py @@ -42,7 +42,8 @@ Creates demo data like leads, campaigns and segments for the module marketing_ca ], 'test': [ 'test/process/marketing_campaign.yml', - 'test/ui/onchange_events.yml' + 'test/ui/demo_data.yml', + 'test/ui/workitem_report.yml' ], 'installable': True, 'active': False, diff --git a/addons/marketing_campaign_crm_demo/test/ui/demo_data.yml b/addons/marketing_campaign_crm_demo/test/ui/demo_data.yml new file mode 100644 index 00000000000..98ba4081300 --- /dev/null +++ b/addons/marketing_campaign_crm_demo/test/ui/demo_data.yml @@ -0,0 +1,5 @@ +- + I create segment record to call onchange event. +- + !record {model: marketing.campaign.segment, id: marketing_campaign_segment_bosslistusassociationslist0}: + campaign_id: marketing_campaign_openerpondemandfreetrial0 diff --git a/addons/marketing_campaign_crm_demo/test/ui/onchange_events.yml b/addons/marketing_campaign_crm_demo/test/ui/workitem_report.yml similarity index 61% rename from addons/marketing_campaign_crm_demo/test/ui/onchange_events.yml rename to addons/marketing_campaign_crm_demo/test/ui/workitem_report.yml index 43fb716943e..4d3faad2b96 100644 --- a/addons/marketing_campaign_crm_demo/test/ui/onchange_events.yml +++ b/addons/marketing_campaign_crm_demo/test/ui/workitem_report.yml @@ -1,8 +1,3 @@ -- - I call onchange event to change campaing for segment. -- - !python {model: marketing.campaign.segment}: | - self.onchange_campaign_id(cr, uid, [ref("marketing_campaign_segment_bosslistusassociationslist0")], ref("marketing_campaign_openerpondemandfreetrial0")) - I can see preview report of workitem. - From 0a288529794a5f14fd0ed01e549140d3385e5a5b Mon Sep 17 00:00:00 2001 From: "Harry (OpenERP)" Date: Wed, 30 Nov 2011 17:06:52 +0530 Subject: [PATCH 09/11] [IMP] marketing_campaign: improve yml to test process of campaign segmentation, add new demo data for partner channel in marketing_campaign module bzr revid: hmo@tinyerp.com-20111130113652-uqxjdy7icybq2h4g --- addons/marketing_campaign/__openerp__.py | 5 + .../marketing_campaign_demo.xml | 91 +++++++++++++++++++ .../test/marketing_campaign.yml | 60 ++++++++++++ .../test/marketing_campaign_demo.yml | 5 + .../test/ui/workitem_report.yml | 0 .../__openerp__.py | 5 - .../marketing_campaign_demo.xml | 36 +------- .../test/process/marketing_campaign.yml | 57 ------------ .../test/ui/demo_data.yml | 5 - 9 files changed, 163 insertions(+), 101 deletions(-) create mode 100644 addons/marketing_campaign/marketing_campaign_demo.xml create mode 100644 addons/marketing_campaign/test/marketing_campaign.yml create mode 100644 addons/marketing_campaign/test/marketing_campaign_demo.yml rename addons/{marketing_campaign_crm_demo => marketing_campaign}/test/ui/workitem_report.yml (100%) delete mode 100644 addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml delete mode 100644 addons/marketing_campaign_crm_demo/test/ui/demo_data.yml diff --git a/addons/marketing_campaign/__openerp__.py b/addons/marketing_campaign/__openerp__.py index 44a2f1e30bd..d9052239038 100644 --- a/addons/marketing_campaign/__openerp__.py +++ b/addons/marketing_campaign/__openerp__.py @@ -58,7 +58,12 @@ Note: If you need demo data, you can install the marketing_campaign_crm_demo mod "security/ir.model.access.csv" ], 'demo_xml': [ + 'marketing_campaign_demo.xml', ], + 'test': [ + 'test/marketing_campaign_demo.yml', + 'test/marketing_campaign.yml', + ], 'installable': True, 'active': False, 'certificate' : '00421723279617928365', diff --git a/addons/marketing_campaign/marketing_campaign_demo.xml b/addons/marketing_campaign/marketing_campaign_demo.xml new file mode 100644 index 00000000000..f49b918aa2c --- /dev/null +++ b/addons/marketing_campaign/marketing_campaign_demo.xml @@ -0,0 +1,91 @@ + + + + + Dummy Action + + dummy + + + + + + + + + Welcome in OpenERP Family! + info@tinyerp.com + + Hello, We are very happy to send Welcome message. + + + Cogretulation! You become now our Silver Partner. + info@tinyerp.com + + Hello,We are happy to announce that you now become our Silver Partner. + Regards,OpenERP Team, + + + + Congratulation! You become our Gold Partner. + info@tinyerp.com + + Hello, We are happy to announce that you become our Gold Partner. + Regards,OpenERP Team, + + + + + + + OpenERP Partner Channel + + active + + + + + + New Partner + + + + + + + Silver Partner + + + + + + + Gold Partner + + + + + + + + + + + + + + + + + + + + + OpenERP Partner + create_date + + draft + + + + diff --git a/addons/marketing_campaign/test/marketing_campaign.yml b/addons/marketing_campaign/test/marketing_campaign.yml new file mode 100644 index 00000000000..502f9e892ec --- /dev/null +++ b/addons/marketing_campaign/test/marketing_campaign.yml @@ -0,0 +1,60 @@ +- + I start compaign. +- + !workflow {model: marketing.campaign, action: state_running_set, ref: marketing_campaign_openerppartnerchannel} +- + I check the campaign on Running mode. +- + !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. +- + !workflow {model: marketing.campaign.segment, action: state_running_set, ref: marketing_campaign_segment0} +- + I check the segment on Running mode. +- + !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. +- + !python {model: marketing.campaign.segment}: | + self.synchroniz(cr, uid, [ref("marketing_campaign_segment0")]) +- + I process work item. +- + !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" +- + 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_1'))]) + #self.preview(cr, uid, ids) +- + I close segmentation After completion of all activity. +- + !workflow {model: marketing.campaign.segment, action: state_done_set, ref: marketing_campaign_segment0} +- + I check the segmentation is done. +- + !assert {model: marketing.campaign.segment, id: marketing_campaign_segment0}: + - state == 'done' +- + I close this campaing. +- + !workflow {model: marketing.campaign.segment, action: state_done_set, ref: marketing_campaign_openerppartnerchannel} +- + I check the campaing is done. +- + !assert {model: marketing.campaign.segment, id: marketing_campaign_openerppartnerchannel}: + - state == 'done' + diff --git a/addons/marketing_campaign/test/marketing_campaign_demo.yml b/addons/marketing_campaign/test/marketing_campaign_demo.yml new file mode 100644 index 00000000000..c727132bd47 --- /dev/null +++ b/addons/marketing_campaign/test/marketing_campaign_demo.yml @@ -0,0 +1,5 @@ +- + In order to test process of marketing campaign, I create segment. +- + !record {model: marketing.campaign.segment, id: marketing_campaign_segment0}: + campaign_id: marketing_campaign_openerppartnerchannel diff --git a/addons/marketing_campaign_crm_demo/test/ui/workitem_report.yml b/addons/marketing_campaign/test/ui/workitem_report.yml similarity index 100% rename from addons/marketing_campaign_crm_demo/test/ui/workitem_report.yml rename to addons/marketing_campaign/test/ui/workitem_report.yml diff --git a/addons/marketing_campaign_crm_demo/__openerp__.py b/addons/marketing_campaign_crm_demo/__openerp__.py index 444758c8ccb..4841cc1a2e8 100644 --- a/addons/marketing_campaign_crm_demo/__openerp__.py +++ b/addons/marketing_campaign_crm_demo/__openerp__.py @@ -40,11 +40,6 @@ Creates demo data like leads, campaigns and segments for the module marketing_ca 'demo_xml': [ 'marketing_campaign_demo.xml', ], - 'test': [ - 'test/process/marketing_campaign.yml', - 'test/ui/demo_data.yml', - 'test/ui/workitem_report.yml' - ], 'installable': True, 'active': False, 'certificate' : '001005497972871352957', diff --git a/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml b/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml index 90db37f2176..7b45c959035 100644 --- a/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml +++ b/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml @@ -36,135 +36,103 @@ Thanks for showing interest in OpenERP info@tinyerp.com - - Hello,Thanks for generous interest you have shown in the openERP.Regards,OpenERP Team, - mako For OpenERP OnDemand Free Trial 2010 - crm.lead Propose to subscribe to the OpenERP Discovery Day on May 2010 info@tinyerp.com - - Hello,We have very good offer that might suit you. We propose you to subscribe to the OpenERP Discovery Day on May 2010. If any further information required kindly revert back. We really appreciate your co-operation on this. Regards,OpenERP Team, - mako For OpenERP Discovery Day on May 2010 - crm.lead - + Thanks for subscribing to the OpenERP Discovery Day info@tinyerp.com - - Hello,Thanks for showing intrest and for subscribing to the OpenERP Discovery Day. If any further information required kindly revert back. I really appreciate your co-operation on this. Regards,OpenERP Team, - mako For OpenERP Discovery Day - crm.lead - + Thanks for buying the OpenERP book info@tinyerp.com - - Hello,Thanks for showing intrest and buying the OpenERP book. If any further information required kindly revert back. I really appreciate your co-operation on this. Regards,OpenERP Team, - mako For OpenERP book - crm.lead Propose a free technical training to Gold partners info@tinyerp.com - - Hello, We have very good offer that might suit you. For our gold partners,We are arranging free technical training on june,2010. If any further information required kindly revert back. I really appreciate your co-operation on this. Regards,OpenERP Team, - mako For technical training to Gold partners - crm.lead Propose paid training to Silver partners info@tinyerp.com - - Hello, We have very good offer that might suit you. For our silver partners,We are paid technical training on june,2010. If any further information required kindly revert back. I really appreciate your co-operation on this. Regards,OpenERP Team, - mako For training to Silver partners - crm.lead Propose gold partnership to silver partners info@tinyerp.com - - Hello, We have very good offer that might suit you. For our silver partners,We are offering Gold partnership. If any further information required kindly revert back. I really appreciate your co-operation on this. Regards,OpenERP Team, - mako For gold partnership to silver partners - crm.lead Thanks for subscribing to technical training info@tinyerp.com - - Hello, Thanks for showing intrest and for subscribing to technical training.If any further information required kindly revert back.I really appreciate your co-operation on this. Regards,OpenERP Team, - mako For subscribing to technical training - crm.lead diff --git a/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml b/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml deleted file mode 100644 index 5d21d8c901a..00000000000 --- a/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml +++ /dev/null @@ -1,57 +0,0 @@ -- - I created marketing campaing with specific activity(offers) to reach our partners - and communication via email according to campaing activity. - Now I start this compaign. -- - !workflow {model: marketing.campaign, action: state_running_set, ref: marketing_campaign_openerpondemandfreetrial0} -- - I check the campaign on Running mode. -- - !assert {model: marketing.campaign, id: marketing_campaign_openerpondemandfreetrial0}: - - state == 'running' -- - This campaign is only for Belgium partner of leads, so I assinged this Campaign - to right segment(Only for Belgium Leads), after that I start this segment. -- - !workflow {model: marketing.campaign.segment, action: state_running_set, ref: marketing_campaign_segment_bosslistusassociationslist0} -- - I check the segment on Running mode. -- - !assert {model: marketing.campaign.segment, id: marketing_campaign_segment_bosslistusassociationslist0}: - - state == 'running' -- - I synchronized this 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_segment_bosslistusassociationslist0")]) -- - I process the event of belgium partner which is particiapated with our campaing activity, - after processing the event, automatic email send to that partner with specific message and check - the status of event. -- - !python {model: marketing.campaign.workitem}: | - ids = self.search(cr, uid, [('res_id', '=', ref('crm.crm_case_ericdubois4')), ('segment_id', '=', ref('marketing_campaign_segment_bosslistusassociationslist0')), - ('campaign_id', '=', ref('marketing_campaign_openerpondemandfreetrial0')), ('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" -- - After completion of all activity i close segmentation first. -- - !workflow {model: marketing.campaign.segment, action: state_done_set, ref: marketing_campaign_segment_bosslistusassociationslist0} -- - I check the segmentation is done. -- - !assert {model: marketing.campaign.segment, id: marketing_campaign_segment_bosslistusassociationslist0}: - - state == 'done' -- - I close this campaing. -- - !workflow {model: marketing.campaign.segment, action: state_done_set, ref: marketing_campaign_openerpondemandfreetrial0} -- - I check the campaing is done. -- - !assert {model: marketing.campaign.segment, id: marketing_campaign_openerpondemandfreetrial0}: - - state == 'done' - \ No newline at end of file diff --git a/addons/marketing_campaign_crm_demo/test/ui/demo_data.yml b/addons/marketing_campaign_crm_demo/test/ui/demo_data.yml deleted file mode 100644 index 98ba4081300..00000000000 --- a/addons/marketing_campaign_crm_demo/test/ui/demo_data.yml +++ /dev/null @@ -1,5 +0,0 @@ -- - I create segment record to call onchange event. -- - !record {model: marketing.campaign.segment, id: marketing_campaign_segment_bosslistusassociationslist0}: - campaign_id: marketing_campaign_openerpondemandfreetrial0 From 370e0c6510ece36865b61a325e8bb3b508993105 Mon Sep 17 00:00:00 2001 From: "Harry (OpenERP)" Date: Fri, 2 Dec 2011 16:31:18 +0530 Subject: [PATCH 10/11] [IMP] marketing_campaign: cleanup demo and yml to test process of compaign bzr revid: hmo@tinyerp.com-20111202110118-3w1h2z38d844f04i --- addons/marketing_campaign/__openerp__.py | 1 - .../marketing_campaign/marketing_campaign.py | 2 +- .../marketing_campaign_demo.xml | 48 ++++++------- .../test/marketing_campaign.yml | 67 +++++++++++++++---- .../test/marketing_campaign_demo.yml | 5 -- 5 files changed, 80 insertions(+), 43 deletions(-) delete mode 100644 addons/marketing_campaign/test/marketing_campaign_demo.yml diff --git a/addons/marketing_campaign/__openerp__.py b/addons/marketing_campaign/__openerp__.py index d9052239038..44646a07ead 100644 --- a/addons/marketing_campaign/__openerp__.py +++ b/addons/marketing_campaign/__openerp__.py @@ -61,7 +61,6 @@ Note: If you need demo data, you can install the marketing_campaign_crm_demo mod 'marketing_campaign_demo.xml', ], 'test': [ - 'test/marketing_campaign_demo.yml', 'test/marketing_campaign.yml', ], 'installable': True, diff --git a/addons/marketing_campaign/marketing_campaign.py b/addons/marketing_campaign/marketing_campaign.py index e79b893d40c..2ec05d17d9b 100644 --- a/addons/marketing_campaign/marketing_campaign.py +++ b/addons/marketing_campaign/marketing_campaign.py @@ -670,7 +670,7 @@ class marketing_campaign_workitem(osv.osv): def _process_one(self, cr, uid, workitem, context=None): if workitem.state != 'todo': - return + return False activity = workitem.activity_id proxy = self.pool.get(workitem.object_id.model) diff --git a/addons/marketing_campaign/marketing_campaign_demo.xml b/addons/marketing_campaign/marketing_campaign_demo.xml index f49b918aa2c..df01161182e 100644 --- a/addons/marketing_campaign/marketing_campaign_demo.xml +++ b/addons/marketing_campaign/marketing_campaign_demo.xml @@ -1,37 +1,31 @@ - - Dummy Action - - dummy - - - - - - - Welcome in OpenERP Family! - info@tinyerp.com + Template for New Partner + info@tinyerp.com + Welcome in OpenERP Partner Channel! + ${object.email or ''} Hello, We are very happy to send Welcome message. - Cogretulation! You become now our Silver Partner. - info@tinyerp.com + Template for Silver Partner + info@tinyerp.com + Congratulation! You become now our Silver Partner. + ${object.email or ''} - Hello,We are happy to announce that you now become our Silver Partner. - Regards,OpenERP Team, + Hello, We are happy to announce that you now become our Silver Partner. + Template for Gold Partner + info@tinyerp.com Congratulation! You become our Gold Partner. - info@tinyerp.com + ${object.email or ''} - Hello, We are happy to announce that you become our Gold Partner. - Regards,OpenERP Team, + Hello, We are happy to announce that you become our Gold Partner. @@ -47,22 +41,25 @@ New Partner - + object.credit_limit < 10000 + True Silver Partner - + object.credit_limit >= 10000 and object.credit_limit < 50000 + True Gold Partner - + object.credit_limit >= 100000 + True @@ -79,12 +76,17 @@ + + Partners + [('name','like','agrolait')] + res.partner + OpenERP Partner create_date + - draft diff --git a/addons/marketing_campaign/test/marketing_campaign.yml b/addons/marketing_campaign/test/marketing_campaign.yml index 502f9e892ec..c4a48dcf704 100644 --- a/addons/marketing_campaign/test/marketing_campaign.yml +++ b/addons/marketing_campaign/test/marketing_campaign.yml @@ -1,44 +1,85 @@ - - 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.' +- + 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.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_1'))]) - #self.preview(cr, uid, ids) + ('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. - diff --git a/addons/marketing_campaign/test/marketing_campaign_demo.yml b/addons/marketing_campaign/test/marketing_campaign_demo.yml deleted file mode 100644 index c727132bd47..00000000000 --- a/addons/marketing_campaign/test/marketing_campaign_demo.yml +++ /dev/null @@ -1,5 +0,0 @@ -- - In order to test process of marketing campaign, I create segment. -- - !record {model: marketing.campaign.segment, id: marketing_campaign_segment0}: - campaign_id: marketing_campaign_openerppartnerchannel From 82753bfc6a544125b3f5503e80335a1f2b2606c9 Mon Sep 17 00:00:00 2001 From: "Harry (OpenERP)" Date: Fri, 2 Dec 2011 16:45:24 +0530 Subject: [PATCH 11/11] [IMP] marketing_campaign: clenup yml again bzr revid: hmo@tinyerp.com-20111202111524-wk0wnrki1b0bm3po --- .../test/marketing_campaign.yml | 45 ++++++++++++------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/addons/marketing_campaign/test/marketing_campaign.yml b/addons/marketing_campaign/test/marketing_campaign.yml index c4a48dcf704..18b3d95a911 100644 --- a/addons/marketing_campaign/test/marketing_campaign.yml +++ b/addons/marketing_campaign/test/marketing_campaign.yml @@ -21,11 +21,6 @@ - !assert {model: marketing.campaign.segment, id: marketing_campaign_segment0}: - state == 'running' -- - 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. - @@ -36,19 +31,14 @@ - !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'))]) + ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_0'))]) assert ids, 'Followup item is not created for first activity.' -- - 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'))]) + ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_0'))]) self.process(cr, uid, ids) record = self.browse(cr, uid, ids)[0] assert record.state == "done", "Followup item should be closed after process." @@ -57,21 +47,44 @@ - !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'))]) + ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_1'))]) 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':41000}, context=context) +- + I process followup of second activity after set draft. +- + !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.button_draft(cr, uid, ids, context=context) + self.process(cr, uid, ids, context=context) + record = self.browse(cr, uid, ids[0], context=context) + assert record.state == "done", "Followup item should be closed after process." +- + I check followup detail of third activity after process 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'))]) + assert ids, 'Followup item is not created for third 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. + I process followup of third activity after set draft. - !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] + self.button_draft(cr, uid, ids, context=context) + self.process(cr, uid, ids, context=context) + record = self.browse(cr, uid, ids[0], context=context) assert record.state == "done", "Followup item should be closed after process." - I print workitem report.