From 4155eeec6b81398c977e54de4aaf473b0d87f18d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 11 May 2010 22:38:16 +0200 Subject: [PATCH 01/29] Increase version number --- __tryton__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/__tryton__.py b/__tryton__.py index 83d1bc0039..7f913ca857 100644 --- a/__tryton__.py +++ b/__tryton__.py @@ -6,7 +6,7 @@ 'name_es_CO': 'Contabilidad', 'name_es_ES': 'Contabilidad', 'name_fr_FR': 'Comptabilité', - 'version': '1.6.0', + 'version': '1.6.1', 'author': 'B2CK', 'email': 'info@b2ck.com', 'website': 'http://www.tryton.org/', From e57217a653f2692d8f05e3213788a2e4a31743aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 1 Jun 2010 21:06:02 +0200 Subject: [PATCH 02/29] Add test for xmlrpc and pyson that doesn't handle tuple for issue1576 (transplanted from 3072ce7865c81a0e2ddbc8520e6fae48e7a43320) --- period.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/period.py b/period.py index cb73ea1719..1c7c84e04b 100644 --- a/period.py +++ b/period.py @@ -1,7 +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. 'Period' -from trytond.model import ModelView, ModelSQL, fields +from trytond.model import ModelView, ModelSQL, fields, OPERATORS from trytond.wizard import Wizard from trytond.pyson import Equal, Eval @@ -169,9 +169,10 @@ class Period(ModelSQL, ModelView): def process_args(args): i = 0 while i < len(args): - if isinstance(args[i], list): - process_args(args[i]) - if isinstance(args[i], tuple) \ + # add test for xmlrpc and pyson that doesn't handle tuple + if (isinstance(args[i], tuple) \ + or (isinstance(args[i], list) and len(args[i]) > 2 \ + and args[i][1] in OPERATORS)) \ and args[i][0] in ('start_date', 'end_date') \ and isinstance(args[i][2], (list, tuple)): if not args[i][2][0]: @@ -180,6 +181,8 @@ class Period(ModelSQL, ModelView): period = self.browse(cursor, user, args[i][2][0], context=context) args[i] = (args[i][0], args[i][1], period[args[i][2][1]]) + elif isinstance(args[i], list): + process_args(args[i]) i += 1 process_args(args) return super(Period, self).search(cursor, user, args, offset=offset, From fd314b211e574db3fa9108802e7ad33958b2237c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 17 Jun 2010 20:09:01 +0200 Subject: [PATCH 03/29] Add recursive check on account type for issue1590 (transplanted from e58b929959c8ee31e10b897b4572d03c71aad5aa) --- account.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/account.py b/account.py index b1e8dc66a7..b12c629070 100644 --- a/account.py +++ b/account.py @@ -30,6 +30,12 @@ class TypeTemplate(ModelSQL, ModelView): def __init__(self): super(TypeTemplate, self).__init__() + self._constraints += [ + ('check_recursion', 'recursive_types'), + ] + self._error_messages.update({ + 'recursive_types': 'You can not create recursive types!', + }) self._order.insert(0, ('sequence', 'ASC')) def default_balance_sheet(self, cursor, user, context=None): @@ -175,6 +181,12 @@ class Type(ModelSQL, ModelView): def __init__(self): super(Type, self).__init__() + self._constraints += [ + ('check_recursion', 'recursive_types'), + ] + self._error_messages.update({ + 'recursive_types': 'You can not create recursive types!', + }) self._order.insert(0, ('sequence', 'ASC')) def default_balance_sheet(self, cursor, user, context=None): From fd41dd24421bf21a50e05495bef81958f6742aef Mon Sep 17 00:00:00 2001 From: Korbinian Preisler Date: Sat, 26 Jun 2010 09:24:07 +0200 Subject: [PATCH 04/29] fix update functions for issue 1599 (transplanted from 2dab758cee6539fbc2755dfdb9b46bcb797d3c66) --- account.py | 26 ++++++++++++++------------ tax.py | 39 +++++++++++++++++++++------------------ 2 files changed, 35 insertions(+), 30 deletions(-) diff --git a/account.py b/account.py index b12c629070..c79bcc0ddf 100644 --- a/account.py +++ b/account.py @@ -292,9 +292,9 @@ class Type(ModelSQL, ModelView): prev_lang = type._context.get('language') or 'en_US' prev_data = {} - for field_name, field in template._columns.iteritems(): + for field_name, field in type.template._columns.iteritems(): if getattr(field, 'translate', False): - prev_data[field_name] = template[field_name] + prev_data[field_name] = type.template[field_name] ctx = context.copy() for lang in lang_obj.get_translatable_languages(cursor, user, context=context): @@ -303,10 +303,11 @@ class Type(ModelSQL, ModelView): ctx['language'] = lang type.setLang(lang) data = {} - for field_name, field in template._columns.iteritems(): - if getattr(field, 'translate', False) \ - and template[field_name] != prev_data[field_name]: - data[field_name] = template[field_name] + for field_name, field in type.template._columns.iteritems(): + if (getattr(field, 'translate', False) + and type.template[field_name] != + prev_data[field_name]): + data[field_name] = type.template[field_name] if data: self.write(cursor, user, type.id, data, context=ctx) type.setLang(prev_lang) @@ -972,9 +973,9 @@ class Account(ModelSQL, ModelView): prev_lang = account._context.get('language') or 'en_US' prev_data = {} - for field_name, field in template._columns.iteritems(): + for field_name, field in account.template._columns.iteritems(): if getattr(field, 'translate', False): - prev_data[field_name] = template[field_name] + prev_data[field_name] = account.template[field_name] ctx = context.copy() for lang in lang_obj.get_translatable_languages(cursor, user, context=context): @@ -983,10 +984,11 @@ class Account(ModelSQL, ModelView): ctx['language'] = lang account.setLang(lang) data = {} - for field_name, field in template._columns.iteritems(): - if getattr(field, 'translate', False) \ - and template[field_name] != prev_data[field_name]: - data[field_name] = template[field_name] + for field_name, field in account.template._columns.iteritems(): + if (getattr(field, 'translate', False) + and account.template[field_name] != + prev_data[field_name]): + data[field_name] = account.template[field_name] if data: self.write(cursor, user, account.id, data, context=ctx) account.setLang(prev_lang) diff --git a/tax.py b/tax.py index 997e2bd6d5..d21b8e1838 100644 --- a/tax.py +++ b/tax.py @@ -299,9 +299,9 @@ class Code(ModelSQL, ModelView): prev_lang = code._context.get('language') or 'en_US' prev_data = {} - for field_name, field in template._columns.iteritems(): + for field_name, field in code.template._columns.iteritems(): if getattr(field, 'translate', False): - prev_data[field_name] = template[field_name] + prev_data[field_name] = code.template[field_name] ctx = context.copy() for lang in lang_obj.get_translatable_languages(cursor, user, context=context): @@ -310,10 +310,11 @@ class Code(ModelSQL, ModelView): ctx['language'] = lang code.setLang(lang) data = {} - for field_name, field in template._columns.iteritems(): - if getattr(field, 'translate', False) \ - and template[field_name] != prev_data[field_name]: - data[field_name] = template[field_name] + for field_name, field in code.template._columns.iteritems(): + if (getattr(field, 'translate', False) + and code.template[field_name] != + prev_data[field_name]): + data[field_name] = code.template[field_name] if data: self.write(cursor, user, code.id, data, context=ctx) code.setLang(prev_lang) @@ -924,9 +925,9 @@ class Tax(ModelSQL, ModelView): prev_lang = tax._context.get('language') or 'en_US' prev_data = {} - for field_name, field in template._columns.iteritems(): + for field_name, field in tax.template._columns.iteritems(): if getattr(field, 'translate', False): - prev_data[field_name] = template[field_name] + prev_data[field_name] = tax.template[field_name] ctx = context.copy() for lang in lang_obj.get_translatable_languages(cursor, user, context=context): @@ -935,10 +936,11 @@ class Tax(ModelSQL, ModelView): ctx['language'] = lang tax.setLang(lang) data = {} - for field_name, field in template._columns.iteritems(): - if getattr(field, 'translate', False) \ - and template[field_name] != prev_data[field_name]: - data[field_name] = template[field_name] + for field_name, field in tax.template._columns.iteritems(): + if (getattr(field, 'translate', False) + and tax.template[field_name] != + prev_data[field_name]): + data[field_name] = tax.template[field_name] if data: self.write(cursor, user, tax.id, data, context=ctx) tax.setLang(prev_lang) @@ -1153,9 +1155,9 @@ class Rule(ModelSQL, ModelView): prev_lang = rule._context.get('language') or 'en_US' prev_data = {} - for field_name, field in template._columns.iteritems(): + for field_name, field in rule.template._columns.iteritems(): if getattr(field, 'translate', False): - prev_data[field_name] = template[field_name] + prev_data[field_name] = rule.template[field_name] ctx = context.copy() for lang in lang_obj.get_translatable_languages(cursor, user, context=context): @@ -1164,10 +1166,11 @@ class Rule(ModelSQL, ModelView): ctx['language'] = lang rule.setLang(lang) data = {} - for field_name, field in template._columns.iteritems(): - if getattr(field, 'translate', False) \ - and template[field_name] != prev_data[field_name]: - data[field_name] = template[field_name] + for field_name, field in rule.template._columns.iteritems(): + if (getattr(field, 'translate', False) + and rule.template[field_name] != + prev_data[field_name]): + data[field_name] = rule.template[field_name] if data: self.write(cursor, user, rule.id, data, context=ctx) rule.setLang(prev_lang) From 0667974fc47da9d18f023285f6e4b3edf8eed99d Mon Sep 17 00:00:00 2001 From: Mathias Behrle Date: Tue, 2 Nov 2010 21:13:05 +0100 Subject: [PATCH 05/29] Prepare release 1.6.1 --- CHANGELOG | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 293137a8dc..cd4d2d4bba 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +Version 1.6.1 - 2010-11-02 +* Bug fixes (see mercurial logs for details) + Version 1.6.0 - 2010-05-11 * Bug fixes (see mercurial logs for details) * Add description field on account.tax.code.template and account.tax.code From 020c0ed1b3dd51409133f02555c9088cb27097f9 Mon Sep 17 00:00:00 2001 From: Mathias Behrle Date: Tue, 2 Nov 2010 21:13:06 +0100 Subject: [PATCH 06/29] Added tag 1.6.1 for changeset f491bece1b62 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 13d01c8ef7..b39f6cd6b6 100644 --- a/.hgtags +++ b/.hgtags @@ -2,3 +2,4 @@ c25f8bf80f1f8f92954cfed3a6dd2f799bd370e4 1.2.0 34f1b2a0557f504ee70664ff922faee63924aef0 1.4.0 a8c16bf00272129b9797a6efc12c9983420b2993 1.6.0 +f491bece1b62fdb4e1452dd95e72a6e3dfb80f8f 1.6.1 From 5016f9024edf1dcfdb26b12ac8f19e78cbe2eda6 Mon Sep 17 00:00:00 2001 From: Mathias Behrle Date: Tue, 2 Nov 2010 21:13:07 +0100 Subject: [PATCH 07/29] Increase version number --- __tryton__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/__tryton__.py b/__tryton__.py index 7f913ca857..f10fbab918 100644 --- a/__tryton__.py +++ b/__tryton__.py @@ -6,7 +6,7 @@ 'name_es_CO': 'Contabilidad', 'name_es_ES': 'Contabilidad', 'name_fr_FR': 'Comptabilité', - 'version': '1.6.1', + 'version': '1.6.2', 'author': 'B2CK', 'email': 'info@b2ck.com', 'website': 'http://www.tryton.org/', From 0b9ac89aff685b01d859cbf2ca1cb86914fd3ab3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 31 Dec 2010 12:37:06 +0100 Subject: [PATCH 08/29] Fix default taxes computation when tax doesn't have code for issue1788 (transplanted from 64a97ccad41557ec236588cf741ad59f091a8cc9) --- move.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/move.py b/move.py index 758312e15a..c7e28298bc 100644 --- a/move.py +++ b/move.py @@ -636,13 +636,15 @@ class Line(ModelSQL, ModelView): for tax_line in line.tax_lines: taxes[(line.account.id, tax_line.code.id, tax_line.tax.id)] = True - if not line.tax_lines and line.account.taxes: - if line.account.id in no_code_taxes: - taxes[(line.account.id, False, False)] = True - else: - no_code_taxes.append(line.account.id) - elif not line.tax_lines: - taxes[(line.account.id, False, False)] = True + if not line.tax_lines: + no_code_taxes.append(line.account.id) + for no_code_account_id in no_code_taxes: + for (account_id, code_id, tax_id), test in \ + taxes.iteritems(): + if (not test + and not code_id + and no_code_account_id == account_id): + taxes[(account_id, code_id, tax_id)] = True if 'account' in fields: if total >= Decimal('0.0'): @@ -823,6 +825,8 @@ class Line(ModelSQL, ModelView): [x.id for x in account.taxes], debit or credit, 1, context=context): code_id = tax_line['tax'][key + '_base_code'].id + if not code_id: + continue tax_id = tax_line['tax'].id base_amounts.setdefault((code_id, tax_id), Decimal('0.0')) base_amounts[code_id, tax_id] += tax_line['base'] * \ From fa2aa09d01a3f087e8cbd588511f96ef29abdd7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 31 Dec 2010 12:41:01 +0100 Subject: [PATCH 09/29] Prevent overlapping of periods in aged balance for issue1764 (transplanted from 14828419189f9c6035ab12253f523046f615c284) --- account.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/account.py b/account.py index c79bcc0ddf..4cc330e03c 100644 --- a/account.py +++ b/account.py @@ -2402,7 +2402,7 @@ class AgedBalance(Report): datetime.timedelta(days=term*coef),) else: term_query = '(l.maturity_date <= %s '\ - 'AND l.maturity_date >= %s) ' + 'AND l.maturity_date > %s) ' term_args = ( date_obj.today(cursor, user, context=context) + \ datetime.timedelta(days=term*coef), From cff6816b6d5cc28cf5eeed1d9caa647cba778082 Mon Sep 17 00:00:00 2001 From: Mathias Behrle Date: Sun, 13 Feb 2011 16:37:57 +0100 Subject: [PATCH 10/29] Update COPYRIGHT --- COPYRIGHT | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/COPYRIGHT b/COPYRIGHT index 94a43fbe61..97eff54014 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -1,7 +1,7 @@ Copyright (C) 2004-2008 Tiny SPRL. -Copyright (C) 2008-2010 Cédric Krier. -Copyright (C) 2008-2010 Bertrand Chenal. -Copyright (C) 2008-2010 B2CK SPRL. +Copyright (C) 2008-2011 Cédric Krier. +Copyright (C) 2008-2011 Bertrand Chenal. +Copyright (C) 2008-2011 B2CK SPRL. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by From 336d382d1df92c86fb1d3f1c9c3d56b95ee96d4a Mon Sep 17 00:00:00 2001 From: Mathias Behrle Date: Sun, 13 Feb 2011 17:30:10 +0100 Subject: [PATCH 11/29] Prepare release 1.6.2 --- CHANGELOG | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index cd4d2d4bba..107587b45f 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +Version 1.6.2 - 2011-02-13 +* Bug fixes (see mercurial logs for details) + Version 1.6.1 - 2010-11-02 * Bug fixes (see mercurial logs for details) From 84385c8a532e000e2a7605b3b9334f02c017e7ba Mon Sep 17 00:00:00 2001 From: Mathias Behrle Date: Sun, 13 Feb 2011 17:30:11 +0100 Subject: [PATCH 12/29] Added tag 1.6.2 for changeset 803beb57172f --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index b39f6cd6b6..7e90f2f58d 100644 --- a/.hgtags +++ b/.hgtags @@ -3,3 +3,4 @@ c25f8bf80f1f8f92954cfed3a6dd2f799bd370e4 1.2.0 34f1b2a0557f504ee70664ff922faee63924aef0 1.4.0 a8c16bf00272129b9797a6efc12c9983420b2993 1.6.0 f491bece1b62fdb4e1452dd95e72a6e3dfb80f8f 1.6.1 +803beb57172ff7d4d0e9075de3bb8a3d4343470d 1.6.2 From 006b12d41fc1aa2cbdc6a5b9b9481509bca5c17d Mon Sep 17 00:00:00 2001 From: Mathias Behrle Date: Sun, 13 Feb 2011 17:30:24 +0100 Subject: [PATCH 13/29] Increase version number --- __tryton__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/__tryton__.py b/__tryton__.py index f10fbab918..b01bd4b45d 100644 --- a/__tryton__.py +++ b/__tryton__.py @@ -6,7 +6,7 @@ 'name_es_CO': 'Contabilidad', 'name_es_ES': 'Contabilidad', 'name_fr_FR': 'Comptabilité', - 'version': '1.6.2', + 'version': '1.6.3', 'author': 'B2CK', 'email': 'info@b2ck.com', 'website': 'http://www.tryton.org/', From e7de1db7cfee1d14f2d3525406984e71d98f3c99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 23 May 2011 12:03:01 +0200 Subject: [PATCH 14/29] Fix if clause is not a tuple in search_move_field clause can be a list if it comes from json (transplanted from 2753ca6d96dd9bede285cf5d2531c81e611c2602) --- move.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/move.py b/move.py index c7e28298bc..5b473ec037 100644 --- a/move.py +++ b/move.py @@ -967,7 +967,7 @@ class Line(ModelSQL, ModelView): def search_move_field(self, cursor, user, name, clause, context=None): if name == 'move_state': name = 'state' - return [('move.' + name,) + clause[1:]] + return [('move.' + name,) + tuple(clause[1:])] def query_get(self, cursor, user, obj='l', context=None): ''' From a79210fcdecc16b699e7f8aed3ba42a7ce4e2df2 Mon Sep 17 00:00:00 2001 From: Mathias Behrle Date: Sun, 29 May 2011 14:16:57 +0200 Subject: [PATCH 15/29] Prepare release 1.6.3 --- CHANGELOG | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 107587b45f..48ca1cb889 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +Version 1.6.3 - 2011-05-29 +* Bug fixes (see mercurial logs for details) + Version 1.6.2 - 2011-02-13 * Bug fixes (see mercurial logs for details) From 77e64350b74fd6eb52d20de2e76fad94855c1125 Mon Sep 17 00:00:00 2001 From: Mathias Behrle Date: Sun, 29 May 2011 14:16:57 +0200 Subject: [PATCH 16/29] Added tag 1.6.3 for changeset 4b2d3bddb78d --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 7e90f2f58d..fea13c1796 100644 --- a/.hgtags +++ b/.hgtags @@ -4,3 +4,4 @@ c25f8bf80f1f8f92954cfed3a6dd2f799bd370e4 1.2.0 a8c16bf00272129b9797a6efc12c9983420b2993 1.6.0 f491bece1b62fdb4e1452dd95e72a6e3dfb80f8f 1.6.1 803beb57172ff7d4d0e9075de3bb8a3d4343470d 1.6.2 +4b2d3bddb78d06b4555861db544ea1cc99d8a9ab 1.6.3 From e4ec9e95b626074f647a200a4bc7d2bfda3618c6 Mon Sep 17 00:00:00 2001 From: Mathias Behrle Date: Sun, 29 May 2011 14:17:06 +0200 Subject: [PATCH 17/29] Increase version number --- __tryton__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/__tryton__.py b/__tryton__.py index b01bd4b45d..7120d556cd 100644 --- a/__tryton__.py +++ b/__tryton__.py @@ -6,7 +6,7 @@ 'name_es_CO': 'Contabilidad', 'name_es_ES': 'Contabilidad', 'name_fr_FR': 'Comptabilité', - 'version': '1.6.3', + 'version': '1.6.4', 'author': 'B2CK', 'email': 'info@b2ck.com', 'website': 'http://www.tryton.org/', From 606eba33ead01f3b22539854d04baab2c83b48cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=C3=89vrard?= Date: Fri, 28 Oct 2011 10:28:26 +0200 Subject: [PATCH 18/29] Fix typo (transplanted from d47f438ca66c72ba98bec1e125e990944dfd6881) --- move.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/move.py b/move.py index 5b473ec037..603d4208cd 100644 --- a/move.py +++ b/move.py @@ -875,7 +875,7 @@ class Line(ModelSQL, ModelView): amount = cursor.fetchone()[0] # SQLite uses float for SUM if not isinstance(amount, Decimal): - amout = Decimal(str(amount)) + amount = Decimal(str(amount)) if not currency_obj.is_zero(cursor, user, party.account_receivable.currency, amount): if amount > Decimal('0.0'): From c443845fb661638d3d8d2a65d814bb495138ddc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 14 Nov 2011 17:59:24 +0100 Subject: [PATCH 19/29] Create property for default account only if value is set issue2259 review174001 (transplanted from 2475a84195d25ba0b6c72637604fa2bfbac03959) --- account.py | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/account.py b/account.py index 4cc330e03c..26285a4f59 100644 --- a/account.py +++ b/account.py @@ -1937,13 +1937,14 @@ class CreateChartAccount(Wizard): ('company', '=', datas['form']['company']), ], context=context) property_obj.delete(cursor, 0, property_ids, context=context) - property_obj.create(cursor, 0, { - 'name': 'account_receivable', - 'field': account_receivable_field_id, - 'value': 'account.account,' + \ - str(datas['form']['account_receivable']), - 'company': datas['form']['company'], - }, context=context) + if datas['form']['account_receivable']: + property_obj.create(cursor, 0, { + 'name': 'account_receivable', + 'field': account_receivable_field_id, + 'value': 'account.account,' + \ + str(datas['form']['account_receivable']), + 'company': datas['form']['company'], + }, context=context) account_payable_field_id = model_field_obj.search(cursor, user, [ ('model.model', '=', 'party.party'), @@ -1955,13 +1956,14 @@ class CreateChartAccount(Wizard): ('company', '=', datas['form']['company']), ], context=context) property_obj.delete(cursor, 0, property_ids, context=context) - property_obj.create(cursor, 0, { - 'name': 'account_payable', - 'field': account_payable_field_id, - 'value': 'account.account,' + \ - str(datas['form']['account_payable']), - 'company': datas['form']['company'], - }, context=context) + if datas['form']['account_payable']: + property_obj.create(cursor, 0, { + 'name': 'account_payable', + 'field': account_payable_field_id, + 'value': 'account.account,' + \ + str(datas['form']['account_payable']), + 'company': datas['form']['company'], + }, context=context) return {} CreateChartAccount() From 39422a9e3a86a5f11daa8d20c4fd797be482d3b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 2 Dec 2011 11:42:35 +0100 Subject: [PATCH 20/29] Convert value to Decimal when searching receivabel/payable issue2299 review191001 (transplanted from e0e172026e4683c47ab6681203912cb9962d906f) --- party.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/party.py b/party.py index 208e4d6fec..44683ce0df 100644 --- a/party.py +++ b/party.py @@ -179,7 +179,7 @@ class Party(ModelSQL, ModelView): 'GROUP BY l.party ' 'HAVING (SUM((COALESCE(l.debit, 0) - COALESCE(l.credit, 0))) ' \ + clause[1] + ' %s)', - [code] + today_value + [company_id] + [clause[2]]) + [code] + today_value + [company_id] + [Decimal(clause[2])]) return [('id', 'in', [x[0] for x in cursor.fetchall()])] Party() From 5006fe5bc7ff0a2c881f778187f98be003e32f7c Mon Sep 17 00:00:00 2001 From: Mathias Behrle Date: Mon, 26 Dec 2011 10:34:36 +0100 Subject: [PATCH 21/29] Prepare release 1.6.4 --- CHANGELOG | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 48ca1cb889..e2d60709ca 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +Version 1.6.4 - 2011-12-26 +* Bug fixes (see mercurial logs for details) + Version 1.6.3 - 2011-05-29 * Bug fixes (see mercurial logs for details) From 349baf4e5c446eac63b9152cec149b37c7c2e959 Mon Sep 17 00:00:00 2001 From: Mathias Behrle Date: Mon, 26 Dec 2011 10:34:37 +0100 Subject: [PATCH 22/29] Added tag 1.6.4 for changeset 6fca63b22e9c --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index fea13c1796..53dd672e1a 100644 --- a/.hgtags +++ b/.hgtags @@ -5,3 +5,4 @@ a8c16bf00272129b9797a6efc12c9983420b2993 1.6.0 f491bece1b62fdb4e1452dd95e72a6e3dfb80f8f 1.6.1 803beb57172ff7d4d0e9075de3bb8a3d4343470d 1.6.2 4b2d3bddb78d06b4555861db544ea1cc99d8a9ab 1.6.3 +6fca63b22e9cefa7a3ac7d2faab08554a9540923 1.6.4 From 1db8edda29cc63e0a872609032303aa3a44c1403 Mon Sep 17 00:00:00 2001 From: Mathias Behrle Date: Mon, 26 Dec 2011 10:34:50 +0100 Subject: [PATCH 23/29] Increase version number --- __tryton__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/__tryton__.py b/__tryton__.py index 7120d556cd..8ddd8146f5 100644 --- a/__tryton__.py +++ b/__tryton__.py @@ -6,7 +6,7 @@ 'name_es_CO': 'Contabilidad', 'name_es_ES': 'Contabilidad', 'name_fr_FR': 'Comptabilité', - 'version': '1.6.4', + 'version': '1.6.5', 'author': 'B2CK', 'email': 'info@b2ck.com', 'website': 'http://www.tryton.org/', From 47b117a71935a2f0775d01c06eca043c8ddcab47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 2 Aug 2012 15:57:40 +0200 Subject: [PATCH 24/29] Fix search_receivable_payable with None value (transplanted from bbd17b4330367211576d5cebd23ba747780ee3a6) --- party.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/party.py b/party.py index 44683ce0df..f32f389c44 100644 --- a/party.py +++ b/party.py @@ -179,7 +179,7 @@ class Party(ModelSQL, ModelView): 'GROUP BY l.party ' 'HAVING (SUM((COALESCE(l.debit, 0) - COALESCE(l.credit, 0))) ' \ + clause[1] + ' %s)', - [code] + today_value + [company_id] + [Decimal(clause[2])]) + [code] + today_value + [company_id] + [Decimal(clause[2] or 0)]) return [('id', 'in', [x[0] for x in cursor.fetchall()])] Party() From 0fd0579de12e5acf9c50e3462c7e7869082dbeca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sun, 5 Aug 2012 21:10:40 +0200 Subject: [PATCH 25/29] Ensure clause concatination works with tuple vs list (transplanted from 3afd52ed80da5bee8d31ba1659b0849206d7070e) --- move.py | 4 ++-- tax.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/move.py b/move.py index 603d4208cd..adc9059c37 100644 --- a/move.py +++ b/move.py @@ -158,8 +158,8 @@ class Move(ModelSQL, ModelView): def search_rec_name(self, cursor, user, name, clause, context=None): ids = self.search(cursor, user, ['OR', - ('reference',) + clause[1:], - (self._rec_name,) + clause[1:], + ('reference',) + tuple(clause[1:]), + (self._rec_name,) + tuple(clause[1:]), ], context=context) return [('id', 'in', ids)] diff --git a/tax.py b/tax.py index d21b8e1838..4574d71279 100644 --- a/tax.py +++ b/tax.py @@ -254,11 +254,11 @@ class Code(ModelSQL, ModelView): return res def search_rec_name(self, cursor, user, name, clause, context=None): - ids = self.search(cursor, user, [('code',) + clause[1:]], limit=1, + ids = self.search(cursor, user, [('code',) + tuple(clause[1:])], limit=1, order=[], context=context) if ids: - return [('code',) + clause[1:]] - return [('name',) + clause[1:]] + return [('code',) + tuple(clause[1:])] + return [('name',) + tuple(clause[1:])] def delete(self, cursor, user, ids, context=None): if isinstance(ids, (int, long)): From 3cbe10b14de221bf300412c93cfb2a79a037f801 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sun, 5 Aug 2012 21:11:26 +0200 Subject: [PATCH 26/29] Fix typo for account.rec_name (transplanted from ad252c972c1f7ccc738088e46672a36abda60f32) --- move.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/move.py b/move.py index adc9059c37..4dd2191bb9 100644 --- a/move.py +++ b/move.py @@ -912,7 +912,7 @@ class Line(ModelSQL, ModelView): else: if 'account' not in res: res['account'] = party.account_payable.id - res['account.rec_name'] = party.account_payable.id + res['account.rec_name'] = party.account_payable.rec_name if party and vals.get('credit'): if vals['credit'] > Decimal('0.0'): From c1c731bec5c2dcc801d4ff2e8e14c4e23a838293 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sun, 2 Sep 2012 15:16:06 +0200 Subject: [PATCH 27/29] Prepare release 1.6.5 --- CHANGELOG | 3 +++ COPYRIGHT | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index e2d60709ca..0638e4f641 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +Version 1.6.5 - 2012-09-02 +* Bug fixes (see mercurial logs for details) + Version 1.6.4 - 2011-12-26 * Bug fixes (see mercurial logs for details) diff --git a/COPYRIGHT b/COPYRIGHT index 97eff54014..c646d008b8 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -1,7 +1,7 @@ Copyright (C) 2004-2008 Tiny SPRL. -Copyright (C) 2008-2011 Cédric Krier. +Copyright (C) 2008-2012 Cédric Krier. Copyright (C) 2008-2011 Bertrand Chenal. -Copyright (C) 2008-2011 B2CK SPRL. +Copyright (C) 2008-2012 B2CK SPRL. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by From f9361092f829cfdc9609e8dbc70ec0f288b49ed2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sun, 2 Sep 2012 15:16:07 +0200 Subject: [PATCH 28/29] Added tag 1.6.5 for changeset 31e41fd8d745 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 53dd672e1a..91ce79e1da 100644 --- a/.hgtags +++ b/.hgtags @@ -6,3 +6,4 @@ f491bece1b62fdb4e1452dd95e72a6e3dfb80f8f 1.6.1 803beb57172ff7d4d0e9075de3bb8a3d4343470d 1.6.2 4b2d3bddb78d06b4555861db544ea1cc99d8a9ab 1.6.3 6fca63b22e9cefa7a3ac7d2faab08554a9540923 1.6.4 +31e41fd8d745a8ca31b66c0097a2c8d31d0d22f2 1.6.5 From e1bbb3411f130cc316bbdeff82273318d0f939db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sun, 2 Sep 2012 15:16:19 +0200 Subject: [PATCH 29/29] Increase version number --- __tryton__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/__tryton__.py b/__tryton__.py index 8ddd8146f5..870b22f3f6 100644 --- a/__tryton__.py +++ b/__tryton__.py @@ -6,7 +6,7 @@ 'name_es_CO': 'Contabilidad', 'name_es_ES': 'Contabilidad', 'name_fr_FR': 'Comptabilité', - 'version': '1.6.5', + 'version': '1.6.6', 'author': 'B2CK', 'email': 'info@b2ck.com', 'website': 'http://www.tryton.org/',