[Erp5-report] r11307 - /erp5/trunk/products/ERP5Form/FormulatorPatch.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Nov 15 13:21:22 CET 2006
Author: jerome
Date: Wed Nov 15 13:21:19 2006
New Revision: 11307
URL: http://svn.erp5.org?rev=11307&view=rev
Log:
Implement render_pdf on Fields, for use in erp5_pdf_style
Modified:
erp5/trunk/products/ERP5Form/FormulatorPatch.py
Modified: erp5/trunk/products/ERP5Form/FormulatorPatch.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/FormulatorPatch.py?rev=11307&r1=11306&r2=11307&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/FormulatorPatch.py (original)
+++ erp5/trunk/products/ERP5Form/FormulatorPatch.py Wed Nov 15 13:21:19 2006
@@ -415,10 +415,9 @@
StringBaseValidator.validate = StringBaseValidator_validate
-def render_hidden(self, field, key, value, REQUEST):
+def Widget_render_hidden(self, field, key, value, REQUEST):
"""Renders this widget as a hidden field.
"""
- #LOG('render_hidden',0,str(value))
try:
extra = field.get_value('extra')
except KeyError:
@@ -442,7 +441,9 @@
extra=extra)
return result
-Widget.render_hidden = render_hidden
+Widget.render_hidden = Widget_render_hidden
+# default render_pdf for a Widget
+Widget.render_pdf = Widget.render_view
from Products.Formulator.Validator import LinesValidator
@@ -800,8 +801,8 @@
return date_result + ' ' + time_result
else:
return date_result
-
- def render_view(self, field, value):
+
+ def format_value(self, field, value, mode='html'):
if value is None:
return ''
@@ -831,14 +832,25 @@
else:
output = [year, month, day]
date_result = string.join(output, field.get_value('date_separator'))
+
+ if mode in ('html', ):
+ space = ' '
+ else:
+ space = ' '
if not field.get_value('date_only'):
time_result = hour + field.get_value('time_separator') + minute
if use_ampm:
- time_result += ' ' + ampm
- return date_result + ' ' + time_result
+ time_result += space + ampm
+ return date_result + (space * 3) + time_result
else:
return date_result
+
+ def render_view(self, field, value):
+ return self.format_value(field, value, mode='html')
+
+ def render_pdf(self, field, value):
+ return self.format_value(field, value, mode='pdf')
DateTimeField.widget = PatchedDateTimeWidget()
@@ -1045,6 +1057,9 @@
return TextWidgetInstance.render_view(field, value)
+ def render_pdf(self, field, value):
+ """Render the field as PDF."""
+ return self.format_value(field, value)
FloatWidgetInstance = FloatWidget()
from Products.Formulator.StandardFields import FloatField
@@ -1113,8 +1128,14 @@
# # Grid is only valid if stucture of grid has some meaning and is
# # implemeted by listbox (ex. spreadsheet = grid)
#
-# def render_pdf(self, field, key, value, REQUEST):
-# return 'whatever for reportlab'
+
+def Field_render_pdf(self, value=None, REQUEST=None, key=None, **kw):
+ """
+ render_pdf renders the field for reportlab
+ """
+ return self.widget.render_pdf(self, value)
+Field.render_pdf = Field_render_pdf
+
from Products.Formulator.TALESField import TALESWidget
def TALESWidget_render_view(self, field, value):
@@ -1131,4 +1152,3 @@
return text
TALESWidget.render_view = TALESWidget_render_view
-
More information about the Erp5-report
mailing list