Use tree mixin
issue7383 review45011002
This commit is contained in:
1 parent
673ef2eb3a
commit
fb54f508a3
2 files changed
+10
-46
No files matched your search
+7
-33
@@ -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
|
||||
|
||||
@@ -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')
|
||||
|
||||
Reference in new issue
Block a user