Your message dated Mon, 08 Oct 2012 20:26:03 +0100 with message-id <1349724363.11774.23.camel@jacala.jungle.funky-badger.org> and subject line Re: Bug#687625: pre-approve unblock: tryton-client/2.2.3-1 has caused the Debian Bug report #687625, regarding pre-approve unblock: tryton-client/2.2.3-1 to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@bugs.debian.org immediately.) -- 687625: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=687625 Debian Bug Tracking System Contact owner@bugs.debian.org with problems
--- Begin Message ---
- To: submit@bugs.debian.org
- Subject: pre-approve unblock: tryton-client/2.2.3-1
- From: Mathias Behrle <mathiasb@m9s.biz>
- Date: Fri, 14 Sep 2012 13:27:38 +0200
- Message-id: <20120914132738.3e4a0d28@obelix.mbehrle.de>
Package: release.debian.org Severity: normal User: release.debian.org@packages.debian.org Usertags: unblock Dear release managers, please approve the upload of tryton-client_2.2.3-1. The new version contains the upstream bug fix release [1]. The fixes are for * Fix wrong sorting to get lazy first * Use repr for faultCode in Fault.__repr__ * Fix test on legend graph attribute * get_toplevel_window should return only gtk.WINDOW_TOPLEVEL * set_value of M2O must simulate a focus-out in case it did not yet occur * Fix name of fields loaded from predefined export * Activate form buttons only when they are sensitive * Fix domain_inversion for comparison of datetime with None Mathias [1] http://news.tryton.org/2012/09/maintenance-releases-for-supported.html debdiff attached unblock: tryton-client/2.2.3-1diff -Nru tryton-client-2.2.2/CHANGELOG tryton-client-2.2.3/CHANGELOG --- tryton-client-2.2.2/CHANGELOG 2012-05-07 11:10:32.000000000 +0200 +++ tryton-client-2.2.3/CHANGELOG 2012-09-01 18:55:56.000000000 +0200 @@ -1,3 +1,6 @@ +Version 2.2.3 - 2012-09-01 +* Bug fixes (see mercurial logs for details) + Version 2.2.2 - 2012-05-07 * Bug fixes (see mercurial logs for details) diff -Nru tryton-client-2.2.2/debian/changelog tryton-client-2.2.3/debian/changelog --- tryton-client-2.2.2/debian/changelog 2012-06-30 17:24:56.000000000 +0200 +++ tryton-client-2.2.3/debian/changelog 2012-09-11 19:37:56.000000000 +0200 @@ -1,3 +1,9 @@ +tryton-client (2.2.3-1) unstable; urgency=low + + * Merging upstream version 2.2.3. + + -- Mathias Behrle <mathiasb@m9s.biz> Tue, 11 Sep 2012 19:37:56 +0200 + tryton-client (2.2.2-2) unstable; urgency=low * Updating maintainers field. diff -Nru tryton-client-2.2.2/PKG-INFO tryton-client-2.2.3/PKG-INFO --- tryton-client-2.2.2/PKG-INFO 2012-05-07 11:10:35.000000000 +0200 +++ tryton-client-2.2.3/PKG-INFO 2012-09-01 18:56:01.000000000 +0200 @@ -1,6 +1,6 @@ -Metadata-Version: 1.1 +Metadata-Version: 1.0 Name: tryton -Version: 2.2.2 +Version: 2.2.3 Summary: Tryton client Home-page: http://www.tryton.org/ Author: B2CK diff -Nru tryton-client-2.2.2/tryton/common/common.py tryton-client-2.2.3/tryton/common/common.py --- tryton-client-2.2.2/tryton/common/common.py 2012-04-23 18:28:30.000000000 +0200 +++ tryton-client-2.2.3/tryton/common/common.py 2012-07-30 11:05:49.000000000 +0200 @@ -243,7 +243,8 @@ def get_toplevel_window(): windows = [x for x in gtk.window_list_toplevels() - if x.window and x.props.visible] + if x.window and x.props.visible + and x.get_window_type() == gtk.WINDOW_TOPLEVEL] trans2windows = dict((x.get_transient_for(), x) for x in windows) for window in set(windows) - set(trans2windows.iterkeys()): return window diff -Nru tryton-client-2.2.2/tryton/common/domain_inversion.py tryton-client-2.2.3/tryton/common/domain_inversion.py --- tryton-client-2.2.2/tryton/common/domain_inversion.py 2011-12-25 14:51:07.000000000 +0100 +++ tryton-client-2.2.3/tryton/common/domain_inversion.py 2012-05-22 14:40:45.000000000 +0200 @@ -3,6 +3,7 @@ import operator import types +import datetime def in_(a, b): if isinstance(a, (list, tuple)): @@ -52,7 +53,18 @@ # We should consider that other domain inversion will set a correct # value to this field return True - return OPERATORS[operand](context[field], value) + context_field = context[field] + if isinstance(context_field, datetime.date) and not value: + if isinstance(context_field, datetime.datetime): + value = datetime.datetime.min + else: + value = datetime.date.min + if isinstance(value, datetime.date) and not context_field: + if isinstance(value, datetime.datetime): + context_field = datetime.datetime.min + else: + context_field = datetime.date.min + return OPERATORS[operand](context_field, value) def inverse_leaf(domain): if domain in ('AND', 'OR'): @@ -396,6 +408,15 @@ assert eval_domain(domain, {'x': 6}) assert not eval_domain(domain, {'x': 4}) + domain = [['x', '>', None]] + assert eval_domain(domain, {'x': datetime.date.today()}) + assert eval_domain(domain, {'x': datetime.datetime.now()}) + + domain = [['x', '<', datetime.date.today()]] + assert eval_domain(domain, {'x': None}) + domain = [['x', '<', datetime.datetime.now()]] + assert eval_domain(domain, {'x': None}) + domain = [['x', 'in', [3, 5]]] assert eval_domain(domain, {'x': 3}) assert not eval_domain(domain, {'x': 4}) diff -Nru tryton-client-2.2.2/tryton/gui/window/form.py tryton-client-2.2.3/tryton/gui/window/form.py --- tryton-client-2.2.2/tryton/gui/window/form.py 2012-04-23 18:28:30.000000000 +0200 +++ tryton-client-2.2.3/tryton/gui/window/form.py 2012-05-22 14:46:14.000000000 +0200 @@ -406,19 +406,24 @@ return True def sig_action(self, widget): - self.buttons['action'].props.active = True + if self.buttons['action'].props.sensitive: + self.buttons['action'].props.active = True def sig_print(self, widget): - self.buttons['print'].props.active = True + if self.buttons['print'].props.sensitive: + self.buttons['print'].props.active = True def sig_print_open(self, widget): - self.buttons['open'].props.active = True + if self.buttons['open'].props.sensitive: + self.buttons['open'].props.active = True def sig_print_email(self, widget): - self.buttons['email'].props.active = True + if self.buttons['email'].props.sensitive: + self.buttons['email'].props.active = True def sig_relate(self, widget): - self.buttons['relate'].props.active = True + if self.buttons['relate'].props.sensitive: + self.buttons['relate'].props.active = True def action_popup(self, widget): button, = widget.get_children() diff -Nru tryton-client-2.2.2/tryton/gui/window/view_form/view/form_gtk/many2one.py tryton-client-2.2.3/tryton/gui/window/view_form/view/form_gtk/many2one.py --- tryton-client-2.2.2/tryton/gui/window/view_form/view/form_gtk/many2one.py 2011-11-22 13:26:54.000000000 +0100 +++ tryton-client-2.2.3/tryton/gui/window/view_form/view/form_gtk/many2one.py 2012-07-10 16:12:14.000000000 +0200 @@ -83,7 +83,7 @@ def _color_widget(self): return self.wid_text - def sig_activate(self, widget, event=None, key_press=False): + def sig_activate(self, widget=None, event=None, key_press=False): if not self.focus_out: return if not self.field: @@ -93,7 +93,7 @@ self.focus_out = False if not value: - if not key_press and not event: + if not key_press and not event and widget: widget.emit_stop_by_name('activate') if not self._readonly and (self.wid_text.get_text() or \ (self.field.get_state_attrs( @@ -243,7 +243,8 @@ return False def set_value(self, record, field): - pass # No update of the model, the model is updated in real time ! + # Simulate a focus-out + self.sig_activate() def display(self, record, field): self.changed = False diff -Nru tryton-client-2.2.2/tryton/gui/window/view_form/view/form.py tryton-client-2.2.3/tryton/gui/window/view_form/view/form.py --- tryton-client-2.2.2/tryton/gui/window/view_form/view/form.py 2011-11-22 13:26:54.000000000 +0100 +++ tryton-client-2.2.3/tryton/gui/window/view_form/view/form.py 2012-08-26 15:44:38.000000000 +0200 @@ -106,7 +106,7 @@ # Get first the lazy one to reduce number of requests fields = [(name, field.attrs.get('loading', 'eager')) for name, field in record.group.fields.iteritems()] - fields.sort(key=operator.itemgetter(1)) + fields.sort(key=operator.itemgetter(1), reverse=True) for field, _ in fields: record[field].get(record, check_load=False) for name, widgets in self.widgets.iteritems(): diff -Nru tryton-client-2.2.2/tryton/gui/window/view_form/view/graph_gtk/graph.py tryton-client-2.2.3/tryton/gui/window/view_form/view/graph_gtk/graph.py --- tryton-client-2.2.2/tryton/gui/window/view_form/view/graph_gtk/graph.py 2011-11-22 13:26:54.000000000 +0100 +++ tryton-client-2.2.3/tryton/gui/window/view_form/view/graph_gtk/graph.py 2012-08-07 12:28:57.000000000 +0200 @@ -276,7 +276,7 @@ cr.restore() def drawLegend(self, cr, width, height): - if not self.attrs.get('legend', True): + if not int(self.attrs.get('legend', 1)): return padding = 4 diff -Nru tryton-client-2.2.2/tryton/gui/window/win_export.py tryton-client-2.2.3/tryton/gui/window/win_export.py --- tryton-client-2.2.2/tryton/gui/window/win_export.py 2012-04-23 18:28:30.000000000 +0200 +++ tryton-client-2.2.3/tryton/gui/window/win_export.py 2012-07-10 15:43:15.000000000 +0200 @@ -246,7 +246,8 @@ child = self.model1.iter_children(iter) if self.model1.get_value(child, 0) is None: prefix_field = self.model1.get_value(iter, 1) - name, model = self.fields[prefix_field] + _, model = self.fields[prefix_field] + name = self.fields_data[prefix_field]['string'] self.model_populate(self._get_fields(model), iter, prefix_field + '/', name + '/') self.model1.remove(child) diff -Nru tryton-client-2.2.2/tryton/jsonrpc.py tryton-client-2.2.3/tryton/jsonrpc.py --- tryton-client-2.2.2/tryton/jsonrpc.py 2012-04-23 18:28:30.000000000 +0200 +++ tryton-client-2.2.3/tryton/jsonrpc.py 2012-08-26 15:40:34.000000000 +0200 @@ -32,6 +32,11 @@ super(Fault, self).__init__(faultCode, faultString, **extra) self.args = faultString + def __repr__(self): + return ( + "<Fault %s: %s>" % + (repr(self.faultCode), repr(self.faultString)) + ) class ProtocolError(xmlrpclib.ProtocolError): pass diff -Nru tryton-client-2.2.2/tryton/version.py tryton-client-2.2.3/tryton/version.py --- tryton-client-2.2.2/tryton/version.py 2011-12-26 10:42:07.000000000 +0100 +++ tryton-client-2.2.3/tryton/version.py 2012-05-07 14:53:45.000000000 +0200 @@ -1,7 +1,7 @@ #This file is part of Tryton. The COPYRIGHT file at the top level of #this repository contains the full copyright notices and license terms. PACKAGE = "tryton" -VERSION = "2.2.2" +VERSION = "2.2.3" LICENSE = "GPL-3" WEBSITE = "http://www.tryton.org/" diff -Nru tryton-client-2.2.2/tryton.egg-info/PKG-INFO tryton-client-2.2.3/tryton.egg-info/PKG-INFO --- tryton-client-2.2.2/tryton.egg-info/PKG-INFO 2012-05-07 11:10:33.000000000 +0200 +++ tryton-client-2.2.3/tryton.egg-info/PKG-INFO 2012-09-01 18:55:59.000000000 +0200 @@ -1,6 +1,6 @@ -Metadata-Version: 1.1 +Metadata-Version: 1.0 Name: tryton -Version: 2.2.2 +Version: 2.2.3 Summary: Tryton client Home-page: http://www.tryton.org/ Author: B2CKAttachment: signature.asc
Description: PGP signature
--- End Message ---
--- Begin Message ---
- To: Mathias Behrle <mathiasb@m9s.biz>, 687625-done@bugs.debian.org
- Subject: Re: Bug#687625: pre-approve unblock: tryton-client/2.2.3-1
- From: "Adam D. Barratt" <adam@adam-barratt.org.uk>
- Date: Mon, 08 Oct 2012 20:26:03 +0100
- Message-id: <1349724363.11774.23.camel@jacala.jungle.funky-badger.org>
- In-reply-to: <[🔎] 20121008101450.5d9724ba@obelix.mbehrle.de>
- References: <20120914132738.3e4a0d28@obelix.mbehrle.de> <[🔎] 1349287790.21601.20.camel@jacala.jungle.funky-badger.org> <[🔎] 20121008101450.5d9724ba@obelix.mbehrle.de>
On Mon, 2012-10-08 at 10:14 +0200, Mathias Behrle wrote: > * Betr.: " Re: Bug#687625: pre-approve unblock: tryton-client/2.2.3-1" (Wed, 03 > Oct 2012 19:09:50 +0100): > > Please go ahead, and let us know once the package has been in unstable > > for a few days. > > Package was uploaded to unstable on 2012-10-05. Unblocked. Regards, Adam
--- End Message ---