diff --git a/account.py b/account.py index 0df3d1c1ea..233c5c2b1c 100644 --- a/account.py +++ b/account.py @@ -8,7 +8,7 @@ from functools import wraps from sql import Column, Literal, Null from sql.aggregate import Sum -from sql.conditionals import Coalesce +from sql.conditionals import Coalesce, Case from trytond.model import ModelView, ModelSQL, fields, Unique from trytond.wizard import Wizard, StateView, StateAction, StateTransition, \ @@ -80,7 +80,7 @@ class TypeTemplate(ModelSQL, ModelView): @staticmethod def order_sequence(tables): table, _ = tables[None] - return [table.sequence == Null, table.sequence] + return [Case((table.sequence == Null, 0), else_=1), table.sequence] @staticmethod def default_balance_sheet(): @@ -223,7 +223,7 @@ class Type(ModelSQL, ModelView): @staticmethod def order_sequence(tables): table, _ = tables[None] - return [table.sequence == Null, table.sequence] + return [Case((table.sequence == Null, 0), else_=1), table.sequence] @staticmethod def default_balance_sheet(): diff --git a/journal.py b/journal.py index f90a4fbba5..0e3a9eb53a 100644 --- a/journal.py +++ b/journal.py @@ -1,6 +1,7 @@ # 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 sql import Null +from sql.conditionals import Case from trytond.model import ModelView, ModelSQL, fields, Unique from trytond.wizard import Wizard, StateTransition @@ -81,7 +82,7 @@ class JournalViewColumn(ModelSQL, ModelView): @staticmethod def order_sequence(tables): table, _ = tables[None] - return [table.sequence == Null, table.sequence] + return [Case((table.sequence == Null, 0), else_=1), table.sequence] @staticmethod def default_required(): diff --git a/move_template.py b/move_template.py index 8e0883221e..87e846ba7f 100644 --- a/move_template.py +++ b/move_template.py @@ -5,6 +5,7 @@ from decimal import Decimal from simpleeval import simple_eval from sql import Null +from sql.conditionals import Case from trytond.model import ModelSQL, ModelView, fields from trytond.pyson import Eval @@ -92,7 +93,7 @@ class MoveTemplateKeyword(ModelSQL, ModelView): @staticmethod def order_sequence(tables): table, _ = tables[None] - return [table.sequence == Null, table.sequence] + return [Case((table.sequence == Null, 0), else_=1), table.sequence] @staticmethod def default_required(): diff --git a/tax.py b/tax.py index a4cee65b87..db3e3a03f9 100644 --- a/tax.py +++ b/tax.py @@ -3,10 +3,11 @@ import datetime from collections import namedtuple from decimal import Decimal +from itertools import groupby from sql import Null from sql.aggregate import Sum -from itertools import groupby +from sql.conditionals import Case from trytond.model import ModelView, ModelSQL, MatchMixin, fields from trytond.wizard import Wizard, StateView, StateAction, Button @@ -448,7 +449,7 @@ class TaxTemplate(ModelSQL, ModelView): @staticmethod def order_sequence(tables): table, _ = tables[None] - return [table.sequence == Null, table.sequence] + return [Case((table.sequence == Null, 0), else_=1), table.sequence] @staticmethod def default_type(): @@ -770,7 +771,7 @@ class Tax(ModelSQL, ModelView): @staticmethod def order_sequence(tables): table, _ = tables[None] - return [table.sequence == Null, table.sequence] + return [Case((table.sequence == Null, 0), else_=1), table.sequence] @staticmethod def default_active(): @@ -1409,7 +1410,7 @@ class TaxRuleLineTemplate(ModelSQL, ModelView): @staticmethod def order_sequence(tables): table, _ = tables[None] - return [table.sequence == Null, table.sequence] + return [Case((table.sequence == Null, 0), else_=1), table.sequence] def _get_tax_rule_line_value(self, rule_line=None): ''' @@ -1523,7 +1524,7 @@ class TaxRuleLine(ModelSQL, ModelView, MatchMixin): @staticmethod def order_sequence(tables): table, _ = tables[None] - return [table.sequence == Null, table.sequence] + return [Case((table.sequence == Null, 0), else_=1), table.sequence] def match(self, pattern): if 'group' in pattern and not self.group: