Reviewers: ,
Please review this at http://codereview.tryton.org/636003/ Affected files: M __init__.py A purchase.py M tryton.cfg Index: __init__.py =================================================================== --- a/__init__.py +++ b/__init__.py @@ -5,6 +5,7 @@ from .product import * from .invoice import * from .account import * +from .purchase import * def register(): @@ -20,6 +21,7 @@ InvoiceLine, Configuration, Move, + PurchaseLine, module='account_asset', type_='model') Pool.register( CreateMoves, Index: purchase.py =================================================================== new file mode 100644 --- /dev/null +++ b/purchase.py @@ -0,0 +1,32 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of this +# repository contains the full copyright notices and license terms. +from trytond.pool import PoolMeta + +__all__ = ['PurchaseLine'] +__metaclass__ = PoolMeta + + +class PurchaseLine: + __name__ = 'purchase.line' + + @classmethod + def __setup__(cls): + super(PurchaseLine, cls).__setup__() + cls._error_messages.update({ + 'missing_account_asset': ('It misses ' + 'an "Account Asset" on product "%s"!'), + }) + + def get_invoice_line(self, invoice_type): + invoice_lines = super(PurchaseLine, self).get_invoice_line( + invoice_type) + if self.product: + for invoice_line in invoice_lines: + if (invoice_line.product == self.product + and self.product.type == 'assets' + and self.product.depreciable): + invoice_line.account = self.product.account_asset_used + if not invoice_line.account: + self.raise_user_error('missing_account_asset', + error_args=(self.product.rec_name,)) + return invoice_lines Index: tryton.cfg =================================================================== --- a/tryton.cfg +++ b/tryton.cfg @@ -6,6 +6,8 @@ account product account_invoice +extras_depend = + purchase xml = asset.xml product.xml -- -- [email protected] mailing list
