[FIX] account_banking: replaced wrong argument on on_change trigger,

preventing res_partner_bank forms to open
[FIX] account_banking: fixed bug in SQL code
[IMP] account_banking: moved on_change triggers to base forms to silence
                       discussions
[IMP] account_banking: added dummy online converters for full SEPA countries
This commit is contained in:
Pieter J. Kersten
2010-03-15 14:03:12 +01:00
parent 9d65a1626f
commit 083f47fcb8
3 changed files with 39 additions and 10 deletions

View File

@@ -832,13 +832,12 @@ class payment_order(osv.osv):
def set_done(self, cr, uid, id, *args):
'''
Extend standard transition to update childs as well.
Extend standard transition to update children as well.
'''
cr.execute("UPDATE payment_line "
"SET export_state = 'done', date_done = '%s' "
"WHERE order_id = %s" % (
time.strftime('%Y-%m-%d'),
self.id
time.strftime('%Y-%m-%d'), id
))
return super(payment_order, self).set_done(
cr, uid, id, *args
@@ -914,6 +913,7 @@ class res_partner_bank(osv.osv):
Create dual function IBAN account for SEPA countries
Note: No check on validity IBAN/Country
'''
import pdb; pdb.set_trace()
if 'iban' in vals and vals['iban']:
iban = sepa.IBAN(vals['iban'])
vals['iban'] = str(iban)
@@ -1048,12 +1048,16 @@ class res_partner_bank(osv.osv):
# Pre fill country based on partners address
country_obj = self.pool.get('res.country')
partner_obj = self.pool.get('res.partner')
if not country_id:
if (not country_id) and partner_id:
country = partner_obj.browse(cursor, uid, partner_id).country
country_ids = [country.id]
else:
elif country_id:
country = country_obj.browse(cursor, uid, country_id)
country_ids = [country_id]
else:
# Without country, there is no way to identify the right online
# interface to get IBAN accounts...
return {}
# Complete data with online database when available
if country.code in sepa.IBAN.countries:

View File

@@ -267,7 +267,7 @@
<record id="view_partner_bank_account_banking_form_2" model="ir.ui.view">
<field name="name">res.partner.bank.form.banking-2</field>
<field name="model">res.partner.bank</field>
<field name="inherit_id" ref="base_iban.view_partner_bank_iban_form"/>
<field name="inherit_id" ref="base.view_partner_bank_form"/>
<field name="type">form</field>
<field name="arch" type="xml">
<field name="acc_number" position="replace">
@@ -291,12 +291,23 @@
<record id="view_partner_account_banking_form_2" model="ir.ui.view">
<field name="name">res.partner.form.banking-2</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base_iban.view_partner_iban_form"/>
<field name="inherit_id" ref="account.view_partner_property_form"/>
<field name="type">form</field>
<field name="arch" type="xml">
<field name="acc_number" position="replace">
<field name="acc_number" on_change="onchange_acc_number(acc_number, partner_id, country_id)" />
</field>
<xpath expr="/form/notebook/page/field[@name='bank_ids']/form/field[@name='acc_number']" position="replace">
<field name="acc_number" on_change="onchange_acc_number(acc_number, active_id, country_id)" />
</xpath>
</field>
</record>
<record id="view_partner_account_banking_form_3" model="ir.ui.view">
<field name="name">res.partner.form.banking-3</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="account.view_partner_property_form"/>
<field name="type">form</field>
<field name="arch" type="xml">
<xpath expr="/form/notebook/page/field[@name='bank_ids']/tree/field[@name='acc_number']" position="replace">
<field name="acc_number" on_change="onchange_acc_number(acc_number, active_id, country_id)" />
</xpath>
</field>
</record>

View File

@@ -102,10 +102,24 @@ def get_iban_bic_BE(bank_acc):
result.code = result.bic[:6]
return result
def BBAN_is_IBAN(bank_acc):
'''
Straight copy, valid for SEPA members who switched to SEPA from old
standards before SEPA actually started.
'''
return bank_acc
_account_info = {
# TODO: Add more online data banks
'BA': BBAN_is_IBAN,
'BE': get_iban_bic_BE,
'BG': BBAN_is_IBAN,
'NL': get_iban_bic_NL,
'LV': BBAN_is_IBAN,
'LT': BBAN_is_IBAN,
'LU': BBAN_is_IBAN,
'MU': BBAN_is_IBAN,
'SM': BBAN_is_IBAN,
}
def account_info(iso, bank_acc):