Improve partner bank account creation
bzr revid: ced-148b2aa2f4858e096f157973689a6cf7ed7add64
This commit is contained in:
@@ -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):
|
||||
|
||||
@@ -229,15 +229,17 @@
|
||||
<field name="parent_id"/>
|
||||
<field name="website" widget="url"/>
|
||||
<field name="date" select="2"/>
|
||||
<field name="bank_ids" colspan="4" nolabel="1">
|
||||
<field name="bank_ids" colspan="4" nolabel="1"
|
||||
context="address=address">
|
||||
<form string="Bank account">
|
||||
<field name="state" select="2"/>
|
||||
<field name="name" select="2"/>
|
||||
<newline/>
|
||||
<field name="acc_number" select="1"/>
|
||||
<newline/>
|
||||
<field name="bank"/>
|
||||
<newline/>
|
||||
<field name="sequence"/>
|
||||
<field name="name" select="2" colspan="4"/>
|
||||
<separator string="Bank account owner" colspan="4"/>
|
||||
<field name="owner_name" colspan="4"/>
|
||||
<field name="street" colspan="4"/>
|
||||
@@ -344,12 +346,15 @@
|
||||
<newline/>
|
||||
<field name="bank"/>
|
||||
<newline/>
|
||||
<field name="sequence"/>
|
||||
<field name="name" colspan="4"/>
|
||||
<separator string="Bank account owner" colspan="4"/>
|
||||
<field name="owner_name" colspan="4" select="2"/>
|
||||
<field name="street" colspan="4"/>
|
||||
<field name="city"/>
|
||||
<field name="zip"/>
|
||||
<field name="country_id" select="2" completion="1"/>
|
||||
<field name="state_id" select="2"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
Reference in New Issue
Block a user