changeset b899d860c265 in modules/account_invoice:default
details: 
https://hg.tryton.org/modules/account_invoice?cmd=changeset;node=b899d860c265
description:
        Merge account kind and account type

        issue4990
        review68401002
diffstat:

 invoice.py |  37 ++++++++++++++++++++-----------------
 1 files changed, 20 insertions(+), 17 deletions(-)

diffs (85 lines):

diff -r 77672b9a3ce9 -r b899d860c265 invoice.py
--- a/invoice.py        Fri Mar 22 15:33:42 2019 +0100
+++ b/invoice.py        Sun Mar 24 18:00:01 2019 +0100
@@ -149,8 +149,8 @@
         domain=[
             ('company', '=', Eval('company', -1)),
             If(Eval('type') == 'out',
-                ('kind', '=', 'receivable'),
-                ('kind', '=', 'payable')),
+                ('type.receivable', '=', True),
+                ('type.payable', '=', True)),
             ])
     payment_term = fields.Many2One('account.invoice.payment_term',
         'Payment Term', states=_STATES, depends=_DEPENDS)
@@ -1665,19 +1665,19 @@
             ('company', '=', Eval('company', -1)),
             If(Bool(Eval('_parent_invoice')),
                 If(Eval('_parent_invoice', {}).get('type') == 'out',
-                    ('kind', 'in', cls._account_domain('out')),
+                    cls._account_domain('out'),
                     If(Eval('_parent_invoice', {}).get('type') == 'in',
-                        ('kind', 'in', cls._account_domain('in')),
-                        ('kind', 'in',
-                            cls._account_domain('out')
-                            + cls._account_domain('in')))),
+                        cls._account_domain('in'),
+                        ['OR',
+                            cls._account_domain('out'),
+                            cls._account_domain('in')])),
                 If(Eval('invoice_type') == 'out',
-                    ('kind', 'in', cls._account_domain('out')),
+                    cls._account_domain('out'),
                     If(Eval('invoice_type') == 'in',
-                        ('kind', 'in', cls._account_domain('in')),
-                        ('kind', 'in',
-                            cls._account_domain('out')
-                            + cls._account_domain('in'))))),
+                        cls._account_domain('in'),
+                        ['OR',
+                            cls._account_domain('out'),
+                            cls._account_domain('in')]))),
             ]
         cls.account.depends += ['company', 'invoice_type']
         cls.sequence.states.update({
@@ -1687,9 +1687,9 @@
     @staticmethod
     def _account_domain(type_):
         if type_ == 'out':
-            return ['revenue']
+            return ['OR', ('type.revenue', '=', True)]
         elif type_ == 'in':
-            return ['expense']
+            return ['OR', ('type.expense', '=', True)]
 
     @classmethod
     def __register__(cls, module_name):
@@ -2168,7 +2168,8 @@
             'get_sequence_number')
     account = fields.Many2One('account.account', 'Account', required=True,
         domain=[
-            ('kind', '!=', 'view'),
+            ('type', '!=', None),
+            ('closed', '!=', True),
             ('company', '=', Eval('_parent_invoice', {}).get('company', 0)),
             ],
         states=_states, depends=_depends)
@@ -2370,14 +2371,16 @@
     credit_account = fields.Many2One('account.account', "Credit Account",
         required=True,
         domain=[
-            ('kind', '!=', 'view'),
+            ('type', '!=', None),
+            ('closed', '!=', True),
             ('company', '=', Eval('company')),
             ],
         depends=['company'])
     debit_account = fields.Many2One('account.account', "Debit Account",
         required=True,
         domain=[
-            ('kind', '!=', 'view'),
+            ('type', '!=', None),
+            ('closed', '!=', True),
             ('company', '=', Eval('company')),
             ],
         depends=['company'])

Reply via email to