From 83bb1753ac60e8d98563061c3b4d5642feddf2c8 Mon Sep 17 00:00:00 2001 From: "pso (OpenERP)" Date: Thu, 30 Aug 2012 11:08:56 +0530 Subject: [PATCH] [IMP] Improved code to write default company currency into the pricelists bzr revid: pso@tinyerp.com-20120830053856-uzsqy4usnp1widvo --- addons/product/pricelist.py | 8 ++++++-- addons/purchase/company.py | 11 ++++------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/addons/product/pricelist.py b/addons/product/pricelist.py index e88de61299f..6be5e91dd52 100644 --- a/addons/product/pricelist.py +++ b/addons/product/pricelist.py @@ -438,13 +438,17 @@ product_pricelist_item() class res_company(osv.osv): _inherit = 'res.company' + + def _get_default_product_pricelist(self, cr, uid, context=None): + model, pricelist_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'product', 'list0') + return [pricelist_id] def write(self, cr, uid, ids, vals, context=None): res = super(res_company, self).write(cr, uid, ids, vals, context) product_pricelist_obj = self.pool.get('product.pricelist') currency = product_pricelist_obj._get_currency(cr, uid, context) - pricelist = self.pool.get('ir.model.data').get_object(cr, uid, 'product', 'list0') - product_pricelist_obj.write(cr, uid, pricelist.id, {'currency_id': currency}, context=context) + pricelist_ids = self._get_default_product_pricelist(cr, uid, context=context) + product_pricelist_obj.write(cr, uid, pricelist_ids, {'currency_id': currency}, context=context) return res res_company() diff --git a/addons/purchase/company.py b/addons/purchase/company.py index 5126fbc0a86..fb362091a7c 100644 --- a/addons/purchase/company.py +++ b/addons/purchase/company.py @@ -31,13 +31,10 @@ class company(osv.osv): 'po_lead': lambda *a: 1.0, } - def write(self, cr, uid, ids, vals, context=None): - res = super(company, self).write(cr, uid, ids, vals, context) - product_pricelist_obj = self.pool.get('product.pricelist') - currency = product_pricelist_obj._get_currency(cr, uid, context) - pricelist = self.pool.get('ir.model.data').get_object(cr, uid, 'purchase', 'list0') - product_pricelist_obj.write(cr, uid, pricelist.id, {'currency_id': currency}, context=context) - return res + def _get_default_product_pricelist(self, cr, uid, context=None): + pricelist_ids = super(company, self)._get_default_product_pricelist(cr, uid, context=context) + model, pricelist_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'purchase', 'list0') + return pricelist_ids + [pricelist_id] company()