[Erp5-report] r31527 fabien - /erp5/trunk/products/Formulator/Widget.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Dec 29 18:28:24 CET 2009
Author: fabien
Date: Tue Dec 29 18:28:24 2009
New Revision: 31527
URL: http://svn.erp5.org?rev=31527&view=rev
Log:
add render_odg for FloatWidget and MultiItemsWidget
Modified:
erp5/trunk/products/Formulator/Widget.py
Modified: erp5/trunk/products/Formulator/Widget.py
URL: http://svn.erp5.org/erp5/trunk/products/Formulator/Widget.py?rev=31527&r1=31526&r2=31527&view=diff
==============================================================================
--- erp5/trunk/products/Formulator/Widget.py [utf8] (original)
+++ erp5/trunk/products/Formulator/Widget.py [utf8] Tue Dec 29 18:28:24 2009
@@ -831,6 +831,36 @@
return ''
return string.join(self.render_items_view(field, value, REQUEST),
field.get_value('view_separator'))
+
+ def render_items_odf(self, field, value, REQUEST):
+ if type(value) is not type([]):
+ value = [value]
+
+ items = field.get_value('items',
+ REQUEST=REQUEST,
+ cell=getattr(REQUEST, 'cell', None))
+ d = {}
+ for item in items:
+ try:
+ item_text, item_value = item
+ except ValueError:
+ item_text = item
+ item_value = item
+ d[item_value] = item_text
+ result = []
+ for e in value:
+ result.append(d[e].replace('\xc2\xa0', ''))
+ return result
+
+ def render_odg(self, field, value, as_string, ooo_builder, REQUEST=None,
+ render_prefix=None, attr_dict=None):
+ if value is None:
+ return None
+ value_list = self.render_items_odf(field, value, REQUEST)
+ value = ', '.join(value_list).decode('utf-8')
+ return Widget.render_odg(self, field=field, value=value, as_string=as_string,
+ ooo_builder=ooo_builder, REQUEST=REQUEST, render_prefix=render_prefix,
+ attr_dict=attr_dict)
class ListWidget(SingleItemsWidget):
"""List widget.
@@ -1623,6 +1653,15 @@
return etree.tostring(text_node)
return text_node
+ def render_odg(self, field, value, as_string, ooo_builder, REQUEST,
+ render_prefix, attr_dict):
+ if attr_dict is None:
+ attr_dict = {}
+ value = field.render_pdf(value)
+ return Widget.render_odg(self, field=field, value=value, as_string=as_string,
+ ooo_builder=ooo_builder, REQUEST=REQUEST, render_prefix=render_prefix,
+ attr_dict=attr_dict)
+
FloatWidgetInstance = FloatWidget()
class LinkWidget(TextWidget):
More information about the Erp5-report
mailing list