Put default bank account on change partner in supplier invoice

bzr revid: ced-4db5cbc59aa63e284b3ec128e542f1911e45a167
This commit is contained in:
ced 2007-11-30 09:32:58 +00:00
parent e7691de9ab
commit 4b87dcb157
2 changed files with 15 additions and 3 deletions

View File

@ -132,7 +132,9 @@
<page string="Invoice">
<field name="journal_id" domain="[('type', '=', 'purchase')]" select="2"/>
<field name="type" select="2" readonly="1"/>
<field name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term)" select="1"/>
<field name="partner_id"
on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank)"
select="1"/>
<field name="address_invoice_id" domain="[('partner_id','=',partner_id)]"/>
<field name="account_id" domain="[('type','&lt;&gt;','view'), ('company_id', '=', company_id),('journal_id','=',journal_id)]" />
<field name="date_due" select="1"/>

View File

@ -179,11 +179,13 @@ class account_invoice(osv.osv):
# res = self.pool.get('res.partner').address_get(cr, uid, [part], ['invoice'])
# return [{}]
def onchange_partner_id(self, cr, uid, ids, type, partner_id, date_invoice=False, payment_term=False):
def onchange_partner_id(self, cr, uid, ids, type, partner_id,
date_invoice=False, payment_term=False, partner_bank_id=False):
invoice_addr_id = False
contact_addr_id = False
partner_payment_term = False
acc_id = False
bank_id = False
opt = [('uid', str(uid))]
if partner_id:
@ -199,12 +201,16 @@ class account_invoice(osv.osv):
acc_id = p.property_account_payable.id
partner_payment_term = p.property_payment_term and p.property_payment_term.id or False
if p.bank_ids:
bank_id = p.bank_ids[0].id
result = {'value': {
'address_contact_id': contact_addr_id,
'address_invoice_id': invoice_addr_id,
'account_id': acc_id,
'payment_term': partner_payment_term}
'payment_term': partner_payment_term,
'partner_bank': bank_id,
}
}
if payment_term != partner_payment_term:
@ -214,6 +220,10 @@ class account_invoice(osv.osv):
result['value'].update(to_update['value'])
else:
result['value']['date_due'] = False
if partner_bank_id != bank_id:
to_update = self.onchange_partner_bank(cr, uid, ids, bank_id)
result['value'].update(to_update['value'])
return result
def onchange_currency_id(self, cr, uid, ids, curr_id):