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

        issue4990
        review68401002
diffstat:

 CHANGELOG                  |   1 +
 __init__.py                |   6 ++--
 account.py                 |  48 +++++++++++++++++++++++++++++------------
 account.xml                |  14 +++++++++++-
 invoice.py                 |   6 ++--
 minimal_chart.xml          |  53 +++++++++++++++++++++------------------------
 minimal_chart_bg.xml       |  18 ++++++++------
 minimal_chart_ca.xml       |  18 ++++++++------
 minimal_chart_de.xml       |  18 ++++++++------
 minimal_chart_en.xml       |  16 +++++++------
 minimal_chart_es.xml       |  18 ++++++++------
 minimal_chart_fr.xml       |  18 ++++++++------
 minimal_chart_nl.xml       |  18 ++++++++------
 minimal_chart_pt.xml       |  16 ++++++------
 minimal_chart_ru.xml       |  18 ++++++++------
 minimal_chart_sl.xml       |  18 ++++++++------
 party.py                   |  25 +++++++++++++-------
 tests/tools.py             |   2 +-
 view/account_type_form.xml |   9 +++++++
 19 files changed, 202 insertions(+), 138 deletions(-)

diffs (797 lines):

diff -r 2d518d9e2a29 -r 1a4cc0e6cabe CHANGELOG
--- a/CHANGELOG Fri Mar 22 15:33:42 2019 +0100
+++ b/CHANGELOG Sun Mar 24 18:00:01 2019 +0100
@@ -1,3 +1,4 @@
+* Add deposit on account type
 * Add relate from party to deposit lines
 
 Version 5.0.0 - 2018-10-01
diff -r 2d518d9e2a29 -r 1a4cc0e6cabe __init__.py
--- a/__init__.py       Fri Mar 22 15:33:42 2019 +0100
+++ b/__init__.py       Sun Mar 24 18:00:01 2019 +0100
@@ -2,15 +2,15 @@
 # this repository contains the full copyright notices and license terms.
 
 from trytond.pool import Pool
-from .account import *
+from . import account
 from .invoice import *
 from . import party
 
 
 def register():
     Pool.register(
-        AccountTemplate,
-        Account,
+        account.AccountTypeTemplate,
+        account.AccountType,
         Invoice,
         InvoiceLine,
         DepositRecallStart,
diff -r 2d518d9e2a29 -r 1a4cc0e6cabe account.py
--- a/account.py        Fri Mar 22 15:33:42 2019 +0100
+++ b/account.py        Sun Mar 24 18:00:01 2019 +0100
@@ -1,23 +1,43 @@
 # 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.model import fields
 from trytond.pool import PoolMeta
-
-__all__ = ['AccountTemplate', 'Account']
+from trytond.pyson import If, Eval, Bool
 
 
-class AccountTemplate(metaclass=PoolMeta):
-    __name__ = 'account.account.template'
+def AccountTypeMixin(template=False):
 
-    @classmethod
-    def __setup__(cls):
-        super(AccountTemplate, cls).__setup__()
-        cls.kind.selection.append(('deposit', 'Deposit'))
+    class Mixin:
+        deposit = fields.Boolean(
+            "Deposit",
+            domain=[
+                If(~Eval('statement').in_(['off-balance', 'balance']),
+                    ('deposit', '=', False), ()),
+                ],
+            states={
+                'invisible': ~Eval('statement').in_(
+                    ['off-balance', 'balance']),
+                },
+            depends=['statement'])
+    if not template:
+        for fname in dir(Mixin):
+            field = getattr(Mixin, fname)
+            if not isinstance(field, fields.Field):
+                continue
+            field.states['readonly'] = (
+                Bool(Eval('template', -1)) & ~Eval('template_override', False))
+    return Mixin
 
 
-class Account(metaclass=PoolMeta):
-    __name__ = 'account.account'
+class AccountTypeTemplate(AccountTypeMixin(template=True), metaclass=PoolMeta):
+    __name__ = 'account.account.type.template'
 
-    @classmethod
-    def __setup__(cls):
-        super(Account, cls).__setup__()
-        cls.kind.selection.append(('deposit', 'Deposit'))
+    def _get_type_value(self, type=None):
+        values = super()._get_type_value(type=type)
+        if not type or type.deposit != self.deposit:
+            values['deposit'] = self.deposit
+        return values
+
+
+class AccountType(AccountTypeMixin(), metaclass=PoolMeta):
+    __name__ = 'account.account.type'
diff -r 2d518d9e2a29 -r 1a4cc0e6cabe account.xml
--- a/account.xml       Fri Mar 22 15:33:42 2019 +0100
+++ b/account.xml       Sun Mar 24 18:00:01 2019 +0100
@@ -3,6 +3,18 @@
 this repository contains the full copyright notices and license terms. -->
 <tryton>
     <data>
+        <record model="ir.ui.view" id="account_type_template_view_form">
+            <field name="model">account.account.type.template</field>
+            <field name="inherit" 
ref="account.account_type_template_view_form"/>
+            <field name="name">account_type_form</field>
+        </record>
+
+        <record model="ir.ui.view" id="account_type_view_form">
+            <field name="model">account.account.type</field>
+            <field name="inherit" ref="account.account_type_view_form"/>
+            <field name="name">account_type_form</field>
+        </record>
+
         <record model="ir.ui.view" id="move_line_view_list_deposit">
             <field name="model">account.move.line</field>
             <field name="type">tree</field>
@@ -15,7 +27,7 @@
             <field name="res_model">account.move.line</field>
             <field
                 name="domain"
-                eval="[('account.kind', '=', 'deposit'), If(Eval('active_ids', 
[]) == [Eval('active_id')], ('party', '=', Eval('active_id')), ('party', 'in', 
Eval('active_ids')))]"
+                eval="[('account.type.deposit', '=', True), 
If(Eval('active_ids', []) == [Eval('active_id')], ('party', '=', 
Eval('active_id')), ('party', 'in', Eval('active_ids')))]"
                 pyson="1"/>
             <field name="search_value" eval="[('reconciliation', '=', None)]" 
pyson="1"/>
             <field name="order" eval="[('date', 'DESC')]" pyson="1"/>
diff -r 2d518d9e2a29 -r 1a4cc0e6cabe invoice.py
--- a/invoice.py        Fri Mar 22 15:33:42 2019 +0100
+++ b/invoice.py        Sun Mar 24 18:00:01 2019 +0100
@@ -94,7 +94,7 @@
             for line in invoice.lines:
                 if line.type != 'line':
                     continue
-                if line.account.kind == 'deposit':
+                if line.account.type.deposit:
                     if ((invoice.type.endswith('invoice')
                             and line.amount < 0)
                             or (invoice.type.endswith('credit_note')
@@ -116,7 +116,7 @@
     @classmethod
     def _account_domain(cls, type_):
         domain = super(InvoiceLine, cls)._account_domain(type_)
-        return domain + ['deposit']
+        return domain + [('type.deposit', '=', True)]
 
 
 class DepositRecall(Wizard):
@@ -152,7 +152,7 @@
     company = fields.Many2One('company.company', 'Company', readonly=True)
     account = fields.Many2One('account.account', 'Account', required=True,
         domain=[
-            ('kind', '=', 'deposit'),
+            ('type.deposit', '=', True),
             ('company', '=', Eval('company', -1)),
             ],
         depends=['company'])
diff -r 2d518d9e2a29 -r 1a4cc0e6cabe minimal_chart.xml
--- a/minimal_chart.xml Fri Mar 22 15:33:42 2019 +0100
+++ b/minimal_chart.xml Sun Mar 24 18:00:01 2019 +0100
@@ -3,40 +3,37 @@
 this repository contains the full copyright notices and license terms. -->
 <tryton>
     <data>
-        <record model="account.account.type.template"
-                id="account_type_template_liability_current_unearned_revenues">
-            <field name="name" lang="en">Unearned Revenues</field>
-            <field name="name" lang="bg">Unearned Revenues</field>
-            <field name="name" lang="ca">Unearned Revenues</field>
-            <field name="name" lang="de">Unearned Revenues</field>
-            <field name="name" lang="es">Unearned Revenues</field>
-            <field name="name" lang="fr">Unearned Revenues</field>
-            <field name="name" lang="nl">Unearned Revenues</field>
-            <field name="name" lang="pt">Receitas Não Auferidas</field>
-            <field name="name" lang="ru">Unearned Revenues</field>
-            <field name="name" lang="sl">Unearned Revenues</field>
-            <field name="parent"
-                ref="account.account_type_template_liability_current"/>
-            <field name="sequence" eval="30"/>
+        <record model="account.account.type.template" 
id="account_type_template_deposit">
+            <field name="name" lang="en">Deposit</field>
+            <field name="name" lang="bg">депозит</field>
+            <field name="name" lang="ca">Dipòsit</field>
+            <field name="name" lang="de">Anzahlung</field>
+            <field name="name" lang="es">Depósito</field>
+            <field name="name" lang="fr">Dépôt</field>
+            <field name="name" lang="nl">Afzetting</field>
+            <field name="name" lang="pt">Depositar</field>
+            <field name="name" lang="ru">депозит</field>
+            <field name="name" lang="sl">Polog</field>
+            <field name="parent" 
ref="account.account_type_template_off_balance"/>
+            <field name="statement">off-balance</field>
+            <field name="deposit" eval="True"/>
+            <field name="sequence" eval="10"/>
         </record>
 
         <record model="account.account.template" id="account_template_deposit">
             <field name="name" lang="en">Deposit</field>
-            <field name="name" lang="bg">Deposit</field>
-            <field name="name" lang="ca">Deposit</field>
-            <field name="name" lang="de">Deposit</field>
-            <field name="name" lang="es">Deposit</field>
-            <field name="name" lang="fr">Deposit</field>
-            <field name="name" lang="nl">Deposit</field>
-            <field name="name" lang="pt">Depósito</field>
-            <field name="name" lang="ru">Deposit</field>
-            <field name="name" lang="sl">Deposit</field>
-            <field name="type"
-                
ref="account_type_template_liability_current_unearned_revenues"/>
+            <field name="name" lang="bg">депозит</field>
+            <field name="name" lang="ca">Dipòsit</field>
+            <field name="name" lang="de">Anzahlung</field>
+            <field name="name" lang="es">Depósito</field>
+            <field name="name" lang="fr">Dépôt</field>
+            <field name="name" lang="nl">Afzetting</field>
+            <field name="name" lang="pt">Depositar</field>
+            <field name="name" lang="ru">депозит</field>
+            <field name="name" lang="sl">Polog</field>
+            <field name="type" ref="account_type_template_deposit"/>
             <field name="reconcile" eval="True"/>
-            <field name="deferral" eval="True"/>
             <field name="parent" ref="account.account_template_root"/>
-            <field name="kind">deposit</field>
             <field name="party_required" eval="True"/>
         </record>
     </data>
diff -r 2d518d9e2a29 -r 1a4cc0e6cabe minimal_chart_bg.xml
--- a/minimal_chart_bg.xml      Fri Mar 22 15:33:42 2019 +0100
+++ b/minimal_chart_bg.xml      Sun Mar 24 18:00:01 2019 +0100
@@ -3,9 +3,10 @@
 this repository contains the full copyright notices and license terms. -->
 <tryton>
     <data>
-        <record 
id="account_type_template_liability_current_unearned_revenues_bg" 
model="account.account.type.template">
+        <record id="account_type_template_deposit_bg" 
model="account.account.type.template">
             
-            <field name="name">Unearned Revenues</field>
+            <field name="name">депозит</field>
+            
             
             
             
@@ -13,13 +14,15 @@
             
             
             
-            <field name="parent" 
ref="account.account_type_template_liability_current_bg"/>
-            <field name="sequence" eval="30"/>
+            <field name="parent" 
ref="account.account_type_template_off_balance_bg"/>
+            <field name="statement">off-balance</field>
+            <field name="deposit" eval="True"/>
+            <field name="sequence" eval="10"/>
         </record>
 
         <record id="account_template_deposit_bg" 
model="account.account.template">
             
-            <field name="name">Deposit</field>
+            <field name="name">депозит</field>
             
             
             
@@ -27,11 +30,10 @@
             
             
             
-            <field name="type" 
ref="account_type_template_liability_current_unearned_revenues_bg"/>
+            
+            <field name="type" ref="account_type_template_deposit_bg"/>
             <field name="reconcile" eval="True"/>
-            <field name="deferral" eval="True"/>
             <field name="parent" ref="account.account_template_root_bg"/>
-            <field name="kind">deposit</field>
             <field name="party_required" eval="True"/>
         </record>
     </data>
diff -r 2d518d9e2a29 -r 1a4cc0e6cabe minimal_chart_ca.xml
--- a/minimal_chart_ca.xml      Fri Mar 22 15:33:42 2019 +0100
+++ b/minimal_chart_ca.xml      Sun Mar 24 18:00:01 2019 +0100
@@ -3,35 +3,37 @@
 this repository contains the full copyright notices and license terms. -->
 <tryton>
     <data>
-        <record 
id="account_type_template_liability_current_unearned_revenues_ca" 
model="account.account.type.template">
+        <record id="account_type_template_deposit_ca" 
model="account.account.type.template">
             
             
-            <field name="name">Unearned Revenues</field>
+            <field name="name">Dipòsit</field>
+            
             
             
             
             
             
             
-            <field name="parent" 
ref="account.account_type_template_liability_current_ca"/>
-            <field name="sequence" eval="30"/>
+            <field name="parent" 
ref="account.account_type_template_off_balance_ca"/>
+            <field name="statement">off-balance</field>
+            <field name="deposit" eval="True"/>
+            <field name="sequence" eval="10"/>
         </record>
 
         <record id="account_template_deposit_ca" 
model="account.account.template">
             
             
-            <field name="name">Deposit</field>
+            <field name="name">Dipòsit</field>
             
             
             
             
             
             
-            <field name="type" 
ref="account_type_template_liability_current_unearned_revenues_ca"/>
+            
+            <field name="type" ref="account_type_template_deposit_ca"/>
             <field name="reconcile" eval="True"/>
-            <field name="deferral" eval="True"/>
             <field name="parent" ref="account.account_template_root_ca"/>
-            <field name="kind">deposit</field>
             <field name="party_required" eval="True"/>
         </record>
     </data>
diff -r 2d518d9e2a29 -r 1a4cc0e6cabe minimal_chart_de.xml
--- a/minimal_chart_de.xml      Fri Mar 22 15:33:42 2019 +0100
+++ b/minimal_chart_de.xml      Sun Mar 24 18:00:01 2019 +0100
@@ -3,35 +3,37 @@
 this repository contains the full copyright notices and license terms. -->
 <tryton>
     <data>
-        <record 
id="account_type_template_liability_current_unearned_revenues_de" 
model="account.account.type.template">
+        <record id="account_type_template_deposit_de" 
model="account.account.type.template">
             
             
             
-            <field name="name">Unearned Revenues</field>
+            <field name="name">Anzahlung</field>
             
             
             
             
             
-            <field name="parent" 
ref="account.account_type_template_liability_current_de"/>
-            <field name="sequence" eval="30"/>
+            
+            <field name="parent" 
ref="account.account_type_template_off_balance_de"/>
+            <field name="statement">off-balance</field>
+            <field name="deposit" eval="True"/>
+            <field name="sequence" eval="10"/>
         </record>
 
         <record id="account_template_deposit_de" 
model="account.account.template">
             
             
             
-            <field name="name">Deposit</field>
+            <field name="name">Anzahlung</field>
+            
             
             
             
             
             
-            <field name="type" 
ref="account_type_template_liability_current_unearned_revenues_de"/>
+            <field name="type" ref="account_type_template_deposit_de"/>
             <field name="reconcile" eval="True"/>
-            <field name="deferral" eval="True"/>
             <field name="parent" ref="account.account_template_root_de"/>
-            <field name="kind">deposit</field>
             <field name="party_required" eval="True"/>
         </record>
     </data>
diff -r 2d518d9e2a29 -r 1a4cc0e6cabe minimal_chart_en.xml
--- a/minimal_chart_en.xml      Fri Mar 22 15:33:42 2019 +0100
+++ b/minimal_chart_en.xml      Sun Mar 24 18:00:01 2019 +0100
@@ -3,8 +3,8 @@
 this repository contains the full copyright notices and license terms. -->
 <tryton>
     <data>
-        <record 
id="account_type_template_liability_current_unearned_revenues_en" 
model="account.account.type.template">
-            <field name="name">Unearned Revenues</field>
+        <record id="account_type_template_deposit_en" 
model="account.account.type.template">
+            <field name="name">Deposit</field>
             
             
             
@@ -13,8 +13,11 @@
             
             
             
-            <field name="parent" 
ref="account.account_type_template_liability_current_en"/>
-            <field name="sequence" eval="30"/>
+            
+            <field name="parent" 
ref="account.account_type_template_off_balance_en"/>
+            <field name="statement">off-balance</field>
+            <field name="deposit" eval="True"/>
+            <field name="sequence" eval="10"/>
         </record>
 
         <record id="account_template_deposit_en" 
model="account.account.template">
@@ -27,11 +30,10 @@
             
             
             
-            <field name="type" 
ref="account_type_template_liability_current_unearned_revenues_en"/>
+            
+            <field name="type" ref="account_type_template_deposit_en"/>
             <field name="reconcile" eval="True"/>
-            <field name="deferral" eval="True"/>
             <field name="parent" ref="account.account_template_root_en"/>
-            <field name="kind">deposit</field>
             <field name="party_required" eval="True"/>
         </record>
     </data>
diff -r 2d518d9e2a29 -r 1a4cc0e6cabe minimal_chart_es.xml
--- a/minimal_chart_es.xml      Fri Mar 22 15:33:42 2019 +0100
+++ b/minimal_chart_es.xml      Sun Mar 24 18:00:01 2019 +0100
@@ -3,18 +3,21 @@
 this repository contains the full copyright notices and license terms. -->
 <tryton>
     <data>
-        <record 
id="account_type_template_liability_current_unearned_revenues_es" 
model="account.account.type.template">
+        <record id="account_type_template_deposit_es" 
model="account.account.type.template">
             
             
             
             
-            <field name="name">Unearned Revenues</field>
+            <field name="name">Depósito</field>
             
             
             
             
-            <field name="parent" 
ref="account.account_type_template_liability_current_es"/>
-            <field name="sequence" eval="30"/>
+            
+            <field name="parent" 
ref="account.account_type_template_off_balance_es"/>
+            <field name="statement">off-balance</field>
+            <field name="deposit" eval="True"/>
+            <field name="sequence" eval="10"/>
         </record>
 
         <record id="account_template_deposit_es" 
model="account.account.template">
@@ -22,16 +25,15 @@
             
             
             
-            <field name="name">Deposit</field>
+            <field name="name">Depósito</field>
+            
             
             
             
             
-            <field name="type" 
ref="account_type_template_liability_current_unearned_revenues_es"/>
+            <field name="type" ref="account_type_template_deposit_es"/>
             <field name="reconcile" eval="True"/>
-            <field name="deferral" eval="True"/>
             <field name="parent" ref="account.account_template_root_es"/>
-            <field name="kind">deposit</field>
             <field name="party_required" eval="True"/>
         </record>
     </data>
diff -r 2d518d9e2a29 -r 1a4cc0e6cabe minimal_chart_fr.xml
--- a/minimal_chart_fr.xml      Fri Mar 22 15:33:42 2019 +0100
+++ b/minimal_chart_fr.xml      Sun Mar 24 18:00:01 2019 +0100
@@ -3,18 +3,21 @@
 this repository contains the full copyright notices and license terms. -->
 <tryton>
     <data>
-        <record 
id="account_type_template_liability_current_unearned_revenues_fr" 
model="account.account.type.template">
+        <record id="account_type_template_deposit_fr" 
model="account.account.type.template">
             
             
             
             
             
-            <field name="name">Unearned Revenues</field>
+            <field name="name">Dépôt</field>
+            
             
             
             
-            <field name="parent" 
ref="account.account_type_template_liability_current_fr"/>
-            <field name="sequence" eval="30"/>
+            <field name="parent" 
ref="account.account_type_template_off_balance_fr"/>
+            <field name="statement">off-balance</field>
+            <field name="deposit" eval="True"/>
+            <field name="sequence" eval="10"/>
         </record>
 
         <record id="account_template_deposit_fr" 
model="account.account.template">
@@ -23,15 +26,14 @@
             
             
             
-            <field name="name">Deposit</field>
+            <field name="name">Dépôt</field>
             
             
             
-            <field name="type" 
ref="account_type_template_liability_current_unearned_revenues_fr"/>
+            
+            <field name="type" ref="account_type_template_deposit_fr"/>
             <field name="reconcile" eval="True"/>
-            <field name="deferral" eval="True"/>
             <field name="parent" ref="account.account_template_root_fr"/>
-            <field name="kind">deposit</field>
             <field name="party_required" eval="True"/>
         </record>
     </data>
diff -r 2d518d9e2a29 -r 1a4cc0e6cabe minimal_chart_nl.xml
--- a/minimal_chart_nl.xml      Fri Mar 22 15:33:42 2019 +0100
+++ b/minimal_chart_nl.xml      Sun Mar 24 18:00:01 2019 +0100
@@ -3,18 +3,21 @@
 this repository contains the full copyright notices and license terms. -->
 <tryton>
     <data>
-        <record 
id="account_type_template_liability_current_unearned_revenues_nl" 
model="account.account.type.template">
+        <record id="account_type_template_deposit_nl" 
model="account.account.type.template">
             
             
             
             
             
             
-            <field name="name">Unearned Revenues</field>
+            <field name="name">Afzetting</field>
+            
             
             
-            <field name="parent" 
ref="account.account_type_template_liability_current_nl"/>
-            <field name="sequence" eval="30"/>
+            <field name="parent" 
ref="account.account_type_template_off_balance_nl"/>
+            <field name="statement">off-balance</field>
+            <field name="deposit" eval="True"/>
+            <field name="sequence" eval="10"/>
         </record>
 
         <record id="account_template_deposit_nl" 
model="account.account.template">
@@ -24,14 +27,13 @@
             
             
             
-            <field name="name">Deposit</field>
+            <field name="name">Afzetting</field>
+            
             
             
-            <field name="type" 
ref="account_type_template_liability_current_unearned_revenues_nl"/>
+            <field name="type" ref="account_type_template_deposit_nl"/>
             <field name="reconcile" eval="True"/>
-            <field name="deferral" eval="True"/>
             <field name="parent" ref="account.account_template_root_nl"/>
-            <field name="kind">deposit</field>
             <field name="party_required" eval="True"/>
         </record>
     </data>
diff -r 2d518d9e2a29 -r 1a4cc0e6cabe minimal_chart_pt.xml
--- a/minimal_chart_pt.xml      Fri Mar 22 15:33:42 2019 +0100
+++ b/minimal_chart_pt.xml      Sun Mar 24 18:00:01 2019 +0100
@@ -3,7 +3,7 @@
 this repository contains the full copyright notices and license terms. -->
 <tryton>
     <data>
-        <record 
id="account_type_template_liability_current_unearned_revenues_pt" 
model="account.account.type.template">
+        <record id="account_type_template_deposit_pt" 
model="account.account.type.template">
             
             
             
@@ -11,11 +11,13 @@
             
             
             
-            <field name="name">Receitas Não Auferidas</field>
+            <field name="name">Depositar</field>
             
             
-            <field name="parent" 
ref="account.account_type_template_liability_current_pt"/>
-            <field name="sequence" eval="30"/>
+            <field name="parent" 
ref="account.account_type_template_off_balance_pt"/>
+            <field name="statement">off-balance</field>
+            <field name="deposit" eval="True"/>
+            <field name="sequence" eval="10"/>
         </record>
 
         <record id="account_template_deposit_pt" 
model="account.account.template">
@@ -26,14 +28,12 @@
             
             
             
-            <field name="name">Depósito</field>
+            <field name="name">Depositar</field>
             
             
-            <field name="type" 
ref="account_type_template_liability_current_unearned_revenues_pt"/>
+            <field name="type" ref="account_type_template_deposit_pt"/>
             <field name="reconcile" eval="True"/>
-            <field name="deferral" eval="True"/>
             <field name="parent" ref="account.account_template_root_pt"/>
-            <field name="kind">deposit</field>
             <field name="party_required" eval="True"/>
         </record>
     </data>
diff -r 2d518d9e2a29 -r 1a4cc0e6cabe minimal_chart_ru.xml
--- a/minimal_chart_ru.xml      Fri Mar 22 15:33:42 2019 +0100
+++ b/minimal_chart_ru.xml      Sun Mar 24 18:00:01 2019 +0100
@@ -3,7 +3,7 @@
 this repository contains the full copyright notices and license terms. -->
 <tryton>
     <data>
-        <record 
id="account_type_template_liability_current_unearned_revenues_ru" 
model="account.account.type.template">
+        <record id="account_type_template_deposit_ru" 
model="account.account.type.template">
             
             
             
@@ -11,10 +11,13 @@
             
             
             
-            <field name="name">Unearned Revenues</field>
+            
+            <field name="name">депозит</field>
             
-            <field name="parent" 
ref="account.account_type_template_liability_current_ru"/>
-            <field name="sequence" eval="30"/>
+            <field name="parent" 
ref="account.account_type_template_off_balance_ru"/>
+            <field name="statement">off-balance</field>
+            <field name="deposit" eval="True"/>
+            <field name="sequence" eval="10"/>
         </record>
 
         <record id="account_template_deposit_ru" 
model="account.account.template">
@@ -25,13 +28,12 @@
             
             
             
-            <field name="name">Deposit</field>
             
-            <field name="type" 
ref="account_type_template_liability_current_unearned_revenues_ru"/>
+            <field name="name">депозит</field>
+            
+            <field name="type" ref="account_type_template_deposit_ru"/>
             <field name="reconcile" eval="True"/>
-            <field name="deferral" eval="True"/>
             <field name="parent" ref="account.account_template_root_ru"/>
-            <field name="kind">deposit</field>
             <field name="party_required" eval="True"/>
         </record>
     </data>
diff -r 2d518d9e2a29 -r 1a4cc0e6cabe minimal_chart_sl.xml
--- a/minimal_chart_sl.xml      Fri Mar 22 15:33:42 2019 +0100
+++ b/minimal_chart_sl.xml      Sun Mar 24 18:00:01 2019 +0100
@@ -3,7 +3,7 @@
 this repository contains the full copyright notices and license terms. -->
 <tryton>
     <data>
-        <record 
id="account_type_template_liability_current_unearned_revenues_sl" 
model="account.account.type.template">
+        <record id="account_type_template_deposit_sl" 
model="account.account.type.template">
             
             
             
@@ -12,9 +12,12 @@
             
             
             
-            <field name="name">Unearned Revenues</field>
-            <field name="parent" 
ref="account.account_type_template_liability_current_sl"/>
-            <field name="sequence" eval="30"/>
+            
+            <field name="name">Polog</field>
+            <field name="parent" 
ref="account.account_type_template_off_balance_sl"/>
+            <field name="statement">off-balance</field>
+            <field name="deposit" eval="True"/>
+            <field name="sequence" eval="10"/>
         </record>
 
         <record id="account_template_deposit_sl" 
model="account.account.template">
@@ -26,12 +29,11 @@
             
             
             
-            <field name="name">Deposit</field>
-            <field name="type" 
ref="account_type_template_liability_current_unearned_revenues_sl"/>
+            
+            <field name="name">Polog</field>
+            <field name="type" ref="account_type_template_deposit_sl"/>
             <field name="reconcile" eval="True"/>
-            <field name="deferral" eval="True"/>
             <field name="parent" ref="account.account_template_root_sl"/>
-            <field name="kind">deposit</field>
             <field name="party_required" eval="True"/>
         </record>
     </data>
diff -r 2d518d9e2a29 -r 1a4cc0e6cabe party.py
--- a/party.py  Fri Mar 22 15:33:42 2019 +0100
+++ b/party.py  Sun Mar 24 18:00:01 2019 +0100
@@ -32,11 +32,13 @@
         pool = Pool()
         MoveLine = pool.get('account.move.line')
         Account = pool.get('account.account')
+        AccountType = pool.get('account.account.type')
         User = pool.get('res.user')
         cursor = Transaction().connection.cursor()
 
         line = MoveLine.__table__()
         account = Account.__table__()
+        account_type = AccountType.__table__()
 
         values = {p.id: Decimal(0) for p in parties}
 
@@ -49,12 +51,13 @@
 
         for sub_parties in grouped_slice(parties):
             party_clause = reduce_ids(line.party, [p.id for p in sub_parties])
-            cursor.execute(*line.join(account,
-                    condition=account.id == line.account
-                    ).select(line.party,
+            cursor.execute(*line
+                .join(account, condition=account.id == line.account)
+                .join(account_type, condition=account.type == account_type.id)
+                .select(line.party,
                     # Use credit - debit to positive deposit amount
                     Sum(Coalesce(line.credit, 0) - Coalesce(line.debit, 0)),
-                    where=(account.kind == 'deposit')
+                    where=account_type.deposit
                     & party_clause
                     & (line.reconciliation == Null)
                     & (account.company == user.company.id)
@@ -72,10 +75,12 @@
         pool = Pool()
         MoveLine = pool.get('account.move.line')
         Account = pool.get('account.account')
+        AccountType = pool.get('account.account.type')
         User = pool.get('res.user')
 
         line = MoveLine.__table__()
         account = Account.__table__()
+        account_type = AccountType.__table__()
 
         user = User(Transaction().user)
         if not user.company:
@@ -84,10 +89,12 @@
         line_clause, _ = MoveLine.query_get(line)
         Operator = fields.SQL_OPERATORS[clause[1]]
 
-        query = line.join(account, condition=account.id == line.account
-            ).select(line.party,
+        query = (line
+            .join(account, condition=account.id == line.account)
+            .join(account_type, condition=account.type == account_type.id)
+            .select(line.party,
                 where=account.active
-                & (account.kind == 'deposit')
+                & account_type.deposit
                 & (line.party != Null)
                 & (line.reconciliation == Null)
                 & (account.company == user.company.id)
@@ -95,7 +102,7 @@
                 group_by=line.party,
                 having=Operator(
                     Sum(Coalesce(line.debit, 0) - Coalesce(line.credit, 0)),
-                    Decimal(clause[2] or 0)))
+                    Decimal(clause[2] or 0))))
         return [('id', 'in', query)]
 
     def get_deposit_balance(self, deposit_account):
@@ -106,7 +113,7 @@
         cursor = transaction.connection.cursor()
 
         line = MoveLine.__table__()
-        assert deposit_account.kind == 'deposit'
+        assert deposit_account.type.deposit
 
         where = ((line.account == deposit_account.id)
             & (line.party == self.id)
diff -r 2d518d9e2a29 -r 1a4cc0e6cabe tests/tools.py
--- a/tests/tools.py    Fri Mar 22 15:33:42 2019 +0100
+++ b/tests/tools.py    Sun Mar 24 18:00:01 2019 +0100
@@ -13,7 +13,7 @@
         company = get_company()
 
     accounts['deposit'], = Account.find([
-            ('kind', '=', 'deposit'),
+            ('type.deposit', '=', True),
             ('company', '=', company.id),
             ('name', '=', 'Deposit'),
             ])
diff -r 2d518d9e2a29 -r 1a4cc0e6cabe view/account_type_form.xml
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/view/account_type_form.xml        Sun Mar 24 18:00:01 2019 +0100
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
+this repository contains the full copyright notices and license terms. -->
+<data>
+    <xpath expr="//group[@id='checkboxes']" position="inside">
+        <label name="deposit"/>
+        <field name="deposit"/>
+    </xpath>
+</data>

Reply via email to