[tryton-debian-vcs] tryton-client branch debian updated. debian/3.2.3-1-4-gdb8a5de
Mathias Behrle
tryton-debian-vcs at alioth.debian.org
Wed Oct 8 16:49:52 UTC 2014
The following commit has been merged in the debian branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-client.git;a=commitdiff;h=debian/3.2.3-1-4-gdb8a5de
commit db8a5de4757e9a785bd5cf65226c89239f22c812
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Wed Oct 8 13:49:05 2014 +0200
Releasing debian version 3.2.4-1.
Signed-off-by: Mathias Behrle <mathiasb at m9s.biz>
diff --git a/debian/changelog b/debian/changelog
index 42e2d82..6fd79da 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+tryton-client (3.2.4-1) unstable; urgency=medium
+
+ * Adding actual upstream signing key.
+ * Updating to Standards-Version: 3.9.6, no changes needed.
+ * Merging upstream version 3.2.4.
+
+ -- Mathias Behrle <mathiasb at m9s.biz> Wed, 08 Oct 2014 13:49:05 +0200
+
tryton-client (3.2.3-1) unstable; urgency=medium
* Merging upstream version 3.2.3.
commit 110790d4cf658521f1c5aab8087d51c90c5a8f08
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Wed Oct 8 13:49:01 2014 +0200
Merging upstream version 3.2.4.
diff --git a/CHANGELOG b/CHANGELOG
index e1b7581..be6184e 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 3.2.4 - 2014-09-29
+* Bug fixes (see mercurial logs for details)
+
Version 3.2.3 - 2014-08-03
* Bug fixes (see mercurial logs for details)
diff --git a/PKG-INFO b/PKG-INFO
index f754e70..8bd6c16 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: tryton
-Version: 3.2.3
+Version: 3.2.4
Summary: Tryton client
Home-page: http://www.tryton.org/
Author: Tryton
diff --git a/tryton.egg-info/PKG-INFO b/tryton.egg-info/PKG-INFO
index f754e70..8bd6c16 100644
--- a/tryton.egg-info/PKG-INFO
+++ b/tryton.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: tryton
-Version: 3.2.3
+Version: 3.2.4
Summary: Tryton client
Home-page: http://www.tryton.org/
Author: Tryton
diff --git a/tryton/common/domain_inversion.py b/tryton/common/domain_inversion.py
index 531e522..e2b8a12 100644
--- a/tryton/common/domain_inversion.py
+++ b/tryton/common/domain_inversion.py
@@ -50,18 +50,21 @@ def is_leaf(expression):
and expression[1] in OPERATORS)
+def constrained_leaf(part, boolop=operator.and_):
+ field, operand, value = part[:3]
+ if operand == '=' and boolop == operator.and_:
+ # We should consider that other domain inversion will set a correct
+ # value to this field
+ return True
+ return False
+
+
def eval_leaf(part, context, boolop=operator.and_):
field, operand, value = part[:3]
if '.' in field:
# In the case where the leaf concerns a m2o then having a value in the
# evaluation context is deemed suffisant
return bool(context.get(field.split('.')[0]))
- if (operand == '='
- and context.get(field) is None
- and boolop == operator.and_):
- # We should consider that other domain inversion will set a correct
- # value to this field
- return True
context_field = context.get(field)
if isinstance(context_field, datetime.date) and not value:
if isinstance(context_field, datetime.datetime):
@@ -247,7 +250,8 @@ class And(object):
field = part[0]
if (field not in context
or field in context
- and eval_leaf(part, context, operator.and_)):
+ and (eval_leaf(part, context, operator.and_)
+ or constrained_leaf(part, operator.and_))):
result.append(True)
else:
return False
@@ -290,7 +294,8 @@ class Or(And):
field = part[0]
field = self.base(field)
if (field in context
- and eval_leaf(part, context, operator.or_)):
+ and (eval_leaf(part, context, operator.or_)
+ or constrained_leaf(part, operator.or_))):
return True
elif (field in context
and not eval_leaf(part, context, operator.or_)):
@@ -383,7 +388,7 @@ def test_andor_inversion():
def test_andand_inversion():
domain = [[['x', '=', 4], ['y', '>', 6]], ['z', '=', 3]]
assert domain_inversion(domain, 'z') == [['z', '=', 3]]
- assert domain_inversion(domain, 'z', {'x': 5}) is False
+ assert domain_inversion(domain, 'z', {'x': 5}) == [['z', '=', 3]]
assert domain_inversion(domain, 'z', {'y': 5}) is False
assert domain_inversion(domain, 'z', {'x': 4, 'y': 7}) == [['z', '=', 3]]
diff --git a/tryton/gui/window/view_form/screen/screen.py b/tryton/gui/window/view_form/screen/screen.py
index 37bda2e..c495db1 100644
--- a/tryton/gui/window/view_form/screen/screen.py
+++ b/tryton/gui/window/view_form/screen/screen.py
@@ -576,12 +576,13 @@ class Screen(SignalEvent):
if delete:
for record in records:
- if record.parent:
- record.parent.save(force_reload=False)
if record in record.group.record_deleted:
record.group.record_deleted.remove(record)
if record in record.group.record_removed:
record.group.record_removed.remove(record)
+ if record.parent:
+ # Save parent without deleted children
+ record.parent.save(force_reload=False)
record.destroy()
if idx > 0:
diff --git a/tryton/gui/window/view_form/view/form_gtk/multiselection.py b/tryton/gui/window/view_form/view/form_gtk/multiselection.py
index 0e44673..0de0f68 100644
--- a/tryton/gui/window/view_form/view/form_gtk/multiselection.py
+++ b/tryton/gui/window/view_form/view/form_gtk/multiselection.py
@@ -87,7 +87,8 @@ class MultiSelection(WidgetInterface, SelectionMixin):
group = field.get_client(record)
for element in group:
if (element not in group.record_removed
- and element not in group.record_deleted):
+ and element not in group.record_deleted
+ and element.id in id2path):
selection.select_path(id2path[element.id])
def __button_press(self, treeview, event):
diff --git a/tryton/gui/window/win_export.py b/tryton/gui/window/win_export.py
index c70164e..903b687 100644
--- a/tryton/gui/window/win_export.py
+++ b/tryton/gui/window/win_export.py
@@ -291,7 +291,7 @@ class WinExport(NoModal):
return
try:
lines = RPCExecute('model', 'ir.export.line', 'read',
- sum((x['export_fields'] for x in exports), []), None,
+ sum((list(x['export_fields']) for x in exports), []), None,
context=self.context)
except RPCException:
return
diff --git a/tryton/version.py b/tryton/version.py
index 2b7967d..451b8ce 100644
--- a/tryton/version.py
+++ b/tryton/version.py
@@ -1,6 +1,6 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
PACKAGE = "tryton"
-VERSION = "3.2.3"
+VERSION = "3.2.4"
LICENSE = "GPL-3"
WEBSITE = "http://www.tryton.org/"
--
tryton-client
More information about the tryton-debian-vcs
mailing list