From f7e053f078e5a83db39e4f6b07e81a12a8d0d790 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Mon, 21 May 2012 16:23:17 +0200 Subject: [PATCH] [IMP] crm (crm_case, crm_lead): fixed case_oen in crm_base/crm_case (writes date_open if was in draft); deleted case_open in crm_lead as its behavior is now the default crm_case behavior; updated opportunities form view (re-added a Open button, when in draft; rearranged buttons). bzr revid: tde@openerp.com-20120521142317-3cwzxc2vdn1h3sjo --- addons/crm/crm.py | 6 +++++- addons/crm/crm_lead.py | 14 +------------- addons/crm/crm_lead_view.xml | 14 ++++++++------ 3 files changed, 14 insertions(+), 20 deletions(-) diff --git a/addons/crm/crm.py b/addons/crm/crm.py index 870a0816d28..d122c4b69ca 100644 --- a/addons/crm/crm.py +++ b/addons/crm/crm.py @@ -263,7 +263,9 @@ class crm_base(object): """ Opens case """ cases = self.browse(cr, uid, ids, context=context) for case in cases: - data = {'state': 'open', 'date_open': fields.datetime.now(), 'active': True} + data = {'state': 'open', 'active': True} + if case.state == 'draft': + data['date_open'] = fields.datetime.now() if not case.user_id: data['user_id'] = uid self.write(cr, uid, [case.id], data, context=context) @@ -443,6 +445,8 @@ class crm_case(crm_base): self.stage_set_with_state_name(cr, uid, cases, 'open', context=context) for case in cases: data = {'active': True, 'date_open': fields.datetime.now()} + if case.stage_id and case.stage_id.state == 'draft': + data['date_open'] = fields.datetime.now() if not case.user_id: data['user_id'] = uid self.write(cr, uid, [case.id], data, context=context) diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index 0685b70f8cb..27c3219e2ed 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -260,18 +260,6 @@ class crm_lead(crm_case, osv.osv): def stage_find_won(self, cr, uid, section_id): return self.stage_find_percent(cr, uid, 100.0, section_id) - def case_open(self, cr, uid, ids, context=None): - for lead in self.browse(cr, uid, ids, context=context): - if lead.state == 'draft': - value = {'date_open': time.strftime('%Y-%m-%d %H:%M:%S')} - self.write(cr, uid, [lead.id], value) - if lead.type == 'opportunity' and not lead.stage_id: - stage_id = self.stage_find(cr, uid, lead.section_id.id or False, [('sequence','>',0)]) - if stage_id: - self.stage_set(cr, uid, [lead.id], stage_id) - res = super(crm_lead, self).case_open(cr, uid, ids, context) - return res - def case_cancel(self, cr, uid, ids, context=None): """Overrides cancel for crm_case for setting probability """ @@ -302,7 +290,7 @@ class crm_lead(crm_case, osv.osv): for lead in self.browse(cr, uid, ids): stage_id = self.stage_find_won(cr, uid, lead.section_id.id or False) if stage_id: - self.case_set(cr, uid, [lead.id], values_to_update={'probability': 87.0}, new_stage_id=stage_id, context=context) + self.case_set(cr, uid, [lead.id], values_to_update={'probability': 100.0}, new_stage_id=stage_id, context=context) self.case_close_send_note(cr, uid, ids, context=context) return True diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index d9dedd575a9..47e1baaf1f0 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -403,19 +403,21 @@