From 90c3030bda55d98075236c4856b07d5d3e59e3e0 Mon Sep 17 00:00:00 2001 From: Yannick Vaucher Date: Mon, 14 May 2012 16:44:34 +0200 Subject: [PATCH] [FIX] l10n_ch - postal number check + postal number in demo data bzr revid: yannick.vaucher@camptocamp.com-20120514144434-br1n8npyw9i55z6e --- addons/l10n_ch/bank.py | 9 ++++++--- addons/l10n_ch/demo/dta_demo.xml | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/addons/l10n_ch/bank.py b/addons/l10n_ch/bank.py index 9dd0cad..3cfe527 100644 --- a/addons/l10n_ch/bank.py +++ b/addons/l10n_ch/bank.py @@ -89,8 +89,11 @@ class ResPartnerBank(osv.osv): pattern = r'^[0-9]{2}-[0-9]{1,6}-[0-9]$' if not re.search(pattern, number): return False - num, checksum = (number.replace('-','')[:-1], number[-1:]) - return mod10r(num)[-1:] == checksum + nums = number.split('-') + prefix = nums[0] + num = nums[1].rjust(6,'0') + checksum = nums[2] + return mod10r(prefix + num)[-1:] == checksum def _check_5_pos_postal_num(self, number): @@ -112,7 +115,7 @@ class ResPartnerBank(osv.osv): _constraints = [(_check_postal_num, - 'Please enter a correct postal number. (01-23456-5 or 12345)', + 'Please enter a correct postal number. (01-23456-1 or 12345)', ['post_number'])] _sql_constraints = [('bvr_adherent_uniq', 'unique (bvr_adherent_num)', diff --git a/addons/l10n_ch/demo/dta_demo.xml b/addons/l10n_ch/demo/dta_demo.xml index 4f44ad2..832c1c6 100644 --- a/addons/l10n_ch/demo/dta_demo.xml +++ b/addons/l10n_ch/demo/dta_demo.xml @@ -12,7 +12,7 @@ 123456 bvrbank - 01-23456-5 + 01-23456-1 -- 1.7.10.4