Use tree mixin

issue7383
review45011002
This commit is contained in:
Cédric Krier committed 2018-05-12 00:47:07 +02:00
1 parent 673ef2eb3a
commit fb54f508a3
2 files changed
+10 -46

No files matched your search

+7 -33
View File
@@ -11,7 +11,8 @@ from sql.aggregate import Sum, Max
from sql.conditionals import Coalesce, Case
from trytond.model import (
ModelView, ModelSQL, DeactivableMixin, fields, Unique, sequence_ordered)
ModelView, ModelSQL, DeactivableMixin, fields, Unique, sequence_ordered,
tree)
from trytond.wizard import Wizard, StateView, StateAction, StateTransition, \
Button
from trytond.report import Report
@@ -43,7 +44,8 @@ def inactive_records(func):
return wrapper
class TypeTemplate(sequence_ordered(), ModelSQL, ModelView):
class TypeTemplate(
sequence_ordered(), tree(separator='\\'), ModelSQL, ModelView):
'Account Type Template'
__name__ = 'account.account.type.template'
name = fields.Char('Name', required=True)
@@ -68,11 +70,6 @@ class TypeTemplate(sequence_ordered(), ModelSQL, ModelView):
# Migration from 2.4: drop required on sequence
table.not_null_action('sequence', action='remove')
@classmethod
def validate(cls, records):
super(TypeTemplate, cls).validate(records)
cls.check_recursion(records, rec_name='name')
@staticmethod
def default_balance_sheet():
return False
@@ -85,12 +82,6 @@ class TypeTemplate(sequence_ordered(), ModelSQL, ModelView):
def default_display_balance():
return 'debit-credit'
def get_rec_name(self, name):
if self.parent:
return self.parent.get_rec_name(name) + '\\' + self.name
else:
return self.name
def _get_type_value(self, type=None):
'''
Set the values for account creation.
@@ -148,7 +139,7 @@ class TypeTemplate(sequence_ordered(), ModelSQL, ModelView):
childs = sum((c.childs for c in childs), ())
class Type(sequence_ordered(), ModelSQL, ModelView):
class Type(sequence_ordered(), tree(separator='\\'), ModelSQL, ModelView):
'Account Type'
__name__ = 'account.account.type'
@@ -203,11 +194,6 @@ class Type(sequence_ordered(), ModelSQL, ModelView):
# Migration from 2.4: drop required on sequence
table.not_null_action('sequence', action='remove')
@classmethod
def validate(cls, types):
super(Type, cls).validate(types)
cls.check_recursion(types, rec_name='name')
@staticmethod
def default_balance_sheet():
return False
@@ -289,12 +275,6 @@ class Type(sequence_ordered(), ModelSQL, ModelView):
~Eval('comparison', False)),
]
def get_rec_name(self, name):
if self.parent:
return self.parent.get_rec_name(name) + '\\' + self.name
else:
return self.name
@classmethod
def delete(cls, types):
types = cls.search([
@@ -367,7 +347,7 @@ class OpenType(Wizard):
do_ledger_account = open_action
class AccountTemplate(ModelSQL, ModelView):
class AccountTemplate(tree(), ModelSQL, ModelView):
'Account Template'
__name__ = 'account.account.template'
name = fields.Char('Name', size=None, required=True, select=True)
@@ -424,11 +404,6 @@ class AccountTemplate(ModelSQL, ModelView):
cls._order.insert(0, ('code', 'ASC'))
cls._order.insert(1, ('name', 'ASC'))
@classmethod
def validate(cls, templates):
super(AccountTemplate, cls).validate(templates)
cls.check_recursion(templates)
@staticmethod
def default_kind():
return 'view'
@@ -590,7 +565,7 @@ class AccountTemplateTaxTemplate(ModelSQL):
ondelete='RESTRICT', select=True, required=True)
class Account(DeactivableMixin, ModelSQL, ModelView):
class Account(DeactivableMixin, tree(), ModelSQL, ModelView):
'Account'
__name__ = 'account.account'
_states = {
@@ -744,7 +719,6 @@ class Account(DeactivableMixin, ModelSQL, ModelView):
@classmethod
def validate(cls, accounts):
super(Account, cls).validate(accounts)
cls.check_recursion(accounts)
cls.check_second_currency(accounts)
@staticmethod
+3 -13
View File
@@ -11,7 +11,7 @@ from sql.conditionals import Case
from trytond.model import (
ModelView, ModelSQL, MatchMixin, DeactivableMixin, fields,
sequence_ordered)
sequence_ordered, tree)
from trytond.wizard import Wizard, StateView, StateAction, Button
from trytond import backend
from trytond.pyson import Eval, If, Bool, PYSONEncoder
@@ -55,7 +55,7 @@ class TaxGroup(ModelSQL, ModelView):
return 'both'
class TaxCodeTemplate(ModelSQL, ModelView):
class TaxCodeTemplate(tree(), ModelSQL, ModelView):
'Tax Code Template'
__name__ = 'account.tax.code.template'
name = fields.Char('Name', required=True)
@@ -73,11 +73,6 @@ class TaxCodeTemplate(ModelSQL, ModelView):
cls._order.insert(0, ('code', 'ASC'))
cls._order.insert(0, ('account', 'ASC'))
@classmethod
def validate(cls, templates):
super(TaxCodeTemplate, cls).validate(templates)
cls.check_recursion(templates)
def _get_tax_code_value(self, code=None):
'''
Set values for tax code creation.
@@ -134,7 +129,7 @@ class TaxCodeTemplate(ModelSQL, ModelView):
childs = sum((c.childs for c in childs), ())
class TaxCode(DeactivableMixin, ModelSQL, ModelView):
class TaxCode(DeactivableMixin, tree(), ModelSQL, ModelView):
'Tax Code'
__name__ = 'account.tax.code'
_states = {
@@ -173,11 +168,6 @@ class TaxCode(DeactivableMixin, ModelSQL, ModelView):
super(TaxCode, cls).__setup__()
cls._order.insert(0, ('code', 'ASC'))
@classmethod
def validate(cls, codes):
super(TaxCode, cls).validate(codes)
cls.check_recursion(codes)
@staticmethod
def default_company():
return Transaction().context.get('company')