diff --git a/fields/__init__.py b/fields/__init__.py index 2d90ae5..ac5f33d 100644 --- a/fields/__init__.py +++ b/fields/__init__.py @@ -62,7 +62,7 @@ class Field: rawValue=not isSearch and zobj.getFieldValue(name, \ layoutType=layoutType, outerValue=outerValue); value=not isSearch and \ - field.getFormattedValue(zobj, rawValue, showChanges); + field.getFormattedValue(zobj,rawValue,layoutType,showChanges); requestValue=not isSearch and zobj.getRequestFieldValue(name); inRequest=field.valueIsInRequest(zobj, req, name, layoutType); error=req.get('%s_error' % name); @@ -672,7 +672,8 @@ class Field: if this value is mutable, get a copy of it.''' return self.getValue(obj) - def getFormattedValue(self, obj, value, showChanges=False, language=None): + def getFormattedValue(self, obj, value, layoutType='view', + showChanges=False, language=None): '''p_value is a real p_obj(ect) value from a field from this type. This method returns a pretty, string-formatted version, for displaying purposes. Needs to be overridden by some child classes. If @@ -683,12 +684,13 @@ class Field: if self.isEmptyValue(obj, value): return '' return value - def getShownValue(self, obj, value, showChanges=False, language=None): + def getShownValue(self, obj, value, layoutType='view', + showChanges=False, language=None): '''Similar to m_getFormattedValue, but in some contexts, only a part of p_value must be shown. For example, sometimes we need to display only a language-specific part of a multilingual field (see overridden method in string.py).''' - return self.getFormattedValue(obj, value, showChanges, language) + return self.getFormattedValue(obj,value,layoutType,showChanges,language) def getXmlValue(self, obj, value): '''This method allows a developer to customize the value that will be diff --git a/fields/boolean.py b/fields/boolean.py index c4082c2..ebbcc30 100644 --- a/fields/boolean.py +++ b/fields/boolean.py @@ -117,7 +117,8 @@ class Boolean(Field): return '%s_%s' % (self.labelId, self.trueFalse[value]) return self.yesNo[value] - def getFormattedValue(self, obj, value, showChanges=False, language=None): + def getFormattedValue(self, obj, value, layoutType='view', + showChanges=False, language=None): return obj.translate(self.getValueLabel(value), language=language) def getStorableValue(self, obj, value): diff --git a/fields/computed.py b/fields/computed.py index e1bd0c8..3a7d48e 100644 --- a/fields/computed.py +++ b/fields/computed.py @@ -93,7 +93,8 @@ class Computed(Field): # self.method is a method that will return the field value return self.callMethod(obj, self.method, cache=False) - def getFormattedValue(self, obj, value, showChanges=False, language=None): + def getFormattedValue(self, obj, value, layoutType='view', + showChanges=False, language=None): if self.formatMethod: res = self.formatMethod(obj, value) else: diff --git a/fields/date.py b/fields/date.py index 03b7bc7..75001c4 100644 --- a/fields/date.py +++ b/fields/date.py @@ -230,7 +230,8 @@ class Date(Field): except DateTime.DateError, ValueError: return obj.translate('bad_date') - def getFormattedValue(self, obj, value, showChanges=False, language=None): + def getFormattedValue(self, obj, value, layoutType='view', + showChanges=False, language=None): if self.isEmptyValue(obj, value): return '' tool = obj.getTool().appy() # A problem may occur with some extreme year values. Replace the "year" diff --git a/fields/float.py b/fields/float.py index 7f88ae0..e977a08 100644 --- a/fields/float.py +++ b/fields/float.py @@ -82,7 +82,8 @@ class Float(Field): sheight, persist, view, xml) self.pythonType = float - def getFormattedValue(self, obj, value, showChanges=False, language=None): + def getFormattedValue(self, obj, value, layoutType='view', + showChanges=False, language=None): return sutils.formatNumber(value, sep=self.sep[0], precision=self.precision, tsep=self.tsep) diff --git a/fields/integer.py b/fields/integer.py index 653fec7..7369b89 100644 --- a/fields/integer.py +++ b/fields/integer.py @@ -71,7 +71,8 @@ class Integer(Field): def getStorableValue(self, obj, value): if not self.isEmptyValue(obj, value): return self.pythonType(value) - def getFormattedValue(self, obj, value, showChanges=False, language=None): + def getFormattedValue(self, obj, value, layoutType='view', + showChanges=False, language=None): if self.isEmptyValue(obj, value): return '' return str(value) # ------------------------------------------------------------------------------ diff --git a/fields/ref.py b/fields/ref.py index 6d77956..7735200 100644 --- a/fields/ref.py +++ b/fields/ref.py @@ -949,7 +949,8 @@ class Ref(Field): nb = req.has_key(key) and req[key] or req.get('startNumber', 0) return int(nb) - def getFormattedValue(self, obj, value, showChanges=False, language=None): + def getFormattedValue(self, obj, value, layoutType='view', + showChanges=False, language=None): return value def getIndexType(self): return 'ListIndex' diff --git a/fields/string.py b/fields/string.py index 6606dea..d6603bf 100644 --- a/fields/string.py +++ b/fields/string.py @@ -109,12 +109,11 @@ class String(Field): ::value ''') - # pxView part for format String.TEXT. + # pxView part for format String.TEXT pxViewText = Px(''' - - - ::zobj.formatText(value, format='html')''') + -::value''') - # pxView part for format String.XHTML. + # pxView part for format String.XHTML pxViewRich = Px('''
::value or '-'
@@ -188,7 +187,7 @@ class String(Field): mapping=field.getCaptchaChallenge(req.SESSION)) ''') - # pxEdit part for formats String.TEXT and String.XHTML. + # pxEdit part for formats String.TEXT and String.XHTML pxEditTextArea = Px('''