Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package tryton for openSUSE:Factory checked in at 2024-07-02 18:19:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tryton (Old)
and /work/SRC/openSUSE:Factory/.tryton.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tryton"
Tue Jul 2 18:19:18 2024 rev:24 rq:1184806 version:6.0.40
Changes:
--------
--- /work/SRC/openSUSE:Factory/tryton/tryton.changes 2024-05-07 18:03:51.751507845 +0200
+++ /work/SRC/openSUSE:Factory/.tryton.new.18349/tryton.changes 2024-07-02 18:19:22.961858685 +0200
@@ -1,0 +2,5 @@
+Tue Jul 2 09:11:38 UTC 2024 - Axel Braun
+
+- Version 6.0.40 - Bugfix Release
+
+-------------------------------------------------------------------
Old:
----
tryton-6.0.39.tar.gz
New:
----
tryton-6.0.40.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tryton.spec ++++++
--- /var/tmp/diff_new_pack.BBrdZ3/_old 2024-07-02 18:19:24.161902593 +0200
+++ /var/tmp/diff_new_pack.BBrdZ3/_new 2024-07-02 18:19:24.161902593 +0200
@@ -30,7 +30,7 @@
Name: tryton
-Version: %{majorver}.39
+Version: %{majorver}.40
Release: 0
Summary: The client of the Tryton application platform
License: GPL-3.0-or-later
++++++ tryton-6.0.39.tar.gz -> tryton-6.0.40.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.39/CHANGELOG new/tryton-6.0.40/CHANGELOG
--- old/tryton-6.0.39/CHANGELOG 2024-05-01 11:18:44.000000000 +0200
+++ new/tryton-6.0.40/CHANGELOG 2024-07-01 18:03:18.000000000 +0200
@@ -1,4 +1,9 @@
+Version 6.0.40 - 2024-07-01
+---------------------------
+* Bug fixes (see mercurial logs for details)
+
+
Version 6.0.39 - 2024-05-01
---------------------------
* Bug fixes (see mercurial logs for details)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.39/PKG-INFO new/tryton-6.0.40/PKG-INFO
--- old/tryton-6.0.39/PKG-INFO 2024-05-01 11:18:48.061577800 +0200
+++ new/tryton-6.0.40/PKG-INFO 2024-07-01 18:03:22.196179400 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: tryton
-Version: 6.0.39
+Version: 6.0.40
Summary: Tryton desktop client
Home-page: http://www.tryton.org/
Download-URL: http://downloads.tryton.org/6.0/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.39/bin/tryton new/tryton-6.0.40/bin/tryton
--- old/tryton-6.0.39/bin/tryton 2024-03-28 17:16:57.000000000 +0100
+++ new/tryton-6.0.40/bin/tryton 2024-06-27 18:59:40.000000000 +0200
@@ -18,7 +18,8 @@
share = os.path.join(prefix, 'share')
os.environ['GTK_EXE_PREFIX'] = prefix
os.environ['GTK_DATA_PREFIX'] = prefix
- os.environ['EV_BACKENDS_DIR'] = prefix
+ os.environ['EV_BACKENDS_DIR'] = os.path.join(
+ prefix, 'lib', 'evince', '4', 'backends')
os.environ['XDG_DATA_DIRS'] = share
os.environ['GDK_PIXBUF_MODULE_FILE'] = os.path.join(
share, 'gtk-3.0', 'gdk-pixbuf.loaders')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.39/tryton/__init__.py new/tryton-6.0.40/tryton/__init__.py
--- old/tryton-6.0.39/tryton/__init__.py 2024-04-17 12:30:46.000000000 +0200
+++ new/tryton-6.0.40/tryton/__init__.py 2024-05-01 11:19:00.000000000 +0200
@@ -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__ = "6.0.39"
+__version__ = "6.0.40"
import gi
import locale
Binary files old/tryton-6.0.39/tryton/data/locale/bg/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/bg/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/ca/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/ca/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/cs/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/cs/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/de/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/de/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/es/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/es/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/es_419/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/es_419/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/et/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/et/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/fa/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/fa/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/fi/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/fi/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/fr/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/fr/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/hu/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/hu/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/id/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/id/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/it/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/it/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/lo/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/lo/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/lt/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/lt/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/nl/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/nl/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/pl/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/pl/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/pt/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/pt/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/ro/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/ro/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/ru/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/ru/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/sl/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/sl/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/tr/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/tr/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.39/tryton/gui/window/view_form/model/field.py new/tryton-6.0.40/tryton/gui/window/view_form/model/field.py
--- old/tryton-6.0.39/tryton/gui/window/view_form/model/field.py 2024-01-08 11:49:20.000000000 +0100
+++ new/tryton-6.0.40/tryton/gui/window/view_form/model/field.py 2024-06-27 18:58:48.000000000 +0200
@@ -15,6 +15,7 @@
import decimal
from decimal import Decimal
import math
+from pathlib import Path
from tryton.common import RPCExecute, RPCException
from tryton.common.htmltextbuffer import guess_decode
from tryton.pyson import PYSONDecoder
@@ -993,26 +994,56 @@
class _FileCache(object):
- def __init__(self, path):
- self.path = path
+ def __init__(self, data=None):
+ _, filename = tempfile.mkstemp(prefix='tryton_')
+ self.path = Path(filename)
+ self.suffixes = {}
+ if data:
+ with open(self.path, 'wb') as fp:
+ fp.write(data)
+
+ @property
+ def data(self):
+ with open(self.path, 'rb') as fp:
+ return fp.read()
def __del__(self):
try:
os.remove(self.path)
except IOError:
pass
+ for path in self.suffixes.values():
+ try:
+ os.remove(path)
+ except IOError:
+ pass
+
+ def with_suffix(self, suffix):
+ if suffix in self.suffixes:
+ return self.suffixes[suffix]
+ _, filename = tempfile.mkstemp(prefix='tryton_', suffix=suffix)
+ self.suffixes[suffix] = path = Path(filename)
+ with open(path, 'wb') as fp:
+ fp.write(self.data)
+ return path
class BinaryField(Field):
_default = None
+ def _set_file_cache(self, record, data):
+ if isinstance(data, str):
+ data = data.encode('utf-8')
+ file_cache = _FileCache(data)
+ self.set(record, file_cache)
+ return file_cache
+
def get(self, record):
result = record.value.get(self.name, self._default)
if isinstance(result, _FileCache):
try:
- with open(result.path, 'rb') as fp:
- result = fp.read()
+ result = result.data
except IOError:
result = self.get_data(record)
return result
@@ -1021,13 +1052,7 @@
return self.get(record)
def set_client(self, record, value, force_change=False):
- _, filename = tempfile.mkstemp(prefix='tryton_')
- data = value or b''
- if isinstance(data, str):
- data = data.encode('utf-8')
- with open(filename, 'wb') as fp:
- fp.write(data)
- self.set(record, _FileCache(filename))
+ self._set_file_cache(record, value or b'')
record.modified_fields.setdefault(self.name)
record.signal('record-modified')
self.sig_changed(record)
@@ -1053,15 +1078,20 @@
[record.id], [self.name], context=context)
except RPCException:
return b''
- _, filename = tempfile.mkstemp(prefix='tryton_')
- data = values[self.name] or b''
- if isinstance(data, str):
- data = data.encode('utf-8')
- with open(filename, 'wb') as fp:
- fp.write(data)
- self.set(record, _FileCache(filename))
+ self._set_file_cache(record, values[self.name] or b'')
return self.get(record)
+ def get_filename(self, record, suffix=None):
+ data = self.get_data(record)
+ file_cache = record.value.get(self.name)
+ if not isinstance(file_cache, _FileCache):
+ file_cache = self._set_file_cache(record, data)
+ if suffix:
+ filename = file_cache.with_suffix(suffix)
+ else:
+ filename = file_cache.path
+ return filename
+
class DictField(Field):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.39/tryton/gui/window/view_form/view/calendar_gtk/calendar_.py new/tryton-6.0.40/tryton/gui/window/view_form/view/calendar_gtk/calendar_.py
--- old/tryton-6.0.39/tryton/gui/window/view_form/view/calendar_gtk/calendar_.py 2023-05-17 23:03:30.000000000 +0200
+++ new/tryton-6.0.40/tryton/gui/window/view_form/view/calendar_gtk/calendar_.py 2024-06-27 18:49:48.000000000 +0200
@@ -65,13 +65,18 @@
self.current_domain_period.get_dates(True)
dtstart = self.attrs['dtstart']
dtend = self.attrs.get('dtend') or dtstart
- domain = ['OR',
- ['AND', (dtstart, '>=', first_datetime),
- (dtstart, '<', last_datetime)],
- ['AND', (dtend, '>=', first_datetime),
- (dtend, '<', last_datetime)],
- ['AND', (dtstart, '<', first_datetime),
- (dtend, '>', last_datetime)]]
+ domain = [
+ (dtstart, '!=', None),
+ (dtend, '!=', None),
+ ['OR',
+ ['AND', (dtstart, '>=', first_datetime),
+ (dtstart, '<', last_datetime)],
+ ['AND', (dtend, '>=', first_datetime),
+ (dtend, '<', last_datetime)],
+ ['AND', (dtstart, '<', first_datetime),
+ (dtend, '>', last_datetime)],
+ ],
+ ]
return domain
def get_colors(self, record):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.39/tryton/gui/window/view_form/view/form_gtk/document.py new/tryton-6.0.40/tryton/gui/window/view_form/view/form_gtk/document.py
--- old/tryton-6.0.39/tryton/gui/window/view_form/view/form_gtk/document.py 2023-05-17 23:03:30.000000000 +0200
+++ new/tryton-6.0.40/tryton/gui/window/view_form/view/form_gtk/document.py 2024-06-27 18:56:30.000000000 +0200
@@ -1,7 +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.
from pathlib import Path
-from tempfile import NamedTemporaryFile
from gi.repository import Gtk, Gdk, GLib
try:
@@ -75,17 +74,17 @@
self.image.hide()
if self.evince_view:
self.evince_scroll.show()
+ suffix = None
if self.filename_field:
- suffix = self.filename_field.get(self.record)
- else:
- suffix = None
+ filename = self.filename_field.get(self.record)
+ if filename:
+ suffix = Path(filename).suffix
+ filename = Path(self.field.get_filename(self.record, suffix))
try:
- with NamedTemporaryFile(suffix=suffix) as fp:
- fp.write(data)
- path = Path(fp.name)
- document = (
- EvinceDocument.Document.factory_get_document(
- path.as_uri()))
+ document = (
+ EvinceDocument.Document.factory_get_document_full(
+ filename.as_uri(),
+ EvinceDocument.DocumentLoadFlags.NONE))
model = EvinceView.DocumentModel()
model.set_document(document)
self.evince_view.set_model(model)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.39/tryton/gui/window/win_form.py new/tryton-6.0.40/tryton/gui/window/win_form.py
--- old/tryton-6.0.39/tryton/gui/window/win_form.py 2024-04-13 00:41:05.000000000 +0200
+++ new/tryton-6.0.40/tryton/gui/window/win_form.py 2024-06-27 19:07:40.000000000 +0200
@@ -68,7 +68,7 @@
self.accel_group = Gtk.AccelGroup()
self.win.add_accel_group(self.accel_group)
- readonly = self.screen.readonly or self.screen.group.readonly
+ readonly = self.screen.group.readonly
self.but_ok = None
self.but_new = None
@@ -355,7 +355,7 @@
deletable = True
if screen.current_record:
deletable = screen.current_record.deletable
- readonly = self.screen.readonly or self.screen.group.readonly
+ readonly = self.screen.group.readonly
if signal_data[0] >= 1:
name = str(signal_data[0])
if self.domain is not None:
@@ -368,9 +368,11 @@
self.but_pre.set_sensitive(True)
else:
self.but_pre.set_sensitive(False)
- if access['delete'] and not readonly and deletable:
- self.but_del.set_sensitive(True)
- self.but_undel.set_sensitive(True)
+ self.but_del.set_sensitive(bool(
+ not readonly
+ and access['delete']
+ and deletable))
+ self.but_undel.set_sensitive(bool(not readonly))
else:
self.but_del.set_sensitive(False)
self.but_undel.set_sensitive(False)
@@ -399,7 +401,7 @@
cancel_responses = [
Gtk.ResponseType.CANCEL, Gtk.ResponseType.DELETE_EVENT]
self.screen.current_view.set_value()
- readonly = self.screen.readonly or self.screen.group.readonly
+ readonly = self.screen.group.readonly
if (response_id not in cancel_responses
and not readonly
and self.screen.current_record is not None):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.39/tryton.egg-info/PKG-INFO new/tryton-6.0.40/tryton.egg-info/PKG-INFO
--- old/tryton-6.0.39/tryton.egg-info/PKG-INFO 2024-05-01 11:18:47.000000000 +0200
+++ new/tryton-6.0.40/tryton.egg-info/PKG-INFO 2024-07-01 18:03:21.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: tryton
-Version: 6.0.39
+Version: 6.0.40
Summary: Tryton desktop client
Home-page: http://www.tryton.org/
Download-URL: http://downloads.tryton.org/6.0/