[ADD]Auto add partner account number

bzr revid: dle@openerp.com-20121210160041-8r68a86w1763xh08
This commit is contained in:
dle@openerp.com 2012-12-10 17:00:41 +01:00
parent 945246d11a
commit deb2f3a954
2 changed files with 37 additions and 0 deletions

View File

@ -29,6 +29,42 @@ class account_bank_statement(osv.osv):
'coda_note': fields.text('CODA Notes'),
}
class account_bank_statement_line(osv.osv):
_inherit = 'account.bank.statement.line'
_columns = {
'coda_account_number': fields.char('Account Number', size=64, help="The Counter Party Account Number")
}
def create(self, cr, uid, data, context=None):
if 'partner_id' in data and data['partner_id'] and 'coda_account_number' in data and data['coda_account_number']:
acc_number_ids = self.pool.get('res.partner.bank').search(cr, uid, [('acc_number', '=', data['coda_account_number'])])
if len(acc_number_ids) == 0:
try:
type_model, type_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', 'bank_normal')
type_id = self.pool.get('res.partner.bank.type').browse(cr,uid,type_id,context=context)
self.pool.get('res.partner.bank').create(cr, uid, {'acc_number': data['coda_account_number'],'partner_id': data['partner_id'],'state': type_id.code},context=context)
except ValueError:
pass
return super(account_bank_statement_line, self).create(cr, uid, data, context=context)
def write(self, cr, uid, ids, vals, context=None):
super(account_bank_statement_line,self).write(cr, uid, ids, vals, context)
if 'partner_id' in vals:
for line in self.pool.get('account.bank.statement.line').browse(cr, uid, ids, context=context):
if line.coda_account_number:
acc_number_ids = self.pool.get('res.partner.bank').search(cr, uid, [('acc_number', '=', line.coda_account_number)])
if len(acc_number_ids) == 0:
try:
type_model, type_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', 'bank_normal')
type_id = self.pool.get('res.partner.bank.type').browse(cr,uid,type_id,context=context)
self.pool.get('res.partner.bank').create(cr, uid, {'acc_number': line.coda_account_number,'partner_id': vals['partner_id'],'state': type_id.code},context=context)
except ValueError:
pass
return True
account_bank_statement()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -362,6 +362,7 @@ class account_coda_import(osv.osv_memory):
'ref': line['ref'],
'sequence': line['sequence'],
'voucher_id': line['voucher_id'],
'coda_account_number': line['counterpartyNumber'],
}
self.pool.get('account.bank.statement.line').create(cr, uid, data, context=context)
if statement['coda_note'] != '':