From: ced <> Date: Wed, 10 Oct 2007 05:44:53 +0000 (+0000) Subject: Improve partner bank account creation X-Git-Tag: 5.0.0-alpha-addons~1445 X-Git-Url: http://git.inspyration.org/?a=commitdiff_plain;h=88dce40a889a78ca058e8ef115813bfa6f0fe45c;p=odoo%2Fodoo.git Improve partner bank account creation bzr revid: ced-148b2aa2f4858e096f157973689a6cf7ed7add64 --- diff --git a/bin/addons/base/res/partner/partner.py b/bin/addons/base/res/partner/partner.py index cccc758..149f458 100644 --- a/bin/addons/base/res/partner/partner.py +++ b/bin/addons/base/res/partner/partner.py @@ -346,6 +346,7 @@ class res_partner_bank(osv.osv): _name = "res.partner.bank" _rec_name = "state" _description = __doc__ + _order = 'sequence' def _bank_type_get(self, cr, uid, context=None): bank_type_obj = self.pool.get('res.partner.bank.type') @@ -357,6 +358,17 @@ class res_partner_bank(osv.osv): result.append((bank_type.code, bank_type.name)) return result + def _default_value(self, cursor, user, field, context=None): + if not context.get('address', False): + return + value = '' + for ham, spam, address in context['address']: + if address['type'] == 'default': + return address[field] + elif not address['type']: + value = address[field] + return value + _columns = { 'name': fields.char('Description', size=128), 'acc_number': fields.char('Account number', size=64, required=False), @@ -373,6 +385,23 @@ class res_partner_bank(osv.osv): ondelete='cascade', select=True), 'state': fields.selection(_bank_type_get, 'Bank type', required=True, change_default=True), + 'sequence': fields.integer('Sequence'), + 'state_id': fields.many2one('res.country.state', 'State', + domain="[('country_id', '=', country_id)]"), + } + _defaults = { + 'owner_name': lambda obj, cursor, user, context: obj._default_value( + cursor, user, 'name', context=context), + 'street': lambda obj, cursor, user, context: obj._default_value( + cursor, user, 'street', context=context), + 'city': lambda obj, cursor, user, context: obj._default_value( + cursor, user, 'city', context=context), + 'zip': lambda obj, cursor, user, context: obj._default_value( + cursor, user, 'zip', context=context), + 'country_id': lambda obj, cursor, user, context: obj._default_value( + cursor, user, 'country_id', context=context), + 'state_id': lambda obj, cursor, user, context: obj._default_value( + cursor, user, 'state_id', context=context), } def fields_get(self, cr, uid, fields=None, context=None): diff --git a/bin/addons/base/res/partner/partner_view.xml b/bin/addons/base/res/partner/partner_view.xml index 1c67ac6..7540022 100644 --- a/bin/addons/base/res/partner/partner_view.xml +++ b/bin/addons/base/res/partner/partner_view.xml @@ -229,15 +229,17 @@ - +
- + + @@ -344,12 +346,15 @@ + + +