Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package tryton for openSUSE:Factory checked 
in at 2025-12-22 22:49:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tryton (Old)
 and      /work/SRC/openSUSE:Factory/.tryton.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "tryton"

Mon Dec 22 22:49:15 2025 rev:32 rq:1323912 version:7.0.31

Changes:
--------
--- /work/SRC/openSUSE:Factory/tryton/tryton.changes    2025-11-24 
14:13:51.761066584 +0100
+++ /work/SRC/openSUSE:Factory/.tryton.new.1928/tryton.changes  2025-12-22 
22:51:31.962692036 +0100
@@ -1,0 +2,5 @@
+Sun Dec 21 11:01:49 UTC 2025 - Axel Braun <[email protected]>
+
+- Version 7.0.31 - Bugfix Release
+
+-------------------------------------------------------------------

Old:
----
  tryton-7.0.29.tar.gz

New:
----
  tryton-7.0.31.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ tryton.spec ++++++
--- /var/tmp/diff_new_pack.HmCuhJ/_old  2025-12-22 22:51:32.738724009 +0100
+++ /var/tmp/diff_new_pack.HmCuhJ/_new  2025-12-22 22:51:32.742724173 +0100
@@ -30,7 +30,7 @@
 
 
 Name:           tryton
-Version:        %{majorver}.29
+Version:        %{majorver}.31
 Release:        0
 Summary:        The client of the Tryton application platform
 License:        GPL-3.0-or-later

++++++ tryton-7.0.29.tar.gz -> tryton-7.0.31.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tryton-7.0.29/CHANGELOG new/tryton-7.0.31/CHANGELOG
--- old/tryton-7.0.29/CHANGELOG 2025-11-21 08:31:39.000000000 +0100
+++ new/tryton-7.0.31/CHANGELOG 2025-12-20 21:12:13.000000000 +0100
@@ -1,4 +1,14 @@
 
+Version 7.0.31 - 2025-12-20
+---------------------------
+* Bug fixes (see mercurial logs for details)
+
+
+Version 7.0.30 - 2025-12-17
+---------------------------
+* Bug fixes (see mercurial logs for details)
+
+
 Version 7.0.29 - 2025-11-21
 ---------------------------
 * Bug fixes (see mercurial logs for details)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tryton-7.0.29/PKG-INFO new/tryton-7.0.31/PKG-INFO
--- old/tryton-7.0.29/PKG-INFO  2025-11-21 08:31:43.524661500 +0100
+++ new/tryton-7.0.31/PKG-INFO  2025-12-20 21:12:16.650651700 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: tryton
-Version: 7.0.29
+Version: 7.0.31
 Summary: Tryton desktop client
 Home-page: http://www.tryton.org/
 Download-URL: http://downloads.tryton.org/7.0/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tryton-7.0.29/tryton/__init__.py 
new/tryton-7.0.31/tryton/__init__.py
--- old/tryton-7.0.29/tryton/__init__.py        2025-11-02 17:01:16.000000000 
+0100
+++ new/tryton-7.0.31/tryton/__init__.py        2025-12-17 19:15:03.000000000 
+0100
@@ -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.
-__version__ = "7.0.29"
+__version__ = "7.0.31"
 import locale
 
 import gi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tryton-7.0.29/tryton/common/common.py 
new/tryton-7.0.31/tryton/common/common.py
--- old/tryton-7.0.29/tryton/common/common.py   2025-09-22 21:34:39.000000000 
+0200
+++ new/tryton-7.0.31/tryton/common/common.py   2025-12-14 17:54:15.000000000 
+0100
@@ -145,6 +145,10 @@
                 ET.register_namespace('', 'http://www.w3.org/2000/svg')
                 root = ET.fromstring(data)
                 root.attrib['fill'] = color
+                if view_box := root.attrib.get('viewBox'):
+                    min_x, min_y, width, height = map(
+                        float, view_box.split(' '))
+                    factor = max(width, height) / 24
                 if badge:
                     if not isinstance(badge, str):
                         try:
@@ -152,9 +156,9 @@
                         except IndexError:
                             badge = color
                     ET.SubElement(root, 'circle', {
-                            'cx': '20',
-                            'cy': '4',
-                            'r': '4',
+                            'cx': str(20 * factor + min_x),
+                            'cy': str(4 * factor + min_y),
+                            'r': str(4 * factor),
                             'fill': badge,
                             })
                 data = ET.tostring(root)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tryton-7.0.29/tryton/common/domain_parser.py 
new/tryton-7.0.31/tryton/common/domain_parser.py
--- old/tryton-7.0.29/tryton/common/domain_parser.py    2025-09-22 
21:34:39.000000000 +0200
+++ new/tryton-7.0.31/tryton/common/domain_parser.py    2025-12-14 
21:30:28.000000000 +0100
@@ -363,7 +363,7 @@
         if not target:
             return format_selection()
         selections = dict(field['selection'])
-        return '%s,%s' % (selections.get(target, target), value)
+        return '%s,%s' % (selections.get(target, target), value or '')
 
     def format_datetime():
         if not value:
@@ -619,10 +619,11 @@
                     or clause[0] in ('AND', 'OR')):
                 return '(%s)' % self.string(clause)
             name, operator, value = clause[:3]
-            if name.endswith('.rec_name'):
+            if (name.endswith('.rec_name')
+                    and (value or len(clause) > 3)):
                 name = name[:-9]
             if name not in self.fields:
-                if is_full_text(value):
+                if value is not None and is_full_text(value):
                     value = value[1:-1]
                 return quote(value)
             field = self.fields[name]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tryton-7.0.29/tryton/common/popup_menu.py 
new/tryton-7.0.31/tryton/common/popup_menu.py
--- old/tryton-7.0.29/tryton/common/popup_menu.py       2025-09-22 
21:34:39.000000000 +0200
+++ new/tryton-7.0.31/tryton/common/popup_menu.py       2025-12-14 
17:41:48.000000000 +0100
@@ -81,9 +81,10 @@
             template=template)
 
     def edit(menuitem):
+        view_ids = field.attrs.get('view_ids', '').split(',')
         with Window(hide_current=True, allow_similar=True):
             Window.create(model,
-                view_ids=field.attrs.get('view_ids', '').split(','),
+                view_ids=view_ids[1:],
                 res_id=id_(record),
                 mode=['form'],
                 name=field.attrs.get('string'),
Binary files old/tryton-7.0.29/tryton/data/locale/bg/LC_MESSAGES/tryton.mo and 
new/tryton-7.0.31/tryton/data/locale/bg/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/ca/LC_MESSAGES/tryton.mo and 
new/tryton-7.0.31/tryton/data/locale/ca/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/cs/LC_MESSAGES/tryton.mo and 
new/tryton-7.0.31/tryton/data/locale/cs/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/de/LC_MESSAGES/tryton.mo and 
new/tryton-7.0.31/tryton/data/locale/de/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/es/LC_MESSAGES/tryton.mo and 
new/tryton-7.0.31/tryton/data/locale/es/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/es_419/LC_MESSAGES/tryton.mo 
and new/tryton-7.0.31/tryton/data/locale/es_419/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/et/LC_MESSAGES/tryton.mo and 
new/tryton-7.0.31/tryton/data/locale/et/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/fa/LC_MESSAGES/tryton.mo and 
new/tryton-7.0.31/tryton/data/locale/fa/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/fi/LC_MESSAGES/tryton.mo and 
new/tryton-7.0.31/tryton/data/locale/fi/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/fr/LC_MESSAGES/tryton.mo and 
new/tryton-7.0.31/tryton/data/locale/fr/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/hu/LC_MESSAGES/tryton.mo and 
new/tryton-7.0.31/tryton/data/locale/hu/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/id/LC_MESSAGES/tryton.mo and 
new/tryton-7.0.31/tryton/data/locale/id/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/it/LC_MESSAGES/tryton.mo and 
new/tryton-7.0.31/tryton/data/locale/it/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo 
and new/tryton-7.0.31/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/lo/LC_MESSAGES/tryton.mo and 
new/tryton-7.0.31/tryton/data/locale/lo/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/lt/LC_MESSAGES/tryton.mo and 
new/tryton-7.0.31/tryton/data/locale/lt/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/nl/LC_MESSAGES/tryton.mo and 
new/tryton-7.0.31/tryton/data/locale/nl/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/pl/LC_MESSAGES/tryton.mo and 
new/tryton-7.0.31/tryton/data/locale/pl/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/pt/LC_MESSAGES/tryton.mo and 
new/tryton-7.0.31/tryton/data/locale/pt/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/ro/LC_MESSAGES/tryton.mo and 
new/tryton-7.0.31/tryton/data/locale/ro/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/ru/LC_MESSAGES/tryton.mo and 
new/tryton-7.0.31/tryton/data/locale/ru/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/sl/LC_MESSAGES/tryton.mo and 
new/tryton-7.0.31/tryton/data/locale/sl/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/tr/LC_MESSAGES/tryton.mo and 
new/tryton-7.0.31/tryton/data/locale/tr/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/uk/LC_MESSAGES/tryton.mo and 
new/tryton-7.0.31/tryton/data/locale/uk/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-7.0.29/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo 
and new/tryton-7.0.31/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tryton-7.0.29/tryton/gui/window/form.py 
new/tryton-7.0.31/tryton/gui/window/form.py
--- old/tryton-7.0.29/tryton/gui/window/form.py 2025-09-22 21:34:39.000000000 
+0200
+++ new/tryton-7.0.31/tryton/gui/window/form.py 2025-12-20 21:10:28.000000000 
+0100
@@ -582,6 +582,7 @@
         has_views = self.screen.number_of_views > 1
         if selected > 1:
             name += '#%i' % selected
+        sensitive = record_id >= 0 if record_id is not None else False
         for button_id in ['print', 'relate', 'email', 'open', 'attach']:
             button = self.buttons[button_id]
             can_be_sensitive = getattr(button, '_can_be_sensitive', True)
@@ -592,7 +593,7 @@
                 can_be_sensitive |= any(
                     b.attrs.get('keyword', 'action') == action_type
                     for b in self.screen.get_buttons())
-            set_sensitive(button_id, bool(position) and can_be_sensitive)
+            set_sensitive(button_id, sensitive and can_be_sensitive)
         set_sensitive(
             'switch',
             (position or view_type == 'form' or next_view_type != 'form')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/tryton-7.0.29/tryton/gui/window/view_form/view/form_gtk/float.py 
new/tryton-7.0.31/tryton/gui/window/view_form/view/form_gtk/float.py
--- old/tryton-7.0.29/tryton/gui/window/view_form/view/form_gtk/float.py        
2025-09-22 21:34:39.000000000 +0200
+++ new/tryton-7.0.31/tryton/gui/window/view_form/view/form_gtk/float.py        
2025-12-14 17:38:22.000000000 +0100
@@ -14,7 +14,7 @@
     @property
     def width(self):
         digits = self.digits
-        if digits:
+        if digits and all(d is not None for d in digits):
             return sum(digits)
         else:
             return self.attrs.get('width', 18)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/tryton-7.0.29/tryton/tests/test_common_domain_parser.py 
new/tryton-7.0.31/tryton/tests/test_common_domain_parser.py
--- old/tryton-7.0.29/tryton/tests/test_common_domain_parser.py 2025-09-22 
21:34:39.000000000 +0200
+++ new/tryton-7.0.31/tryton/tests/test_common_domain_parser.py 2025-12-14 
18:09:17.000000000 +0100
@@ -769,6 +769,9 @@
             dom.string([('reference.rec_name', 'ilike', '%bar%', 'spam')]),
             'Reference: Spam,bar')
         self.assertEqual(
+            dom.string([('reference.rec_name', '=', None, 'spam')]),
+            "Reference: =Spam,")
+        self.assertEqual(
             dom.string([('reference', 'in', ['foo', 'bar'])]),
             'Reference: foo;bar')
         self.assertEqual(
@@ -1082,6 +1085,10 @@
                 ('reference.rec_name', 'ilike', '%bar%', 'spam'),
                 ])
         self.assertEqual(
+            rlist(dom.parse_clause([('Reference', None, 'Spam,')])), [
+                ('reference.rec_name', 'ilike', '%', 'spam'),
+                ])
+        self.assertEqual(
             rlist(dom.parse_clause([('Reference', None, ['foo', 'bar'])])), [
                 ('reference', 'in', ['foo', 'bar']),
                 ])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tryton-7.0.29/tryton.egg-info/PKG-INFO 
new/tryton-7.0.31/tryton.egg-info/PKG-INFO
--- old/tryton-7.0.29/tryton.egg-info/PKG-INFO  2025-11-21 08:31:42.000000000 
+0100
+++ new/tryton-7.0.31/tryton.egg-info/PKG-INFO  2025-12-20 21:12:16.000000000 
+0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: tryton
-Version: 7.0.29
+Version: 7.0.31
 Summary: Tryton desktop client
 Home-page: http://www.tryton.org/
 Download-URL: http://downloads.tryton.org/7.0/

Reply via email to