Use the new api for account.invoice as the base model use it

This commit is contained in:
Guewen Baconnier
2014-10-08 16:25:58 +02:00
parent ab970ee3ad
commit 6a4e50fc7d

View File

@@ -19,32 +19,30 @@
#
##############################################################################
from openerp.osv.orm import Model
from openerp.osv import fields
from openerp import models, fields, api
class AccountInvoice(Model):
class AccountInvoice(models.Model):
_inherit = 'account.invoice'
_columns = {
'transaction_id': fields.char(
'Transaction id',
select=1,
help="Transaction id from the financial institute"),
}
transaction_id = fields.Char(string='Transaction ID',
index=True,
copy=False,
help="Transaction ID from the "
"financial institute")
def copy_data(self, cr, uid, id, default=None, context=None):
if default is None:
default = {}
default['transaction_id'] = False
return super(AccountInvoice, self).\
copy_data(cr, uid, id, default=default, context=context)
@api.multi
def finalize_invoice_move_lines(self, move_lines):
""" Propagate the transaction_id from the invoice to the move lines.
def finalize_invoice_move_lines(self, cr, uid, invoice_browse, move_lines):
if invoice_browse.transaction_id:
invoice_account_id = invoice_browse.account_id.id
for line in move_lines:
# tuple (0, 0, {values})
if invoice_account_id == line[2]['account_id']:
line[2]['transaction_ref'] = invoice_browse.transaction_id
The transaction id is written on the move lines only if the account is
the same than the invoice's one.
"""
for invoice in self:
if invoice.transaction_id:
invoice_account_id = invoice.account_id.id
for line in move_lines:
# tuple (0, 0, {values})
if invoice_account_id == line[2]['account_id']:
line[2]['transaction_ref'] = invoice.transaction_id
return move_lines