From 85580856349b97dcb1cad398e5987782abcbffd7 Mon Sep 17 00:00:00 2001 From: mtr Date: Fri, 29 Apr 2011 12:36:23 +0530 Subject: [PATCH 1/3] [FIX] base_vat: it allows to save a record if VAT for a country is not define lp bug: https://launchpad.net/bugs/771664 fixed bzr revid: mtr@mtr-20110429070623-qvalswfhwqlr6m50 --- addons/base_vat/base_vat.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/addons/base_vat/base_vat.py b/addons/base_vat/base_vat.py index 102619e876d..5b1e824fdbd 100644 --- a/addons/base_vat/base_vat.py +++ b/addons/base_vat/base_vat.py @@ -63,6 +63,11 @@ class res_partner(osv.osv): if not partner.vat: continue vat_country, vat_number = self._split_vat(partner.vat) + if not _ref_vat.has_key(vat_country): + country_code = vat_country.upper() + code = self.pool.get('res.country').search(cr, uid, [('code', '=', country_code)]) + if code: + continue if not hasattr(self, 'check_vat_' + vat_country): return False check = getattr(self, 'check_vat_' + vat_country) From 2b89edcbd0db425c434089964986e6d5815bfe30 Mon Sep 17 00:00:00 2001 From: mtr Date: Fri, 29 Apr 2011 17:27:10 +0530 Subject: [PATCH 2/3] [FIX] base_vat: improved code to check whether a method for validation of VAT exists or not bzr revid: mtr@mtr-20110429115710-xz3atlzuslg0f96h --- addons/base_vat/base_vat.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/base_vat/base_vat.py b/addons/base_vat/base_vat.py index 5b1e824fdbd..2b4f185cfc0 100644 --- a/addons/base_vat/base_vat.py +++ b/addons/base_vat/base_vat.py @@ -63,12 +63,11 @@ class res_partner(osv.osv): if not partner.vat: continue vat_country, vat_number = self._split_vat(partner.vat) - if not _ref_vat.has_key(vat_country): + if not hasattr(self, 'check_vat_' + vat_country): country_code = vat_country.upper() code = self.pool.get('res.country').search(cr, uid, [('code', '=', country_code)]) if code: continue - if not hasattr(self, 'check_vat_' + vat_country): return False check = getattr(self, 'check_vat_' + vat_country) if not check(vat_number): From 60bc21cf07bdf63cc5a211d233764c5e42984763 Mon Sep 17 00:00:00 2001 From: mtr Date: Fri, 29 Apr 2011 19:02:04 +0530 Subject: [PATCH 3/3] [FIX] base_vat:code optimization bzr revid: mtr@mtr-20110429133204-981m1vi624jrj9ob --- addons/base_vat/base_vat.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/addons/base_vat/base_vat.py b/addons/base_vat/base_vat.py index 2b4f185cfc0..9ea7e3317ea 100644 --- a/addons/base_vat/base_vat.py +++ b/addons/base_vat/base_vat.py @@ -59,14 +59,13 @@ class res_partner(osv.osv): Check the VAT number depending of the country. http://sima-pc.com/nif.php ''' + country_obj = self.pool.get('res.country') for partner in self.browse(cr, uid, ids, context=context): if not partner.vat: continue vat_country, vat_number = self._split_vat(partner.vat) if not hasattr(self, 'check_vat_' + vat_country): - country_code = vat_country.upper() - code = self.pool.get('res.country').search(cr, uid, [('code', '=', country_code)]) - if code: + if country_obj.search(cr, uid, [('code', 'ilike', vat_country)], context=context): continue return False check = getattr(self, 'check_vat_' + vat_country)