mirror of
https://github.com/OCA/bank-payment.git
synced 2025-02-02 10:37:31 +02:00
[FIX] Don't raise unnecessarily
This commit is contained in:
@@ -681,14 +681,10 @@ class res_partner_bank(orm.Model):
|
||||
if term[0].lower() == 'acc_number' and term[1] in ('=', '=='):
|
||||
iban = sepa.IBAN(term[2])
|
||||
if iban.valid:
|
||||
# Some countries can't convert to BBAN
|
||||
try:
|
||||
bban = iban.localized_BBAN
|
||||
# Prevent empty search filters
|
||||
if bban:
|
||||
extra_term = ('acc_number_domestic', term[1], bban)
|
||||
except:
|
||||
pass
|
||||
bban = iban.localized_BBAN
|
||||
# Prevent empty search filters
|
||||
if bban:
|
||||
extra_term = ('acc_number_domestic', term[1], bban)
|
||||
if extra_term:
|
||||
return ['|', term, extra_term]
|
||||
return [term]
|
||||
@@ -763,10 +759,7 @@ class res_partner_bank(orm.Model):
|
||||
res[record.id] = False
|
||||
else:
|
||||
iban_acc = sepa.IBAN(record.acc_number)
|
||||
try:
|
||||
res[record.id] = iban_acc.localized_BBAN
|
||||
except NotImplementedError:
|
||||
res[record.id] = False
|
||||
res[record.id] = iban_acc.localized_BBAN
|
||||
return res
|
||||
|
||||
def onchange_acc_number(
|
||||
@@ -854,43 +847,43 @@ class res_partner_bank(orm.Model):
|
||||
cr, uid, country_ids[0], context=context)
|
||||
values['country_id'] = country_ids[0]
|
||||
if country and country.code in sepa.IBAN.countries:
|
||||
try:
|
||||
info = sepa.online.account_info(country.code, acc_number)
|
||||
if info:
|
||||
iban_acc = sepa.IBAN(info.iban)
|
||||
if iban_acc.valid:
|
||||
values['acc_number_domestic'] = iban_acc.localized_BBAN
|
||||
values['acc_number'] = unicode(iban_acc)
|
||||
values['state'] = 'iban'
|
||||
bank_id, country_id = get_or_create_bank(
|
||||
self.pool, cr, uid,
|
||||
info.bic or iban_acc.BIC_searchkey,
|
||||
name = info.bank
|
||||
)
|
||||
if country_id:
|
||||
values['country_id'] = country_id
|
||||
values['bank'] = bank_id or False
|
||||
if info.bic:
|
||||
values['bank_bic'] = info.bic
|
||||
else:
|
||||
info = None
|
||||
if info is None:
|
||||
result.update(warning(
|
||||
info = sepa.online.account_info(country.code, acc_number)
|
||||
if info:
|
||||
iban_acc = sepa.IBAN(info.iban)
|
||||
if iban_acc.valid:
|
||||
values['acc_number_domestic'] = iban_acc.localized_BBAN
|
||||
values['acc_number'] = unicode(iban_acc)
|
||||
values['state'] = 'iban'
|
||||
bank_id, country_id = get_or_create_bank(
|
||||
self.pool, cr, uid,
|
||||
info.bic or iban_acc.BIC_searchkey,
|
||||
name = info.bank
|
||||
)
|
||||
if country_id:
|
||||
values['country_id'] = country_id
|
||||
values['bank'] = bank_id or False
|
||||
if info.bic:
|
||||
values['bank_bic'] = info.bic
|
||||
else:
|
||||
info = None
|
||||
if info is None:
|
||||
result.update(warning(
|
||||
_('Invalid data'),
|
||||
_('The account number appears to be invalid for %s')
|
||||
% country.name
|
||||
))
|
||||
except NotImplementedError:
|
||||
))
|
||||
if info is False:
|
||||
if country.code in sepa.IBAN.countries:
|
||||
acc_number_fmt = sepa.BBAN(acc_number, country.code)
|
||||
if acc_number_fmt.valid:
|
||||
values['acc_number_domestic'] = str(acc_number_fmt)
|
||||
else:
|
||||
result.update(warning(
|
||||
_('Invalid format'),
|
||||
_('The account number has the wrong format for %s')
|
||||
% country.name
|
||||
))
|
||||
_('Invalid format'),
|
||||
_('The account number has the wrong format '
|
||||
'for %(country)s')
|
||||
% {'country': country.name}
|
||||
))
|
||||
return result
|
||||
|
||||
def onchange_iban(
|
||||
|
||||
@@ -408,10 +408,9 @@ class IBAN(str):
|
||||
Localized format of local or Basic Bank Account Number, aka BBAN
|
||||
'''
|
||||
if self.countrycode == 'TR':
|
||||
raise NotImplementedError, (
|
||||
'The Turkish BBAN requires information that is not in the '
|
||||
'IBAN number.'
|
||||
)
|
||||
# The Turkish BBAN requires information that is not in the
|
||||
# IBAN number.
|
||||
return False
|
||||
return self.BBAN_format.BBAN(self)
|
||||
|
||||
@property
|
||||
|
||||
@@ -157,13 +157,13 @@ def account_info(iso, bank_acc):
|
||||
'''
|
||||
Consult the online database for this country to obtain its
|
||||
corresponding IBAN/BIC number and other info available.
|
||||
Raise NotImplemented when no information service could be found.
|
||||
Returns None when a service was found but something went wrong.
|
||||
Returns a dictionary (struct) of information when found.
|
||||
Returns a dictionary (struct) of information when found, or
|
||||
False when not implemented.
|
||||
'''
|
||||
if iso in _account_info:
|
||||
return _account_info[iso](bank_acc)
|
||||
raise NotImplementedError()
|
||||
return False
|
||||
|
||||
bic_re = re.compile("[^']+'([^']*)'.*")
|
||||
SWIFTlink = 'http://www.swift.com/bsl/freequery.do'
|
||||
|
||||
Reference in New Issue
Block a user