starts with a fist contact with a customer (a lead), which will be converted to a
business opportunity and a partner.
-
- Check installer report
+ I check installer report.
-
!record {model: base.setup.installer , id: base_action_rule_0_1}:
name: Test_action
-
- Create the view at the time of setup.
+ I create the view at the time of setup.
-
!python {model: base.setup.installer}: |
self.fields_view_get(cr, uid,view_id=None, view_type='form', context=None, toolbar=False, submenu=False)
section_id: crm.section_sales_department
referred: False
- |
- I check that the lead is in 'draft' state,
+ I check that the lead is in 'draft' state.
-
!assert {model: crm.lead, id: crm_lead_newcustomer0, string: Lead in Draft}:
- state == "draft"
-
- I open lead by click on "Open" button,
+ I open lead by click on "Open" button.
-
!python {model: crm.lead}: |
self.case_open(cr, uid, [ref("crm_lead_newcustomer0")])
Then, Click on "Create Opportunity" button of this wizard.
-
!python {model: crm.lead2opportunity.partner}: |
- self.action_apply(cr, uid, [ref("crm_lead2opportunity_partner_create_2")], {'active_ids': [ref("crm_lead_newcustomer0")], 'active_id': ref("crm_lead_newcustomer0")})
+ self.action_apply(cr, uid, [ref("crm_lead2opportunity_partner_create_2")], {'active_ids': [ref("crm_lead_newcustomer0")], 'active_id': ref("crm_lead_newcustomer0")})
- |
In order to check the opportunity is created or not, I check type.
-
assert lead.type == 'opportunity'
-
- Creating crm.lead2opportunity.partner.mass report
+ I create mass report of lead to opprtunity partner.
-
!record {model: crm.lead2opportunity.partner.mass, id: crm_lead2opportunity_partner_mass0}:
- user_ids:
+ user_ids:
- base.user_root
section_id: crm.section_sales_department
-
- Then, execute lead2opportunity.partner.mass wizard.
+ Then, execute that mass wizard.
-
!python {model: crm.lead2opportunity.partner.mass}: |
self.mass_convert(cr, uid, [ref("crm_lead2opportunity_partner_mass0")],{'active_ids': [ref("crm_lead_newcustomer0")], 'active_id': ref("crm_lead_newcustomer0")})
-
+
-
- Creating notes.
+ I create notes.
-
!record {model: crm.add.note, id: crm_add_note0}:
{}
except:
pass
-
- Creating crm.send.mail report
+ I create send mail report.
-
!record {model: crm.send.mail, id: crm_send_mail0}:
- #email_to: info@axelor.com
- #email_from: admin@openerp.com
- #reply_to: sales_openerp@openerp.com
- #subject: latest
- #body: test
- #state: draft
{}
-
- I close lead by click on "close" button,
+ I close lead by click on "close" button.
-
!python {model: crm.send.mail}: |
fields = {
#self.action_mass_send(cr, uid, [ref('crm_send_mail0')], {'active_ids':[ref('crm_send_mail0')],'active_id':ref('crm_send_mail0')})
self.get_reply_defaults(cr, uid, fields, {'active_ids':[ref('crm_send_mail0')],'active_id':ref('crm_send_mail0')})
-
- I close lead by click on "close" button,
+ I close lead by click on "close" button.
-
!python {model: crm.lead}: |
self.case_close(cr, uid, [ref("crm_lead_newcustomer0")])
!assert {model: crm.lead, id: crm_lead_newcustomer0, string: Lead in done state}:
- state == "done"
-
- cancel lead by click on "cancel" button,
+ I cancel lead by click on "cancel" button.
-
!python {model: crm.lead}: |
self.case_cancel(cr, uid, [ref("crm_lead_newcustomer0")])
I check that lead is now in 'cancel' state.
-
!assert {model: crm.lead, id: crm_lead_newcustomer0, string: Lead in cancel state}:
- - state == "cancel"
+ - state == "cancel"
#-
# |
- |
I Reply to last Email to lead with some document attached.and check that communication history generated or not.
-
I will create new full configured record and carry test on it.
- |
I Start by creating "Demo Sales Team" with No Unlink.
- Creating a crm.case.section record
+ I create a crm.case.section record.
-
!record {model: crm.case.section, id: crm_case_section_demosalesteam}:
code: DEMO
I assign segmentation.
-
!record {model: res.users, id: res_users_usercrm0}:
- context_section_id: crm_case_section_demosalesteam
+ context_section_id: crm_case_section_demosalesteam
- |
- Creating a new lead "Demo Customer" and I provide an address to this
+ I create a new lead "Demo Customer" and I provide an address to this
demo customer and email "info@democustomer.com" and Also "Demo Sales Team".
-
!record {model: crm.lead, id: crm_lead_democustomer}:
referred: False
type: lead
-
- I check that the lead is in 'draft' state,
+ I check that the lead is in 'draft' state.
-
!assert {model: crm.lead, id: crm_lead_democustomer, string: Lead in Draft}:
- state == "draft"
I assigning contact detail to the Lead "Demo Customer" with address.
-
!python {model: crm.lead}: |
- self.onchange_partner_address_id(cr, uid, ref("crm_lead_democustomer"), ref("base.res_partner_address_notsotinysarl0"), email=False)
+ self.onchange_partner_address_id(cr, uid, ref("crm_lead_democustomer"), ref("base.res_partner_address_notsotinysarl0"), email=False)
-
I selecting email "Opt-out" option for the "Demo Customer" Lead.
!python {model: crm.lead}: |
self.on_change_optin(cr, uid, ref("crm_lead_democustomer"), True)
-
- I open lead by click on "Open" button,
+ I open lead by click on "Open" button.
-
!python {model: crm.lead}: |
self.case_open(cr, uid, [ref("crm_lead_democustomer")])
!python {model: crm.lead}: |
self.case_reset(cr, uid, [ref("crm_lead_democustomer")])
-
- I again opening lead by click on "Open" button,
+ I again opening lead by click on "Open" button.
-
!python {model: crm.lead}: |
self.case_open(cr, uid, [ref("crm_lead_democustomer")])
!python {model: crm.lead}: |
self.stage_next(cr, uid, [ref("crm_lead_democustomer")], context={'stage_type': 'lead'})
-
- I try to Unlink the Lead "Demo Customer" demo Lead
+ I try to Unlink the Lead "Demo Customer" demo Lead.
-
!python {model: crm.lead}: |
try:
except:
pass
-
- I setting Lead "Demo Customer" to Pending State
+ I setting Lead "Demo Customer" to Pending State.
-
!python {model: crm.lead}: |
self.case_pending(cr, uid, [ref("crm_lead_democustomer")])
!assert {model: crm.lead, id: crm_lead_democustomer, string: Lead in Pending state}:
- state == "pending"
-
- Now i Escalate the Lead "Demo Customer" Parent "Sales Team".
+ Now I Escalate the Lead "Demo Customer" Parent "Sales Team".
-
!python {model: crm.lead}: |
self.case_escalate(cr, uid, [ref("crm_lead_democustomer")])
--
- Now i add Internal Note Saying Escalated Reason
- Creating a crm.add.note record
--
+-
+ Now I add Internal Note Saying Escalated Reason.
+-
!record {model: crm.add.note, id: crm_add_note_0}:
body: Sales Lead Has Been Escalated Due to Some Technical reason to the parent 'Sales
Team'
state: unchanged
-
- I click aa note button to attach the record
--
+ I click a note button to attach the record.
+-
!python {model: crm.add.note}: |
context['active_model'] = "crm.lead"
context['active_ids'] = [ref("crm_lead_democustomer")]
self.action_add(cr, uid, [ref("crm_add_note_0")], context=context)
-
- Now i Copying this lead "Demo Customer" to New Lead.
+ Now I Copying this lead "Demo Customer" to New Lead.
-
!python {model: crm.lead}: |
self.copy(cr, uid, ref("crm_lead_democustomer"))
-
- Checking the Lead Copied or Not.
+ I checking the Lead Copied or Not.
-
!python {model: crm.lead}: |
sid = self.search(cr, uid, [('name', '=', 'Demo Customer'),('state', '=', 'draft')])
if not sid:
raise AssertionError("Lead is not copied Successfully")
-
Now I will test Meetings which may be customer meeting or phonecall meeting or
internal Meeting.
- |
- I start by creating a new Meeting.
--
+ I start by creating a new Meeting.
+-
!record {model: crm.meeting, id: crm_meeting_regardingpresentation0}:
categ_id: crm.categ_meet2
date: !eval time.strftime('%Y-%m-%d 16:04:00')
section_id: crm.section_sales_department
- |
I check that the Meetings is in 'UnConfirmed' state.
--
+-
!assert {model: crm.meeting, id: crm_meeting_regardingpresentation0}:
- - state == "draft"
+ - state == "draft"
- |
- I can set reminder on meeting if I put reminder "40 minutes before"
+ I can set reminder on meeting if I put reminder "40 minutes before" .
- |
For that, I first create alarm.
--
+-
!record {model: res.alarm, id: res_alarm_minituesbefore0}:
name: 40 minutes before
trigger_duration: 40
trigger_occurs: before
trigger_related: start
- |
- Now I will assign this reminder.
-
+ Now I will assign this reminder.
+
- !python {model: crm.meeting}: |
self.write(cr, uid, [ref('crm_meeting_regardingpresentation0')], {'alarm_id': ref("res_alarm_minituesbefore0")})
- |
In order to check recurrence on meetings I will set Recurrency to Custom
- and I set the fields so that the meeting will occur weekly on Monday and Friday 10 times
+ and I set the fields so that the meeting will occur weekly on Monday and Friday 10 times.
-
!python {model: crm.meeting}: |
self.write(cr, uid, [ref("crm_meeting_regardingpresentation0")], {'fr': 1, 'mo': 1, 'th': 1, 'tu': 1, 'we':1, 'count':10, 'interval': 1, 'rrule_type': 'weekly'})
-
+
- |
I can see from the calendar view that the meeting is scheduled on Monday and Friday
- for 10 times,
-
+ for 10 times.
+
-
!python {model: crm.meeting}: |
self.fields_view_get(cr, uid, False, 'calendar', context)
-- |
+- |
I will search for one of the recurrent event and count the number of meeting.
-
!python {model: crm.meeting}: |
import time
from datetime import datetime, date, timedelta
ids = self.search(cr, uid, [('date', '>=', time.strftime('%Y-%m-%d 00:00:00')), ('date', '<=', (datetime.now()+timedelta(31)).strftime('%Y-%m-%d 00:00:00')), ('name', '=', 'Regarding Presentation')], context={'virtual_id': True})
- assert len(ids) == 10
+ assert len(ids) == 10
- |
Now If I want to edit meetings information for all occurrence I click on "Edit All" button.
-
!python {model: crm.meeting}: |
self.write(cr, uid, [ref('crm_meeting_regardingpresentation0')], {'edit_all':'True'},context)
-- |
- I can see that new meeting form is opened with same value
- I change some data for meeting and save it
- I can see from meeting's calendar view that all meeting occurrences are changed accordingly
--
+- |
+ I can see that new meeting form is opened with same value.
+ I change some data for meeting and save it.
+ I can see from meeting's calendar view that all meeting occurrences are changed accordingly.
+-
!record {model: crm.meeting, id: crm.crm_meeting_regardingpresentation0}:
alarm_id: base_calendar.alarm9
rrule_type: weekly
-- |
+- |
In order to invite people for this meetings, I click on "Invite People" button
- I can invite internal user.
--
+ I can invite internal user.
+-
!record {model: base_calendar.invite.attendee, id: base_calendar_invite_attendee_0}:
type: internal
send_mail: False
user_ids:
- base.user_demo
-
- I click on "Invite" button of "Invite attendee" wizard.
+ I click on "Invite" button of "Invite attendee" wizard.
-
!python {model: base_calendar.invite.attendee}: |
- self.do_invite(cr, uid, [ref('base_calendar_invite_attendee_0')], {'active_id': ref('crm_meeting_regardingpresentation0'), 'model' : 'crm.meeting', 'attendee_field':'attendee_ids'})
+ self.do_invite(cr, uid, [ref('base_calendar_invite_attendee_0')], {'active_id': ref('crm_meeting_regardingpresentation0'), 'model' : 'crm.meeting', 'attendee_field':'attendee_ids'})
- |
- After direct/indirect confirmation for meetings I can confirm meeting
+ After direct/indirect confirmation for meetings I can confirm meeting.
-
!python {model: crm.meeting}: |
self.case_open(cr, uid, [ref('crm_meeting_regardingpresentation0')])
- |
I can see that Meeting's calendar view is shown.
then I click on the date on which I want to schedule meeting.
- I fill proper data for that meeting and save it
+ I fill proper data for that meeting and save it.
-
!record {model: crm.meeting, id: crm_meeting_abcfuelcounits0}:
date: !eval time.strftime('%Y-%m-%d 00:00:00')
I click on "schedule call" button and select planned date for the call.
-
!record {model: crm.opportunity2phonecall, id: crm_opportunity2phonecall_abcfuelcounits0}:
- date: !eval "(datetime.now() + timedelta(1)).strftime('%Y-%m-%d 11:15:00')"
+ date: !eval "(datetime.now() + timedelta(1)).strftime('%Y-%m-%d 11:15:00')"
name: 'ABC FUEL CO 829264 - 10002 units'
section_id: crm.section_sales_department
user_id: base.user_demo
categ_id: crm.categ_phone1
- |
- schedule phonecall by apply (action_apply)function of opportunity2phoncall wizard
+ schedule phonecall by opportunity2phoncall wizard.
-
!python {model: crm.opportunity2phonecall}: |
self.action_apply(cr, uid, [ref('crm_opportunity2phonecall_abcfuelcounits0')], {'active_ids': [ref("crm_opportunity_abcfuelcounits0")]})
I can see phonecall record after click on "Schedule call" wizard.
-
!record {model: crm.phonecall, id: crm_phonecall_abcfuelcounits0}:
- date: !eval "(datetime.now() + timedelta(1)).strftime('%Y-%m-%d 11:15:00')"
+ date: !eval "(datetime.now() + timedelta(1)).strftime('%Y-%m-%d 11:15:00')"
duration: 3.0
name: 'ABC FUEL CO 829264 - 10002 units'
partner_address_id: base.res_partner_address_1
categ_id: crm.categ_oppor2
section_id: crm.section_sales_department
-
- Create the opportunity 'FUEL CO'.
+ I create the opportunity 'FUEL CO'.
-
!record {model: crm.lead, id: crm_opportunity_2}:
email_from: info@balmerinc.be
categ_id: crm.categ_oppor2
section_id: crm.section_sales_department
- |
- I Merge two Opportunities,
+ I Merge two Opportunities.
-
!python {model: crm.merge.opportunity}: |
op_list = [ref('crm_opportunity_1'),ref('crm_opportunity_2')]
!assert {model: crm.lead, id: crm_opportunity_demotestopportunity, string: Opportunity in Draft}:
- state == "draft"
-
- I open opportunity by click on "Open" button,
+ I open opportunity by click on "Open" button.
-
!python {model: crm.lead}: |
self.case_open(cr, uid, [ref("crm_opportunity_demotestopportunity")])
Now, click on "Continue" button of this wizard.
-
!python {model: crm.phonecall2partner}: |
-
+
self._select_partner(cr, uid,{"active_ids": [ref("crm_phonecall_interviewcall0")]})
self.open_create_partner(cr, uid, [ref("crm_phonecall2partner_1")], {"active_ids": [ref("crm_phonecall_interviewcall0")]})
self.make_partner(cr, uid, [ref("crm_phonecall2partner_1")], {"active_ids": [ref("crm_phonecall_interviewcall0")]})
- |
And I check that the phonecall and the newly created business opportunity is linked
- to same partner
+ to same partner.
-
!python {model: crm.phonecall}: |
obj_phonecall = self.browse(cr, uid, ref('crm_phonecall_interviewcall0'))
- |
I schedule Meeting on this current phonecall by clicking on "schedule
- Meeting"
+ Meeting".
-
!python {model: crm.phonecall}: |
self.action_make_meeting(cr, uid, [ref('crm_phonecall_interviewcall0')])
- |
I can see that Meeting's calendar view is shown.
then I click on the date on which I want schedule meeting.
- I fill proper data for that meeting and save it
+ I fill proper data for that meeting and save it.
-
!record {model: crm.meeting, id: crm_meeting_interviewcall0}:
alarm_id: base_calendar.alarm3
self.onchange_partner_address_id(cr, uid,[ref("crm_phonecall_dummycall")], ref("base.res_partner_address_8invoice"))
-
- I setting Phone call to Held (Done)
+ I setting Phone call to Held (Done).
-
!python {model: crm.phonecall}: |
self.case_close(cr, uid, [ref("crm_phonecall_dummycall")])
meeting_ids = self.search(cr, uid, [('recurrent_uid', '=', ref('crm_meeting_reviewcodewithprogrammer0')), ('recurrent_id','=','2011-04-25 12:47:00')], context)
assert meeting_ids, 'Meeting is not edited !'
-
\ No newline at end of file
- |
Now I will test segmentation which create specific partner categories criteria.
-
- Creating a new segmentation record.
+ I create a new segmentation record.
-
!record {model: crm.segmentation, id: crm_segmentation_id_0}:
categ_id: base.res_partner_category_5
som_interval: 0.0
sales_purchase_active : True
-
- Now, Start the process,
+ Now, Start the process.
-
!python {model: crm.segmentation}: |
self.process_start(cr, uid, [ref("crm_segmentation_id_0")],context)
-
- Continue the segmentation process.
+ I continue the segmentation process.
-
!python {model: crm.segmentation}: |
context.update({'start': True})
self.process_continue(cr, uid, [ref("crm_segmentation_id_0")], context)
-
- Create the segmentation line.
+ I create the segmentation line.
-
!record {model: crm.segmentation.line, id: crm_segmentation_line_id_0}:
expr_name: sale
segmentation_id: crm_segmentation_id_0
-
- Checking the Segmentation line record.
+ I check the Segmentation line record.
-
!python {model: crm.segmentation.line}: |
self.test(cr, uid, [ref("crm_segmentation_line_id_0")],partner_id=0)
-
In order to test the changes on stage of a lead or an opportunity with OpenERP,
I create some leads and test the stage changes.
--
+-
I want to change the probability to 0.0 when the opportunity is marked as lost.
So I set its Change probability automatically true.
--
+-
!record {model: crm.case.stage, id: crm.stage_lead6}:
name: Lost
on_change: true
section_ids:
- crm.section_sales_department
sequence: 0
--
+-
I create a lead 'Test Lead1'.
--
+-
!record {model: crm.lead, id: crm_lead_openerppresentation0}:
categ_id: crm.categ_oppor4
day_close: 0.0
!python {model: crm.lead}: |
self.case_open(cr, uid, [ref('crm_lead_openerppresentation0')])
-
- I assigning stage
+ I assigning stage.
-
!python {model: crm.lead}: |
self.onchange_stage_id(cr, uid, [ref('crm_lead_openerppresentation0')], [], context)
-
- I assigning stage
+ I assigning percent.
-
!python {model: crm.lead}: |
self.stage_find_percent(cr, uid, 10.0, [])
-
- I find that this lead can be converted to opportunity.
+ I find that this lead can be converted to opportunity.
-
!record {model: crm.lead2opportunity.partner, id: crm_lead2opportunity_partner0}:
action: 'create'
- |
- Now Create test cases for Sharing meeting with other calendar clients like sunbird
+ Now Create test cases for Sharing meeting with other calendar clients like sunbird.
- |
- I start by creating a new Meeting.
--
+ I start by creating a new Meeting.
+-
!record {model: crm.meeting, id: crm_meeting_regardingsharing0}:
categ_id: crm.categ_meet2
date: !eval time.strftime('%Y-%m-%d 16:04:00')
section_id: crm.section_sales_department
-
- Check the export functionality.
+ I check the export functionality.
-
!python {model: crm.meeting}: |
self.export_cal(cr, uid, [ref('crm_meeting_regardingsharing0')], context)
'date_deadline':time.strftime('%Y-%m-%d 20:20:00'),
'id':ref('crm_meeting_regardingsharing0'),
'recurrent_id': time.strftime('%Y-%m-%d 50:00:00'),
- })
+ })
try:
self.check_import(cr, uid, vals, context)
except:
pass
-
- |
Now I check claims which contain customer claim information about document
- related problem, product related problem.
+ related problem, product related problem.
- |
- I start by creating new claims for Damaged product as Value Claims with priority High and specify
+ I start by creating new claims for Damaged product as Value Claims with priority High and specify
date of claim at which claim is created.
--
+-
!record {model: crm.claim, id: crm_claim_damagedproduct0}:
categ_id: crm_claim.categ_claim2
date: !eval time.strftime('%Y-%m-%d %H:%M:%S')
!assert {model: crm.claim, id: crm_claim_damagedproduct0}:
- state == 'draft'
- |
- I can change that stage by next button right on it
+ I can change that stage by next button right on it.
-
!python {model: crm.claim}: |
- self.stage_next(cr, uid, [ref('crm_claim_damagedproduct0')])
+ self.stage_next(cr, uid, [ref('crm_claim_damagedproduct0')])
- |
- I make this claim as Open
+ I make this claim as Open.
-
!python {model: crm.claim}: |
self.case_open(cr, uid, [ref('crm_claim_damagedproduct0')])
- |
- I am changing partner Assigned to the Claim
+ I am changing partner Assigned to the Claim.
-
!python {model: crm.claim}: |
- self.onchange_partner_id(cr, uid, [ref('crm_claim_damagedproduct0')], [])
+ self.onchange_partner_id(cr, uid, [ref('crm_claim_damagedproduct0')], [])
self.onchange_partner_id(cr, uid, [ref('crm_claim_damagedproduct0')], ref('base.res_partner_10'))
- |
- I am changing partner Address to the Claim
+ I am changing partner Address to the Claim.
-
!python {model: crm.claim}: |
- self.onchange_partner_address_id(cr, uid, [ref('crm_claim_damagedproduct0')], [], email = False)
-
+ self.onchange_partner_address_id(cr, uid, [ref('crm_claim_damagedproduct0')], [], email = False)
+
- |
- Now I start test Fund Raising which contain information about Donation or charity
+ Now I start test Fund Raising which contain information about Donation or charity
given by user.
- |
- I start by creating new Funds entry for donation for books to poor school children
+ I start by creating new Funds entry for donation for books to poor school children
with cost 500000.00 and category as "Learning And Education"
- I make payment by Cheque so I make sure that the mode on fund is selected as cheque
--
+ I make payment by Cheque so I make sure that the mode on fund is selected as cheque.
+-
!record {model: crm.fundraising, id: crm_fundraising_donationforbookstopoorschoolchildren0}:
categ_id: crm_fundraising.categ_fund2
email_from: info@balmerinc.be
!assert {model: crm.fundraising, id: crm_fundraising_donationforbookstopoorschoolchildren0}:
- state == 'draft'
- |
- Now I open Funds by click on "Open" button
+ Now I open Funds by click on "Open" button.
-
!python {model: crm.fundraising}: |
- self.case_open(cr, uid, [ref('crm_fundraising_donationforbookstopoorschoolchildren0')])
-- |
+ self.case_open(cr, uid, [ref('crm_fundraising_donationforbookstopoorschoolchildren0')])
+- |
I can close Funds by click on "Done" button.
-
!python {model: crm.fundraising}: |
- self.case_close(cr, uid, [ref('crm_fundraising_donationforbookstopoorschoolchildren0')])
+ self.case_close(cr, uid, [ref('crm_fundraising_donationforbookstopoorschoolchildren0')])
partner_id: base.res_partner_9
section_id: crm.section_sales_department
-
- Create the message.
+ I create the message.
-
!python {model: crm.helpdesk}: |
msg = {
!assert {model: crm.helpdesk, id: crm_helpdesk_somefunctionalquestion0}:
- state == 'draft'
- |
- In order to make this helpdesk request to be considered I make it "Open"
+ In order to make this helpdesk request to be considered I make it "Open".
-
!python {model: crm.helpdesk}: |
self.case_open(cr, uid, [ref('crm_helpdesk_somefunctionalquestion0')])
!record {model: res.partner, id: base.res_partner_desertic_hispafuentes}:
grade_id: res_partner_grade_first0
-
- Change the User email id or partner if needed.
+ I change the User email id or partner if needed.
-
!python {model: res.partner}: |
self.geo_localize(cr, uid, [ref('base.res_partner_desertic_hispafuentes')], context)
self.onchange_assign_id(cr, uid, [ref('crm_lead_questionnaireonopenerp0')], ref('base.res_partner_desertic_hispafuentes'), context)
self.assign_partner(cr, uid, [ref('crm_lead_questionnaireonopenerp0')], context)
-
- Change the User email id or partner if needed.
+ I change the User email id or partner if needed.
-
!python {model: crm.lead.forward.to.partner}: |
context.update({'history': 'latest', })
self.on_change_email(cr, uid, [ref('crm_lead_questionnaireonopenerp0')], user)
self.on_change_partner(cr, uid, [ref('crm_lead_questionnaireonopenerp0')], ref('base.res_partner_desertic_hispafuentes'))
-
- Change in history define.
+ I change in history define.
-
!python {model: crm.lead.forward.to.partner}: |
context.update({'history': 'info', })
except:
pass
-
- Create the opportunity.
+ I create the opportunity.
-
!record {model: crm.lead, id: crm_opportunity2}:
email_from: info@balmerinc.be
categ_id: crm.categ_oppor2
section_id: crm.section_sales_department
- |
- I Update the data,
+ I Update the data.
-
!python {model: crm.merge.opportunity}: |
self._update_data([ref('crm_opportunity2')], ref('crm_lead_questionnaireonopenerp0'))
- |
Now I check segmentation which allows users to perform segmentation within partners.
--
- Creating a crm profiling question record.
--
+-
+ I create a crm profiling question record.
+-
!record {model: crm_profiling.question, id: crm_profiling_question_openerppartner0}:
answers_ids:
- name: 'no'
name: OpenERP partner?
--
- Creating a crm profiling answer record.
--
+-
+ I create a crm profiling answer record.
+-
!record {model: crm_profiling.answer, id: crm_profiling_answer_openerppartner0}:
name: 'yes'
question_id: crm_profiling_question_openerppartner0
--
+-
I create Partner category Customers.
--
+-
!record {model: res.partner.category, id: res_partner_category_customers0}:
name: Customers
-- |
+- |
I'm creating new partner "John" with his email "info@mycustomer.com".
--
+-
!record {model: res.partner, id: res_partner_john0}:
address:
- city: Bruxelles
email: 'info@mycustomer.com'
name: John
category_id:
- - res_partner_category_customers0
+ - res_partner_category_customers0
answers_ids:
- crm_profiling_answer_openerppartner0
-
- Define the answers and category to partner
+ Define the answers and category to partner.
-
!python {model: res.partner}: |
data ={'form': {'questionnaire_name': ref('res_partner_john0')}, 'ids': [ref('res_partner_john0')], 'report_type': 'pdf', 'model': 'res.partner', 'id': ref('res_partner_john0')}
self._questionnaire_compute(cr, uid, data, context)
- |
Now, I start by creating new Questionnaire.
--
+-
!record {model: crm_profiling.questionnaire, id: crm_profiling_questionnaire_basequestionnaire0}:
description: First questionnaire.
name: Base questionnaire
context.update({'active_id':ref('res_partner_john0')})
data ={'form': {'questionnaire_name': ref('res_partner_john0')}, 'ids': [ref('res_partner_john0')], 'report_type': 'pdf', 'model': 'res.partner', 'id': ref('res_partner_john0')}
self.build_form(cr, uid, data, context)
--
- Creating a segmentation record
--
+-
+ I create a segmentation record.
+-
!record {model: crm.segmentation, id: crm_segmentation_test1}:
answer_yes:
- crm_profiling_answer_openerppartner0
name: test
parent_id: crm_profiling.crm_segmentation0
profiling_active: true
- som_interval: 0.0
+ som_interval: 0.0
- |
I continue the process of segmentation.
-
!python {model: crm.segmentation}: |
- self.process_continue(cr, uid, [ref('crm_segmentation_test1')], start=False)
-
+ self.process_continue(cr, uid, [ref('crm_segmentation_test1')], start=False)
+