From 6398222a1501a5c7a83f6c22a88c47c6574e84aa Mon Sep 17 00:00:00 2001 From: "Amit Parmar (OpenERP)" Date: Thu, 21 Jul 2011 14:28:53 +0530 Subject: [PATCH 1/4] [IMP] onchange costumer change teh to_invoice bzr revid: aar@tinyerp.com-20110721085853-mcld9nqm2q27ki3q --- addons/project/project.py | 8 ++++++-- addons/project_timesheet/project_timesheet.py | 5 ++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/addons/project/project.py b/addons/project/project.py index b1461da424c..782767d78f8 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -71,14 +71,18 @@ class project(osv.osv): res[m.id] = (m.parent_id and (m.parent_id.name + '/') or '') + m.name return res - def onchange_partner_id(self, cr, uid, ids, part=False, context=None): + def onchange_partner_id(self, cr, uid, ids, part=False, res=False, context=None): partner_obj = self.pool.get('res.partner') if not part: return {'value':{'contact_id': False, 'pricelist_id': False}} addr = partner_obj.address_get(cr, uid, [part], ['contact']) pricelist = partner_obj.read(cr, uid, part, ['property_product_pricelist'], context=context) pricelist_id = pricelist.get('property_product_pricelist', False) and pricelist.get('property_product_pricelist')[0] or False - return {'value':{'contact_id': addr['contact'], 'pricelist_id': pricelist_id}} + if not res: + return {'value':{'contact_id': addr['contact'], 'pricelist_id': pricelist_id}} + else: + return {'value':{'contact_id': addr['contact'], 'pricelist_id': pricelist_id, 'to_invoice': res}} + def _progress_rate(self, cr, uid, ids, names, arg, context=None): res = {}.fromkeys(ids, 0.0) diff --git a/addons/project_timesheet/project_timesheet.py b/addons/project_timesheet/project_timesheet.py index 141b5756271..36768b07793 100644 --- a/addons/project_timesheet/project_timesheet.py +++ b/addons/project_timesheet/project_timesheet.py @@ -28,7 +28,10 @@ from tools.translate import _ class project_project(osv.osv): _inherit = 'project.project' - + def onchange_partner_id(self, cr, uid, ids, part=False, context=None): + obj = self.pool.get('hr_timesheet_invoice.factor') + factor_ids = obj.search(cr, uid, [('customer_name','=','100%')]) + return super(project_project, self).onchange_partner_id(cr, uid, ids, part, factor_ids, context=context) project_project() class project_work(osv.osv): From de8fa767097fb8ea1393ac2ed6657e60897187dd Mon Sep 17 00:00:00 2001 From: "Amit Parmar (OpenERP)" Date: Tue, 26 Jul 2011 12:21:24 +0530 Subject: [PATCH 2/4] [IMP] remerege onchange_partner_set_invoice_task_work bzr revid: aar@tinyerp.com-20110726065124-a069g9op9gw6u0jl --- addons/project/project.py | 8 ++------ addons/project_timesheet/project_timesheet.py | 7 +++++-- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/addons/project/project.py b/addons/project/project.py index 782767d78f8..830d40a4634 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -78,12 +78,8 @@ class project(osv.osv): addr = partner_obj.address_get(cr, uid, [part], ['contact']) pricelist = partner_obj.read(cr, uid, part, ['property_product_pricelist'], context=context) pricelist_id = pricelist.get('property_product_pricelist', False) and pricelist.get('property_product_pricelist')[0] or False - if not res: - return {'value':{'contact_id': addr['contact'], 'pricelist_id': pricelist_id}} - else: - return {'value':{'contact_id': addr['contact'], 'pricelist_id': pricelist_id, 'to_invoice': res}} - - + return {'value':{'contact_id': addr['contact'], 'pricelist_id': pricelist_id}} + def _progress_rate(self, cr, uid, ids, names, arg, context=None): res = {}.fromkeys(ids, 0.0) if not ids: diff --git a/addons/project_timesheet/project_timesheet.py b/addons/project_timesheet/project_timesheet.py index 36768b07793..0d6843497c8 100644 --- a/addons/project_timesheet/project_timesheet.py +++ b/addons/project_timesheet/project_timesheet.py @@ -30,8 +30,11 @@ class project_project(osv.osv): _inherit = 'project.project' def onchange_partner_id(self, cr, uid, ids, part=False, context=None): obj = self.pool.get('hr_timesheet_invoice.factor') - factor_ids = obj.search(cr, uid, [('customer_name','=','100%')]) - return super(project_project, self).onchange_partner_id(cr, uid, ids, part, factor_ids, context=context) + res = super(project_project, self).onchange_partner_id(cr, uid, ids, part, context) + if res and ('value' in res): + factor_ids = obj.search(cr, uid, [('customer_name','=','100%')]) + res['value'].update({'to_invoice': factor_ids}) + return res project_project() class project_work(osv.osv): From 8aea108678acc65c11f673e671673af64606c720 Mon Sep 17 00:00:00 2001 From: "Amit Parmar (OpenERP)" Date: Tue, 26 Jul 2011 12:35:20 +0530 Subject: [PATCH 3/4] [IMP] remerge onchange_partner_set_invoice_task_work bzr revid: aar@tinyerp.com-20110726070520-k20bvj8anrq9z6ot --- addons/project/project.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/project/project.py b/addons/project/project.py index 830d40a4634..1aa200144cb 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -71,7 +71,7 @@ class project(osv.osv): res[m.id] = (m.parent_id and (m.parent_id.name + '/') or '') + m.name return res - def onchange_partner_id(self, cr, uid, ids, part=False, res=False, context=None): + def onchange_partner_id(self, cr, uid, ids, part=False, context=None): partner_obj = self.pool.get('res.partner') if not part: return {'value':{'contact_id': False, 'pricelist_id': False}} From 0ce32e3ba6031010fe44c013f26b62c36aaf9abd Mon Sep 17 00:00:00 2001 From: "Amit Parmar (OpenERP)" Date: Thu, 28 Jul 2011 10:57:47 +0530 Subject: [PATCH 4/4] [IMP] remerge onchange partner set invoice task work bzr revid: aar@tinyerp.com-20110728052747-snhjt637okxiytkp --- addons/project_timesheet/project_timesheet.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/addons/project_timesheet/project_timesheet.py b/addons/project_timesheet/project_timesheet.py index 0d6843497c8..49ee36c0a7e 100644 --- a/addons/project_timesheet/project_timesheet.py +++ b/addons/project_timesheet/project_timesheet.py @@ -29,11 +29,13 @@ from tools.translate import _ class project_project(osv.osv): _inherit = 'project.project' def onchange_partner_id(self, cr, uid, ids, part=False, context=None): - obj = self.pool.get('hr_timesheet_invoice.factor') + data_obj = self.pool.get('ir.model.data') res = super(project_project, self).onchange_partner_id(cr, uid, ids, part, context) - if res and ('value' in res): - factor_ids = obj.search(cr, uid, [('customer_name','=','100%')]) - res['value'].update({'to_invoice': factor_ids}) + if part and res and ('value' in res): + data_id = data_obj._get_id(cr, uid, 'hr_timesheet_invoice', 'timesheet_invoice_factor1') + if data_id: + factor_id = data_obj.browse(cr, uid, data_id).res_id + res['value'].update({'to_invoice': factor_id}) return res project_project()