[tryton-debian-vcs] tryton-client branch debian-stretch-3.6 updated. debian/3.6.6-1-3-g2e39b00
Mathias Behrle
tryton-debian-vcs at alioth.debian.org
Tue Mar 15 20:34:52 UTC 2016
The following commit has been merged in the debian-stretch-3.6 branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-client.git;a=commitdiff;h=debian/3.6.6-1-3-g2e39b00
commit 2e39b002de38885fc4fb3d128b60de08f81ce789
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Tue Mar 15 20:33:22 2016 +0100
Releasing debian version 3.6.7-1.
Signed-off-by: Mathias Behrle <mathiasb at m9s.biz>
diff --git a/debian/changelog b/debian/changelog
index 9ac82a4..0f01609 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+tryton-client (3.6.7-1) unstable; urgency=medium
+
+ * Updating signing-key.asc with the actual upstream maintainer keys.
+ * Merging upstream version 3.6.7.
+
+ -- Mathias Behrle <mathiasb at m9s.biz> Tue, 15 Mar 2016 20:33:22 +0100
+
tryton-client (3.6.6-1) unstable; urgency=medium
* Merging upstream version 3.6.6.
commit 8ee39c948638ddf0a27c6419a27219e93138fd39
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Tue Mar 15 20:33:22 2016 +0100
Merging upstream version 3.6.7.
diff --git a/CHANGELOG b/CHANGELOG
index 6b80793..8d4dffb 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 3.6.7 - 2016-03-14
+* Bug fixes (see mercurial logs for details)
+
Version 3.6.6 - 2016-02-06
* Bug fixes (see mercurial logs for details)
diff --git a/PKG-INFO b/PKG-INFO
index b69ecd5..2dac10b 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: tryton
-Version: 3.6.6
+Version: 3.6.7
Summary: Tryton client
Home-page: http://www.tryton.org/
Author: Tryton
diff --git a/setup.nsi b/setup.nsi
index a41a27a..069f385 100644
--- a/setup.nsi
+++ b/setup.nsi
@@ -55,10 +55,10 @@ Var STARTMENU_FOLDER
;Languages
+!insertmacro MUI_LANGUAGE "English" ; First is the default
+!include "english.nsh"
!insertmacro MUI_LANGUAGE "Catalan"
!include "catalan.nsh"
-!insertmacro MUI_LANGUAGE "English"
-!include "english.nsh"
!insertmacro MUI_LANGUAGE "French"
!include "french.nsh"
!insertmacro MUI_LANGUAGE "German"
diff --git a/tryton.egg-info/PKG-INFO b/tryton.egg-info/PKG-INFO
index b69ecd5..2dac10b 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.6.6
+Version: 3.6.7
Summary: Tryton client
Home-page: http://www.tryton.org/
Author: Tryton
diff --git a/tryton/__init__.py b/tryton/__init__.py
index 232f8ab..efeba3a 100644
--- a/tryton/__init__.py
+++ b/tryton/__init__.py
@@ -1,3 +1,3 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
-__version__ = "3.6.6"
+__version__ = "3.6.7"
diff --git a/tryton/common/domain_parser.py b/tryton/common/domain_parser.py
index abee926..03a754e 100644
--- a/tryton/common/domain_parser.py
+++ b/tryton/common/domain_parser.py
@@ -936,10 +936,14 @@ class DomainParser(object):
operator = '!'
value = value.replace('%%', '%')
def_operator = default_operator(field)
- if (def_operator == operator.strip()
- or (def_operator in operator
- and ('not' in operator
- or '!' in operator))):
+ if def_operator == operator.strip():
+ operator = ''
+ if value in OPERATORS:
+ # As the value could be interpreted as an operator,
+ # the default operator must be forced
+ operator = '"" '
+ elif (def_operator in operator
+ and ('not' in operator or '!' in operator)):
operator = operator.rstrip(def_operator
).replace('not', '!').strip()
if operator.endswith('in'):
@@ -1035,7 +1039,7 @@ class DomainParser(object):
field = self.fields[name]
else:
field = self.strings[name.lower()]
- if operator is None:
+ if not operator:
operator = default_operator(field)
value = ''
if 'ilike' in operator:
@@ -1064,7 +1068,9 @@ class DomainParser(object):
else:
yield (None,)
name = (name,)
- if i + 1 < len(parts) and parts[i + 1] in OPERATORS:
+ # empty string is also the default operator
+ if (i + 1 < len(parts)
+ and parts[i + 1] in OPERATORS + ('',)):
name += (parts[i + 1],)
i += 1
else:
@@ -1129,7 +1135,7 @@ class DomainParser(object):
if target:
field_name += '.rec_name'
- if operator is None:
+ if not operator:
operator = default_operator(field)
if isinstance(value, list):
if operator == '!':
@@ -1224,6 +1230,7 @@ def test_string():
assert dom.string([('name', '=', '')]) == 'Name: =""'
assert dom.string([('name', 'ilike', '%')]) == 'Name: '
assert dom.string([('name', 'ilike', '%Doe%')]) == 'Name: Doe'
+ assert dom.string([('name', 'ilike', '%<%')]) == 'Name: "" "<"'
assert dom.string([('name', 'ilike', 'Doe')]) == 'Name: =Doe'
assert dom.string([('name', 'ilike', 'Doe%')]) == 'Name: Doe%'
assert dom.string([('name', 'ilike', 'Doe%%')]) == 'Name: =Doe%'
@@ -1352,6 +1359,9 @@ def test_group():
assert rlist(dom.group(udlex(u'Name: \\"foo\\"'))) == [
('Name', None, '"foo"'),
]
+ assert rlist(dom.group(udlex(u'Name: "" <'))) == [
+ ('Name', '', '<'),
+ ]
def test_parse_clause():
@@ -1394,6 +1404,8 @@ def test_parse_clause():
('rec_name', 'ilike', '%John%')]
assert rlist(dom.parse_clause([('Name', None, None)])) == [
('name', 'ilike', '%')]
+ assert rlist(dom.parse_clause([('Name', '', None)])) == [
+ ('name', 'ilike', '%')]
assert rlist(dom.parse_clause([('Name', '=', None)])) == [
('name', '=', None)]
assert rlist(dom.parse_clause([('Name', '=', '')])) == [
diff --git a/tryton/gui/window/view_form/model/group.py b/tryton/gui/window/view_form/model/group.py
index 53c607f..2ba270c 100644
--- a/tryton/gui/window/view_form/model/group.py
+++ b/tryton/gui/window/view_form/model/group.py
@@ -282,14 +282,14 @@ class Group(SignalEvent, list):
record.signal('record-modified')
if signal:
self.signal('group-changed', record)
- # Set parent field to trigger on_change
- if self.parent and self.parent_name in self.fields:
- field = self.fields[self.parent_name]
- if isinstance(field, (M2OField, ReferenceField)):
- value = self.parent.id, ''
- if isinstance(field, ReferenceField):
- value = self.parent.model_name, value
- field.set_client(record, value)
+ # Set parent field to trigger on_change
+ if self.parent and self.parent_name in self.fields:
+ field = self.fields[self.parent_name]
+ if isinstance(field, (M2OField, ReferenceField)):
+ value = self.parent.id, ''
+ if isinstance(field, ReferenceField):
+ value = self.parent.model_name, value
+ field.set_client(record, value)
return record
def set_sequence(self, field='sequence'):
diff --git a/tryton/gui/window/view_form/view/list_gtk/editabletree.py b/tryton/gui/window/view_form/view/list_gtk/editabletree.py
index 460b6c0..ece7779 100644
--- a/tryton/gui/window/view_form/view/list_gtk/editabletree.py
+++ b/tryton/gui/window/view_form/view/list_gtk/editabletree.py
@@ -95,8 +95,10 @@ class EditableTreeView(TreeView):
def set_cursor(self, path, focus_column=None, start_editing=False):
self.grab_focus()
- if focus_column and (focus_column._type in ('boolean')):
- start_editing = False
+ if focus_column:
+ widget = self.view.get_column_widget(focus_column)
+ if isinstance(widget.renderer, gtk.CellRendererToggle):
+ start_editing = False
self.scroll_to_cell(path, focus_column, use_align=False)
super(EditableTreeView, self).set_cursor(path, focus_column,
start_editing)
diff --git a/tryton/gui/window/view_form/view/list_gtk/widget.py b/tryton/gui/window/view_form/view/list_gtk/widget.py
index 1405abc..ddd1189 100644
--- a/tryton/gui/window/view_form/view/list_gtk/widget.py
+++ b/tryton/gui/window/view_form/view/list_gtk/widget.py
@@ -264,6 +264,9 @@ class GenericText(Cell):
pass
else:
cell.set_property('editable', not readonly)
+ else:
+ if isinstance(cell, CellRendererToggle):
+ cell.set_property('activatable', False)
cell.set_property('xalign', align)
--
tryton-client
More information about the tryton-debian-vcs
mailing list