From 5eda7ef9c76be8d81267b0c30ad0167138939e91 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Thu, 8 Mar 2012 15:29:40 +0100 Subject: [PATCH 1/2] show name of track if title is empty --- organize/tracking/browser.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/organize/tracking/browser.py b/organize/tracking/browser.py index f5743ea..9f33af1 100644 --- a/organize/tracking/browser.py +++ b/organize/tracking/browser.py @@ -49,7 +49,7 @@ class BaseTrackView(TrackView): task = self.task if task is None: return self.metadata['taskId'] - return getattr(task, 'title', getName(task)) + return getattr(task, 'title', None) or getName(task) @Lazy def taskUrl(self): From 6e7219bdced62600a3433e5d1102db634914015d Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Thu, 8 Mar 2012 15:30:01 +0100 Subject: [PATCH 2/2] provide decimal field with locale-dependent formatting --- expert/field.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/expert/field.py b/expert/field.py index 7c50b60..5664c54 100644 --- a/expert/field.py +++ b/expert/field.py @@ -39,6 +39,25 @@ class TextField(Field): return row.parent.context.view.renderText(value, self.format) +class DecimalField(Field): + + format = '###,###,##0.##' + + def getDisplayValue(self, row): + value = self.getRawValue(row) + if not value: + return u'' + if not isinstance(value, float): + value = float(value) + nv = row.parent.context.view.nodeView + langInfo = nv and getattr(nv, 'languageInfo', None) or None + if langInfo: + locale = locales.getLocale(langInfo.language) + fmt = locale.numbers.getFormatter('decimal') + return fmt.format(value) + return '%.2f' % value + + class DateField(Field): format = ('date', 'short')