[tryton-debian-vcs] tryton-client branch debian-stretch-3.6 updated. debian/3.6.8-1-3-gcc70b40
Mathias Behrle
tryton-debian-vcs at alioth.debian.org
Tue Jul 12 13:02:13 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.8-1-3-gcc70b40
commit cc70b402104de17cd7dcf65ea43ae38e7c7f4abf
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Mon Jul 11 19:36:55 2016 +0200
Releasing debian version 3.6.9-1.
Signed-off-by: Mathias Behrle <mathiasb at m9s.biz>
diff --git a/debian/changelog b/debian/changelog
index d39c24b..03a730c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+tryton-client (3.6.9-1) unstable; urgency=medium
+
+ * Merging upstream version 3.6.9.
+ * Updating copyright file.
+
+ -- Mathias Behrle <mathiasb at m9s.biz> Mon, 11 Jul 2016 19:36:55 +0200
+
tryton-client (3.6.8-1) unstable; urgency=medium
* Merging upstream version 3.6.8.
commit b361b5d397e3ed3cc46d60506a2a3939cfdc07ec
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Mon Jul 11 19:36:55 2016 +0200
Updating copyright file.
diff --git a/debian/copyright b/debian/copyright
index bb1c769..0c90988 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -2,7 +2,7 @@ Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Files: *
Copyright: 2012-2013 Antoine Smolders
- 2010-2015 Nicolas Évrard
+ 2010-2016 Nicolas Évrard
2007-2016 Cédric Krier
2007-2013 Bertrand Chenal
2008-2016 B2CK SPRL
commit fe190181a3167c3a61f3343cd28ee07a4a115742
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Mon Jul 11 19:36:55 2016 +0200
Merging upstream version 3.6.9.
diff --git a/CHANGELOG b/CHANGELOG
index 863a8cd..0afae1a 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 3.6.9 - 2016-07-04
+* Bug fixes (see mercurial logs for details)
+
Version 3.6.8 - 2016-04-06
* Bug fixes (see mercurial logs for details)
diff --git a/COPYRIGHT b/COPYRIGHT
index 43d70ed..825f062 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -1,5 +1,5 @@
Copyright (C) 2012-2013 Antoine Smolders.
-Copyright (C) 2010-2015 Nicolas Évrard.
+Copyright (C) 2010-2016 Nicolas Évrard.
Copyright (C) 2007-2016 Cédric Krier.
Copyright (C) 2007-2013 Bertrand Chenal.
Copyright (C) 2008-2016 B2CK SPRL.
diff --git a/PKG-INFO b/PKG-INFO
index 12aeb2f..1311a18 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: tryton
-Version: 3.6.8
+Version: 3.6.9
Summary: Tryton client
Home-page: http://www.tryton.org/
Author: Tryton
diff --git a/share/locale/bg_BG/LC_MESSAGES/tryton.mo b/share/locale/bg_BG/LC_MESSAGES/tryton.mo
index 3a4e2b5..90a3a2c 100644
Binary files a/share/locale/bg_BG/LC_MESSAGES/tryton.mo and b/share/locale/bg_BG/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/ca_ES/LC_MESSAGES/tryton.mo b/share/locale/ca_ES/LC_MESSAGES/tryton.mo
index c352df2..fa90b75 100644
Binary files a/share/locale/ca_ES/LC_MESSAGES/tryton.mo and b/share/locale/ca_ES/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/cs_CZ/LC_MESSAGES/tryton.mo b/share/locale/cs_CZ/LC_MESSAGES/tryton.mo
index 3ebd0c5..107d731 100644
Binary files a/share/locale/cs_CZ/LC_MESSAGES/tryton.mo and b/share/locale/cs_CZ/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/de_DE/LC_MESSAGES/tryton.mo b/share/locale/de_DE/LC_MESSAGES/tryton.mo
index 44044fd..604d960 100644
Binary files a/share/locale/de_DE/LC_MESSAGES/tryton.mo and b/share/locale/de_DE/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/es_AR/LC_MESSAGES/tryton.mo b/share/locale/es_AR/LC_MESSAGES/tryton.mo
index 39d73eb..687b683 100644
Binary files a/share/locale/es_AR/LC_MESSAGES/tryton.mo and b/share/locale/es_AR/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/es_CO/LC_MESSAGES/tryton.mo b/share/locale/es_CO/LC_MESSAGES/tryton.mo
index 4c6d6a7..409b945 100644
Binary files a/share/locale/es_CO/LC_MESSAGES/tryton.mo and b/share/locale/es_CO/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/es_EC/LC_MESSAGES/tryton.mo b/share/locale/es_EC/LC_MESSAGES/tryton.mo
index ceaadf4..2f1a6cd 100644
Binary files a/share/locale/es_EC/LC_MESSAGES/tryton.mo and b/share/locale/es_EC/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/es_ES/LC_MESSAGES/tryton.mo b/share/locale/es_ES/LC_MESSAGES/tryton.mo
index ed4c541..f7068be 100644
Binary files a/share/locale/es_ES/LC_MESSAGES/tryton.mo and b/share/locale/es_ES/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/fr_FR/LC_MESSAGES/tryton.mo b/share/locale/fr_FR/LC_MESSAGES/tryton.mo
index c4a32e9..f753a2e 100644
Binary files a/share/locale/fr_FR/LC_MESSAGES/tryton.mo and b/share/locale/fr_FR/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/ja_JP/LC_MESSAGES/tryton.mo b/share/locale/ja_JP/LC_MESSAGES/tryton.mo
index 7f92e03..86972f2 100644
Binary files a/share/locale/ja_JP/LC_MESSAGES/tryton.mo and b/share/locale/ja_JP/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/lt_LT/LC_MESSAGES/tryton.mo b/share/locale/lt_LT/LC_MESSAGES/tryton.mo
index df83ed4..278c540 100644
Binary files a/share/locale/lt_LT/LC_MESSAGES/tryton.mo and b/share/locale/lt_LT/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/nl_NL/LC_MESSAGES/tryton.mo b/share/locale/nl_NL/LC_MESSAGES/tryton.mo
index 4f77d83..fb49548 100644
Binary files a/share/locale/nl_NL/LC_MESSAGES/tryton.mo and b/share/locale/nl_NL/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/ru_RU/LC_MESSAGES/tryton.mo b/share/locale/ru_RU/LC_MESSAGES/tryton.mo
index 7097d27..17cc6aa 100644
Binary files a/share/locale/ru_RU/LC_MESSAGES/tryton.mo and b/share/locale/ru_RU/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/sl_SI/LC_MESSAGES/tryton.mo b/share/locale/sl_SI/LC_MESSAGES/tryton.mo
index 4bc61f1..fd54dd0 100644
Binary files a/share/locale/sl_SI/LC_MESSAGES/tryton.mo and b/share/locale/sl_SI/LC_MESSAGES/tryton.mo differ
diff --git a/tryton.egg-info/PKG-INFO b/tryton.egg-info/PKG-INFO
index 12aeb2f..1311a18 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.8
+Version: 3.6.9
Summary: Tryton client
Home-page: http://www.tryton.org/
Author: Tryton
diff --git a/tryton/__init__.py b/tryton/__init__.py
index fdb312d..82bfc0c 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.8"
+__version__ = "3.6.9"
diff --git a/tryton/common/common.py b/tryton/common/common.py
index ee2a494..26e7b79 100644
--- a/tryton/common/common.py
+++ b/tryton/common/common.py
@@ -1412,11 +1412,12 @@ def humanize(size):
def get_hostname(netloc):
if '[' in netloc and ']' in netloc:
- return netloc.split(']')[0][1:]
+ hostname = netloc.split(']')[0][1:]
elif ':' in netloc:
- return netloc.split(':')[0]
+ hostname = netloc.split(':')[0]
else:
- return netloc
+ hostname = netloc
+ return hostname.strip()
def get_port(netloc):
diff --git a/tryton/common/datetime_.py b/tryton/common/datetime_.py
index 3217def..b6d261f 100644
--- a/tryton/common/datetime_.py
+++ b/tryton/common/datetime_.py
@@ -21,8 +21,10 @@ _ = gettext.gettext
def date_parse(text, format_='%x'):
- dayfirst = datetime.date(1988, 8, 16).strftime(format_).index('16') == 0
- yearfirst = datetime.date(1988, 8, 16).strftime(format_).index('88') <= 2
+ formatted_date = datetime.date(1988, 7, 16).strftime(format_)
+ dayfirst = formatted_date.index('16') == 0
+ monthfirst = formatted_date.index('7') <= 1
+ yearfirst = not dayfirst and not monthfirst
return parse(text, dayfirst=dayfirst, yearfirst=yearfirst, ignoretz=True)
diff --git a/tryton/common/domain_parser.py b/tryton/common/domain_parser.py
index 03a754e..2e2208e 100644
--- a/tryton/common/domain_parser.py
+++ b/tryton/common/domain_parser.py
@@ -1025,6 +1025,8 @@ class DomainParser(object):
operator = None
name = value
value = ''
+ if not name:
+ name = ''
if (name.lower() not in self.strings
and name not in self.fields):
for field in self.strings.itervalues():
@@ -1455,3 +1457,18 @@ def test_parse_clause():
assert rlist(dom.parse_clause([('Many2One', None, ['John', 'Jane'])])) == [
('many2one.rec_name', 'in', ['John', 'Jane']),
]
+
+
+def test_completion():
+ dom = DomainParser({
+ 'name': {
+ 'string': 'Name',
+ 'name': 'name',
+ 'type': 'char',
+ },
+ })
+ assert list(dom.completion(u'Nam')) == ['Name: ']
+ assert list(dom.completion(u'Name:')) == ['Name: ']
+ assert list(dom.completion(u'Name: foo')) == []
+ assert list(dom.completion(u'Name: !=')) == []
+ assert list(dom.completion(u'Name: !=foo')) == []
diff --git a/tryton/gui/window/attachment.py b/tryton/gui/window/attachment.py
index 72aa578..6e563ea 100644
--- a/tryton/gui/window/attachment.py
+++ b/tryton/gui/window/attachment.py
@@ -4,6 +4,7 @@
import os
import urllib
import urlparse
+import sys
from tryton.gui.window.view_form.screen import Screen
from tryton.gui.window.win_form import WinForm
@@ -46,5 +47,6 @@ class Attachment(WinForm):
new_record = self.screen.new()
file_name = os.path.basename(urlparse.urlparse(uri).path)
name_field.set_client(new_record, file_name)
+ uri = uri.decode('utf-8').encode(sys.getfilesystemencoding())
data_field.set_client(new_record, urllib.urlopen(uri).read())
self.screen.display()
diff --git a/tryton/gui/window/form.py b/tryton/gui/window/form.py
index ca68ac1..0193601 100644
--- a/tryton/gui/window/form.py
+++ b/tryton/gui/window/form.py
@@ -350,7 +350,8 @@ class Form(SignalEvent, TabContent):
if widget:
# Called from button so we must save the tree state
self.screen.save_tree_state()
- if not common.MODELACCESS[self.model]['write']:
+ if not (common.MODELACCESS[self.model]['write']
+ or common.MODELACCESS[self.model]['create']):
return
if self.screen.save_current():
self.message_info(_('Record saved!'), 'green')
diff --git a/tryton/gui/window/view_board/action.py b/tryton/gui/window/view_board/action.py
index 23824bf..a813719 100644
--- a/tryton/gui/window/view_board/action.py
+++ b/tryton/gui/window/view_board/action.py
@@ -94,7 +94,8 @@ class Action(SignalEvent):
return
if (self.screen.current_view.view_type == 'tree' and
- self.screen.current_view.attributes.get('keyword_open')):
+ int(self.screen.current_view.attributes.get(
+ 'keyword_open', 0))):
GenericAction.exec_keyword('tree_open', {
'model': self.screen.model_name,
'id': self.screen.id_get(),
diff --git a/tryton/gui/window/view_form/model/field.py b/tryton/gui/window/view_form/model/field.py
index bd15eb6..636286f 100644
--- a/tryton/gui/window/view_form/model/field.py
+++ b/tryton/gui/window/view_form/model/field.py
@@ -388,6 +388,9 @@ class M2OField(Field):
_default = None
+ def _is_empty(self, record):
+ return self.get(record) is None
+
def get_client(self, record):
rec_name = record.value.get(self.name + '.rec_name')
if rec_name is None:
diff --git a/tryton/gui/window/view_form/model/group.py b/tryton/gui/window/view_form/model/group.py
index 2ba270c..9ccf4e8 100644
--- a/tryton/gui/window/view_form/model/group.py
+++ b/tryton/gui/window/view_form/model/group.py
@@ -44,7 +44,8 @@ class Group(SignalEvent, list):
def readonly(self):
# Must skip res.user for Preference windows
if (self._context.get('_datetime')
- or (not MODELACCESS[self.model_name]['write']
+ or (not (MODELACCESS[self.model_name]['write']
+ or MODELACCESS[self.model_name]['create'])
and not self.skip_model_access)):
return True
return self.__readonly
diff --git a/tryton/gui/window/view_form/screen/screen.py b/tryton/gui/window/view_form/screen/screen.py
index 61cee60..b968ff9 100644
--- a/tryton/gui/window/view_form/screen/screen.py
+++ b/tryton/gui/window/view_form/screen/screen.py
@@ -57,7 +57,8 @@ class Screen(SignalEvent):
super(Screen, self).__init__()
self.readonly = readonly
- if not MODELACCESS[model_name]['write']:
+ if not (MODELACCESS[model_name]['write']
+ or MODELACCESS[model_name]['create']):
self.readonly = True
self.search_count = 0
if not row_activate:
@@ -332,7 +333,7 @@ class Screen(SignalEvent):
def default_row_activate(self):
if (self.current_view.view_type == 'tree' and
- self.current_view.attributes.get('keyword_open')):
+ int(self.current_view.attributes.get('keyword_open', 0))):
return Action.exec_keyword('tree_open', {
'model': self.model_name,
'id': self.id_get(),
diff --git a/tryton/gui/window/view_form/view/calendar_gtk/calendar_.py b/tryton/gui/window/view_form/view/calendar_gtk/calendar_.py
index c408ef9..ecb46f9 100644
--- a/tryton/gui/window/view_form/view/calendar_gtk/calendar_.py
+++ b/tryton/gui/window/view_form/view/calendar_gtk/calendar_.py
@@ -79,8 +79,8 @@ class Calendar_(goocalendar.Calendar):
if not record[dtstart].get(record):
continue
- start = record[dtstart].get(record)
- end = record[dtend].get(record)
+ start = record[dtstart].get_client(record)
+ end = record[dtend].get_client(record)
midnight = datetime.time(0)
all_day = False
if not isinstance(start, datetime.datetime):
diff --git a/tryton/gui/window/view_form/view/form_gtk/widget.py b/tryton/gui/window/view_form/view/form_gtk/widget.py
index 0ec5b83..859c4f0 100644
--- a/tryton/gui/window/view_form/view/form_gtk/widget.py
+++ b/tryton/gui/window/view_form/view/form_gtk/widget.py
@@ -300,6 +300,7 @@ class TranslateMixin:
return button
def translate(self, *args):
+ self.view.set_value()
if self.record.id < 0 or self.record.modified:
common.message(
_('You need to save the record before adding translations!'))
--
tryton-client
More information about the tryton-debian-vcs
mailing list