From e1ddb581a3c42f218cc1591d3e277899216888eb Mon Sep 17 00:00:00 2001 From: "uco (OpenERP)" Date: Mon, 1 Nov 2010 18:00:59 +0530 Subject: [PATCH] [REF] crm: Reverted the changes of on change method. Historize only when 'Next' and 'Previous' buttons are clicked. bzr revid: uco@tinyerp.com-20101101123059-7z0kpnrz5rkvzon1 --- addons/crm/crm.py | 2 +- addons/crm/crm_lead.py | 16 ++++++++++++++-- addons/crm/crm_lead_view.xml | 3 +-- addons/crm/crm_opportunity.py | 7 ------- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/addons/crm/crm.py b/addons/crm/crm.py index c809857de66..d54f82af52c 100644 --- a/addons/crm/crm.py +++ b/addons/crm/crm.py @@ -201,7 +201,7 @@ class crm_case(object): if stage.on_change: data.update({'probability': stage.probability}) self.write(cr, uid, [case.id], data, context=context) - return True + return prev_stage def onchange_partner_id(self, cr, uid, ids, part, email=False): """This function returns value of partner address based on partner diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index acc2eb8dbec..68dac281c82 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -286,7 +286,13 @@ class crm_lead(crm_case, osv.osv): stage = super(crm_lead, self).stage_next(cr, uid, ids, context) if stage: stage_obj = self.pool.get('crm.case.stage').browse(cr, uid, stage, context=context) - self.onchange_stage_id(cr, uid, ids, stage) + self.history(cr, uid, ids, _('Stage'), details=stage_obj.name) + for case in self.browse(cr, uid, ids): + if case.type == 'lead': + message = _("The stage of lead '%s' has been changed to '%s'.") % (case.name, case.stage_id.name) + elif case.type == 'opportunity': + message = _("The stage of opportunity '%s' has been changed to '%s'.") % (case.name, case.stage_id.name) + self.log(cr, uid, case.id, message) if stage_obj.on_change: data = {'probability': stage_obj.probability} self.write(cr, uid, ids, data) @@ -295,8 +301,14 @@ class crm_lead(crm_case, osv.osv): def stage_previous(self, cr, uid, ids, context=None): stage = super(crm_lead, self).stage_previous(cr, uid, ids, context) if stage: + stage_obj = self.pool.get('crm.case.stage').browse(cr, uid, stage, context=context) + self.history(cr, uid, ids, _('Stage'), details=stage_obj.name) for case in self.browse(cr, uid, ids): - self.onchange_stage_id(cr, uid, [case.id], case.stage_id.id) + if case.type == 'lead': + message = _("The stage of lead '%s' has been changed to '%s'.") % (case.name, case.stage_id.name) + elif case.type == 'opportunity': + message = _("The stage of opportunity '%s' has been changed to '%s'.") % (case.name, case.stage_id.name) + self.log(cr, uid, case.id, message) return stage def message_new(self, cr, uid, msg, context): diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index d54cb363509..dff880c7fce 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -57,8 +57,7 @@ - +