diff --git a/account.py b/account.py index 5ab0da5902..4704f5b5b4 100644 --- a/account.py +++ b/account.py @@ -4,7 +4,8 @@ from decimal import Decimal import datetime import operator from itertools import izip, groupby -from sql import Column, Literal + +from sql import Column, Literal, Null from sql.aggregate import Sum from sql.conditionals import Coalesce @@ -70,7 +71,7 @@ class TypeTemplate(ModelSQL, ModelView): @staticmethod def order_sequence(tables): table, _ = tables[None] - return [table.sequence == None, table.sequence] + return [table.sequence == Null, table.sequence] @staticmethod def default_balance_sheet(): @@ -213,7 +214,7 @@ class Type(ModelSQL, ModelView): @staticmethod def order_sequence(tables): table, _ = tables[None] - return [table.sequence == None, table.sequence] + return [table.sequence == Null, table.sequence] @staticmethod def default_balance_sheet(): @@ -1973,12 +1974,12 @@ class ThirdPartyBalance(Report): cursor.execute(*line.join(move, condition=line.move == move.id ).join(account, condition=line.account == account.id ).select(line.party, Sum(line.debit), Sum(line.credit), - where=(line.party != None) + where=(line.party != Null) & account.active & account.kind.in_(('payable', 'receivable')) & (account.company == data['company']) & ((line.maturity_date <= Date.today()) - | (line.maturity_date == None)) + | (line.maturity_date == Null)) & line_query & posted_clause, group_by=line.party, having=(Sum(line.debit) != 0) | (Sum(line.credit) != 0))) @@ -2128,10 +2129,10 @@ class AgedBalance(Report): cursor.execute(*line.join(move, condition=line.move == move.id ).join(account, condition=line.account == account.id ).select(line.party, Sum(line.debit) - Sum(line.credit), - where=(line.party != None) + where=(line.party != Null) & account.active & account.kind.in_(kind) - & (line.reconciliation == None) + & (line.reconciliation == Null) & (account.company == data['company']) & term_query & line_query, group_by=line.party, diff --git a/journal.py b/journal.py index 38c1cb1a21..f02ea31be7 100644 --- a/journal.py +++ b/journal.py @@ -1,5 +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 trytond.model import ModelView, ModelSQL, fields from trytond.wizard import Wizard, StateTransition from trytond import backend @@ -78,7 +80,7 @@ class JournalViewColumn(ModelSQL, ModelView): @staticmethod def order_sequence(tables): table, _ = tables[None] - return [table.sequence == None, table.sequence] + return [table.sequence == Null, table.sequence] @staticmethod def default_required(): diff --git a/move.py b/move.py index 27724b36cb..6053cd02e5 100644 --- a/move.py +++ b/move.py @@ -6,10 +6,7 @@ from itertools import groupby, combinations from operator import itemgetter from collections import defaultdict -try: - from sql import Null -except ImportError: - Null = None +from sql import Null from sql.aggregate import Sum from sql.conditionals import Coalesce, Case @@ -1009,7 +1006,7 @@ class Line(ModelSQL, ModelView): table = self.__table__() column = Coalesce(Sum(Coalesce(table.debit, 0) - Coalesce(table.credit, 0)), 0).cast(type_name) - where = ((table.reconciliation == None) + where = ((table.reconciliation == Null) & (table.party == self.party.id)) cursor.execute(*table.select(column, where=where diff --git a/party.py b/party.py index de9579fa15..e115cf5042 100644 --- a/party.py +++ b/party.py @@ -1,7 +1,8 @@ #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 decimal import Decimal -from sql import Literal + +from sql import Literal, Null from sql.aggregate import Sum from sql.conditionals import Coalesce @@ -99,7 +100,7 @@ class Party: if name in ('receivable_today', 'payable_today'): code = name[:-6] today_query = ((line.maturity_date <= Date.today()) - | (line.maturity_date == None)) + | (line.maturity_date == Null)) cursor.execute(*line.join(account, condition=account.id == line.account @@ -108,7 +109,7 @@ class Party: where=account.active & (account.kind == code) & line.party.in_([p.id for p in parties]) - & (line.reconciliation == None) + & (line.reconciliation == Null) & (account.company == company_id) & line_query & today_query, group_by=line.party)) @@ -161,7 +162,7 @@ class Party: if name in ('receivable_today', 'payable_today'): code = name[:-6] today_query = ((line.maturity_date <= Date.today()) - | (line.maturity_date == None)) + | (line.maturity_date == Null)) line_query, _ = MoveLine.query_get(line) Operator = fields.SQL_OPERATORS[clause[1]] @@ -170,8 +171,8 @@ class Party: ).select(line.party, where=account.active & (account.kind == code) - & (line.party != None) - & (line.reconciliation == None) + & (line.party != Null) + & (line.reconciliation == Null) & (account.company == company_id) & today_query, group_by=line.party, diff --git a/setup.py b/setup.py index 9c769914ce..5df5a4816b 100644 --- a/setup.py +++ b/setup.py @@ -41,7 +41,7 @@ if minor_version % 2: 'hg+http://hg.tryton.org/modules/%s#egg=%s-%s' % ( name[8:], name, version)) -requires = ['python-dateutil', 'python-sql'] +requires = ['python-dateutil', 'python-sql >= 0.4'] for dep in info.get('depends', []): if not re.match(r'(ir|res|webdav)(\W|$)', dep): requires.append(get_require_version('trytond_%s' % dep)) diff --git a/tax.py b/tax.py index 6ab7434116..5386c27293 100644 --- a/tax.py +++ b/tax.py @@ -2,6 +2,8 @@ #this repository contains the full copyright notices and license terms. import datetime from decimal import Decimal + +from sql import Null from sql.aggregate import Sum from trytond.model import ModelView, ModelSQL, MatchMixin, fields @@ -419,7 +421,7 @@ class TaxTemplate(ModelSQL, ModelView): @staticmethod def order_sequence(tables): table, _ = tables[None] - return [table.sequence == None, table.sequence] + return [table.sequence == Null, table.sequence] @staticmethod def default_type(): @@ -698,7 +700,7 @@ class Tax(ModelSQL, ModelView): @staticmethod def order_sequence(tables): table, _ = tables[None] - return [table.sequence == None, table.sequence] + return [table.sequence == Null, table.sequence] @staticmethod def default_active(): @@ -1140,7 +1142,7 @@ class TaxRuleLineTemplate(ModelSQL, ModelView): @staticmethod def order_sequence(tables): table, _ = tables[None] - return [table.sequence == None, table.sequence] + return [table.sequence == Null, table.sequence] def _get_tax_rule_line_value(self, rule_line=None): ''' @@ -1254,7 +1256,7 @@ class TaxRuleLine(ModelSQL, ModelView, MatchMixin): @staticmethod def order_sequence(tables): table, _ = tables[None] - return [table.sequence == None, table.sequence] + return [table.sequence == Null, table.sequence] def match(self, pattern): if 'group' in pattern and not self.group: