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):
_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)',
<field name="acc_number">123456</field>
<field name="partner_id" ref="base.res_partner_agrolait"/>
<field name="state">bvrbank</field>
- <field name="post_number">01-23456-5</field>
+ <field name="post_number">01-23456-1</field>
<field name="bank" ref="partner_bank"/>
<!-- <field name="iban">CH9100767000S00023455</field> -->
</record>