From c5bbcb470528685e05b3d5f02fd57682c3b6fe13 Mon Sep 17 00:00:00 2001 From: "Sanjay Gohel (Open ERP)" Date: Thu, 19 Jul 2012 15:25:05 +0530 Subject: [PATCH 1/7] [IMP]crm:make stages clickable for statusbar with stage bzr revid: sgo@tinyerp.com-20120719095505-m9tgj782pln74j4r --- addons/crm/crm_lead.py | 14 +++++++++++++- addons/crm/crm_lead_view.xml | 10 +--------- addons/hr_recruitment/hr_recruitment_view.xml | 12 +----------- 3 files changed, 15 insertions(+), 21 deletions(-) diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index adf15e93a89..7680f8c49e5 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -289,9 +289,21 @@ class crm_lead(base_stage, osv.osv): if not stage_id: return {'value':{}} stage = self.pool.get('crm.case.stage').browse(cr, uid, stage_id, context) + if stage.state == "draft": + return {'value':{'probability': 0.0}} + if stage.state == "open": + cases = self.browse(cr, uid, ids, context=context) + data = {'active': True} + for case in cases: + 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 + return {'value':data} if not stage.on_change: return {'value':{}} - return {'value':{'probability': stage.probability}} + else: + return {'value':{'probability': stage.probability}} def _check(self, cr, uid, ids=False, context=None): """ Override of the base.stage method. diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index 73c687e4ad0..dc17facc6be 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -432,26 +432,18 @@
-
diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml index 7881d6f1e37..218a699a0e3 100644 --- a/addons/hr_recruitment/hr_recruitment_view.xml +++ b/addons/hr_recruitment/hr_recruitment_view.xml @@ -107,19 +107,9 @@
From da96b5c89acc27c927d501e933de7f943a81f6ba Mon Sep 17 00:00:00 2001 From: "Sanjay Gohel (Open ERP)" Date: Thu, 19 Jul 2012 17:23:56 +0530 Subject: [PATCH 2/7] [IMP]make stages clickable for hr_recruitment bzr revid: sgo@tinyerp.com-20120719115356-5wob5o6on83m19nz --- addons/hr_recruitment/hr_recruitment.py | 29 +++++++++++++++++-- addons/hr_recruitment/hr_recruitment_view.xml | 4 +-- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py index 1caceeac137..b36518b15d1 100644 --- a/addons/hr_recruitment/hr_recruitment.py +++ b/addons/hr_recruitment/hr_recruitment.py @@ -242,6 +242,28 @@ class hr_applicant(base_stage, osv.Model): _group_by_full = { 'stage_id': _read_group_stage_ids } + + def onchange_stage_id(self, cr, uid, ids, stage_id, context={}): + if context is None: + context = {} + if not stage_id: + return {'value':{}} + stage = self.pool.get('hr.recruitment.stage').browse(cr, uid, stage_id, context) + if stage.state == 'done': + context['onchange'] = True + self.case_close_with_emp(cr, uid, ids, context) + if stage.state == "draft": + return {'value':{'active': True,'date_open': False, 'date_closed': False}} + if stage.state == "open": + cases = self.browse(cr, uid, ids, context=context) + data = {'active': True} + for case in cases: + 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 + return {'value':data} + return {'value':{}} def onchange_job(self,cr, uid, ids, job, context=None): result = {} @@ -409,8 +431,11 @@ class hr_applicant(base_stage, osv.Model): 'address_home_id': address_id, 'department_id': applicant.department_id.id }) - self.write(cr, uid, [applicant.id], {'emp_id': emp_id}, context=context) - self.case_close(cr, uid, [applicant.id], context) + if context.get('onchange') == True: + return {'value':{'emp_id': emp_id,'active': True, 'date_closed': fields.datetime.now()}} + else: + self.write(cr, uid, [applicant.id], {'emp_id': emp_id}, context=context) + self.case_close(cr, uid, [applicant.id], context) else: raise osv.except_osv(_('Warning!'),_('You must define Applied Job for this applicant.')) diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml index 218a699a0e3..ef99e687185 100644 --- a/addons/hr_recruitment/hr_recruitment_view.xml +++ b/addons/hr_recruitment/hr_recruitment_view.xml @@ -105,11 +105,11 @@
-
From ae9a9def1bf35c9d3aae6f514dc05b393fd88822 Mon Sep 17 00:00:00 2001 From: "Sanjay Gohel (Open ERP)" Date: Thu, 19 Jul 2012 18:44:04 +0530 Subject: [PATCH 3/7] [IMP]hr,project:make stage clickable bzr revid: sgo@tinyerp.com-20120719131404-hzzrfh0xwg3l0ukm --- addons/hr_recruitment/hr_recruitment_view.xml | 2 +- addons/project/project_view.xml | 8 +------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml index ef99e687185..8c2931a8bb9 100644 --- a/addons/hr_recruitment/hr_recruitment_view.xml +++ b/addons/hr_recruitment/hr_recruitment_view.xml @@ -109,7 +109,7 @@ states="open,pending" class="oe_highlight"/>