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



Reply via email to