From 51e6b120327d5cb8e255fc78f95df2b17f0131de Mon Sep 17 00:00:00 2001 From: hplattner Date: Thu, 11 Oct 2012 10:26:30 +0200 Subject: [PATCH 1/4] add pydevproject files to gitignore --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index 3bec50f..8263b7a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,6 @@ *.pyc ajax/dojo/* +.project +.pydevproject +.settings + From 9e8ba764613d422a10db86f62462f2528bf1c907 Mon Sep 17 00:00:00 2001 From: hplattner Date: Mon, 14 Jan 2013 12:05:29 +0100 Subject: [PATCH 2/4] fix: browserView getData setting for boolean field --- composer/schema/field.py | 2 +- composer/schema/instance.py | 2 +- util/date.py | 11 +++++++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/composer/schema/field.py b/composer/schema/field.py index e000e02..cc9dd58 100644 --- a/composer/schema/field.py +++ b/composer/schema/field.py @@ -334,7 +334,7 @@ class EmailFieldInstance(FieldInstance): class BooleanFieldInstance(FieldInstance): def marshall(self, value): - return value + return bool(value) def display(self, value): #return value and _(u'Yes') or _(u'No') diff --git a/composer/schema/instance.py b/composer/schema/instance.py index 1c5ffbf..125fffa 100644 --- a/composer/schema/instance.py +++ b/composer/schema/instance.py @@ -55,7 +55,7 @@ class Instance(BaseInstance): fi = f.getFieldInstance(self, context=kw.get('context'), request=kw.get('request')) name = f.name - value = getattr(self.context, name) or fi.default + value = getattr(self.context, name, fi.default) if mode in ('view', 'preview'): value = fi.display(value) else: diff --git a/util/date.py b/util/date.py index 0d112a7..74012a1 100644 --- a/util/date.py +++ b/util/date.py @@ -65,3 +65,14 @@ def year(d=None): if d is None: d = datetime.today() return d.year + +def month(d=None): + if d is None: + d = datetime.today() + return d.month + +def day(d=None): + if d is None: + d = datetime.today() + return d.day + From 953df5a3be512c1ab647bf198311c18f8d2ec43d Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Fri, 20 Dec 2013 10:23:38 +0100 Subject: [PATCH 3/4] revert accedentially pulled obsolete change from 2013-01 --- composer/schema/instance.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer/schema/instance.py b/composer/schema/instance.py index f95cc62..11d2718 100644 --- a/composer/schema/instance.py +++ b/composer/schema/instance.py @@ -53,7 +53,7 @@ class Instance(BaseInstance): fi = f.getFieldInstance(self, context=kw.get('context'), request=kw.get('request')) name = f.name - value = getattr(self.context, name, fi.default) + value = getattr(self.context, name) or fi.default if mode in ('view', 'preview'): value = fi.display(value) else: From 5ba1f5cbddd86e732b088e169ab3a2d27c895a09 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Thu, 2 Jan 2014 17:30:57 +0100 Subject: [PATCH 4/4] round value before formatting in order to avoid zope.i18n formatter bug --- util/format.py | 5 ++++- util/format.txt | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/util/format.py b/util/format.py index 1299778..43c58c9 100644 --- a/util/format.py +++ b/util/format.py @@ -50,9 +50,12 @@ def formatDate(dt=None, type='date', variant='medium', lang='de'): return fmt.format(dt or datetime.now()) -def formatNumber(num, type='decimal', lang='de', pattern=u'#,##0.00;-#,##0.00'): +def formatNumber(num, type='decimal', lang='de', + pattern=u'#,##0.00;-#,##0.00', precision=2): loc = locales.getLocale(lang) fmt = loc.numbers.getFormatter(type) + if precision: + num = round(num, precision) # avoid zope.i18n formatting bug return fmt.format(num, pattern=pattern) diff --git a/util/format.txt b/util/format.txt index b96450a..cfab90f 100644 --- a/util/format.txt +++ b/util/format.txt @@ -15,3 +15,5 @@ Basic Formatting Functions >>> format.formatNumber(17.2) u'17,20' + >>> format.formatNumber(13399.99999997) + u'13.400,00'