[tryton-debian-vcs] tryton-server branch upstream updated. upstream/4.4.1-1-ga8efd52

Mathias Behrle tryton-debian-vcs at alioth.debian.org
Sun Jul 2 17:58:08 UTC 2017


The following commit has been merged in the upstream branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-server.git;a=commitdiff;h=upstream/4.4.1-1-ga8efd52

commit a8efd52c8f387e84fe732fa8d6da4da00618fbcb
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Sun Jul 2 16:49:50 2017 +0200

    Adding upstream version 4.4.2.
    
    Signed-off-by: Mathias Behrle <mathiasb at m9s.biz>

diff --git a/CHANGELOG b/CHANGELOG
index 9653a96..f912fe5 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 4.4.2 - 2017-07-01
+* Bug fixes (see mercurial logs for details)
+
 Version 4.4.1 - 2017-05-19
 * Bug fixes (see mercurial logs for details)
 
diff --git a/PKG-INFO b/PKG-INFO
index c2cdd26..0a92318 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: trytond
-Version: 4.4.1
+Version: 4.4.2
 Summary: Tryton server
 Home-page: http://www.tryton.org/
 Author: Tryton
diff --git a/bin/trytond-cron b/bin/trytond-cron
index e855d77..9be73f5 100755
--- a/bin/trytond-cron
+++ b/bin/trytond-cron
@@ -12,13 +12,15 @@ if os.path.isdir(DIR):
 
 import trytond.commandline as commandline
 from trytond.config import config
-import trytond.cron as cron
 
 parser = commandline.get_parser_daemon()
 options = parser.parse_args()
 config.update_etc(options.configfile)
 commandline.config_log(options)
 
+# Import after application is configured
+import trytond.cron as cron
+
 with commandline.pidfile(options):
     while True:
         cron.run(options)
diff --git a/setup.cfg b/setup.cfg
index 861a9f5..8bfd5a1 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,5 +1,4 @@
 [egg_info]
 tag_build = 
 tag_date = 0
-tag_svn_revision = 0
 
diff --git a/trytond.egg-info/PKG-INFO b/trytond.egg-info/PKG-INFO
index c2cdd26..0a92318 100644
--- a/trytond.egg-info/PKG-INFO
+++ b/trytond.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: trytond
-Version: 4.4.1
+Version: 4.4.2
 Summary: Tryton server
 Home-page: http://www.tryton.org/
 Author: Tryton
diff --git a/trytond/__init__.py b/trytond/__init__.py
index 846cedb..608a409 100644
--- a/trytond/__init__.py
+++ b/trytond/__init__.py
@@ -5,7 +5,7 @@ import time
 import warnings
 from email import charset
 
-__version__ = "4.4.1"
+__version__ = "4.4.2"
 
 os.environ['TZ'] = 'UTC'
 if hasattr(time, 'tzset'):
diff --git a/trytond/ir/action.py b/trytond/ir/action.py
index 1f3b6d1..e823c46 100644
--- a/trytond/ir/action.py
+++ b/trytond/ir/action.py
@@ -1017,6 +1017,25 @@ class ActionActWindowDomain(ModelSQL, ModelView):
                         'action': action.rec_name,
                         })
 
+    @classmethod
+    def create(cls, vlist):
+        pool = Pool()
+        domains = super(ActionActWindowDomain, cls).create(vlist)
+        pool.get('ir.action.keyword')._get_keyword_cache.clear()
+        return domains
+
+    @classmethod
+    def write(cls, domains, values, *args):
+        pool = Pool()
+        super(ActionActWindowDomain, cls).write(domains, values, *args)
+        pool.get('ir.action.keyword')._get_keyword_cache.clear()
+
+    @classmethod
+    def delete(cls, domains):
+        pool = Pool()
+        super(ActionActWindowDomain, cls).delete(domains)
+        pool.get('ir.action.keyword')._get_keyword_cache.clear()
+
 
 class ActionWizard(ActionMixin, ModelSQL, ModelView):
     "Action wizard"
diff --git a/trytond/ir/ui/menu.py b/trytond/ir/ui/menu.py
index 5a5a0e5..5a5e645 100644
--- a/trytond/ir/ui/menu.py
+++ b/trytond/ir/ui/menu.py
@@ -4,6 +4,7 @@ from itertools import groupby
 
 from trytond.model import ModelView, ModelSQL, fields, sequence_ordered
 from trytond.transaction import Transaction
+from trytond.tools import grouped_slice
 from trytond.pool import Pool
 from trytond.rpc import RPC
 
@@ -178,10 +179,12 @@ class UIMenu(sequence_ordered(), ModelSQL, ModelView):
             return menus
 
         if menus:
-            parent_ids = [x.parent.id for x in menus if x.parent]
-            parents = cls.search([
-                    ('id', 'in', parent_ids),
-                    ])
+            parent_ids = {x.parent.id for x in menus if x.parent}
+            parents = set()
+            for sub_parent_ids in grouped_slice(parent_ids):
+                parents.update(cls.search([
+                            ('id', 'in', list(sub_parent_ids)),
+                            ]))
             menus = [x for x in menus
                 if (x.parent and x.parent in parents) or not x.parent]
 
diff --git a/trytond/protocols/dispatcher.py b/trytond/protocols/dispatcher.py
index 055f84c..2d25add 100644
--- a/trytond/protocols/dispatcher.py
+++ b/trytond/protocols/dispatcher.py
@@ -144,8 +144,11 @@ def _dispatch(request, pool, *args, **kwargs):
             % (method, obj))
 
     log_message = '%s.%s(*%s, **%s) from %s@%s/%s'
-    log_args = (obj, method, args, kwargs,
-        request.authorization.username, request.remote_addr, request.path)
+    username = request.authorization.username
+    if isinstance(username, bytes):
+        username = username.decode('utf-8')
+    log_args = (
+        obj, method, args, kwargs, username, request.remote_addr, request.path)
     logger.info(log_message, *log_args)
 
     user = request.user_id
diff --git a/trytond/res/user.py b/trytond/res/user.py
index 8db9048..83a9539 100644
--- a/trytond/res/user.py
+++ b/trytond/res/user.py
@@ -544,7 +544,7 @@ class User(ModelSQL, ModelView):
         '''
         LoginAttempt = Pool().get('res.user.login.attempt')
         count = LoginAttempt.count(login)
-        if count > config.get('session', 'max_attempt', default=5):
+        if count > config.getint('session', 'max_attempt', default=5):
             LoginAttempt.add(login)
             raise RateLimitException()
         Transaction().atexit(time.sleep, 2 ** count - 1)
diff --git a/trytond/sendmail.py b/trytond/sendmail.py
index cdc5d6e..4a2a2db 100644
--- a/trytond/sendmail.py
+++ b/trytond/sendmail.py
@@ -33,8 +33,9 @@ def sendmail(from_addr, to_addrs, msg, server=None):
         senderrs = server.sendmail(from_addr, to_addrs, msg.as_string())
     except smtplib.SMTPException:
         logger.error('fail to send email', exc_info=True)
-    if senderrs:
-        logger.warn('fail to send email to %s', senderrs)
+    else:
+        if senderrs:
+            logger.warn('fail to send email to %s', senderrs)
     if quit:
         server.quit()
 
-- 
tryton-server



More information about the tryton-debian-vcs mailing list