[Erp5-report] r31211 fabien - /erp5/trunk/products/ERP5OOo/FormPrintout.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Dec 10 10:46:14 CET 2009
Author: fabien
Date: Thu Dec 10 10:46:11 2009
New Revision: 31211
URL: http://svn.erp5.org?rev=31211&view=rev
Log:
small optimisation :
- remove unused _renderField method
- improve ODGStrategy._replaceXmlByForm
Modified:
erp5/trunk/products/ERP5OOo/FormPrintout.py
Modified: erp5/trunk/products/ERP5OOo/FormPrintout.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/FormPrintout.py?rev=31211&r1=31210&r2=31211&view=diff
==============================================================================
--- erp5/trunk/products/ERP5OOo/FormPrintout.py [utf8] (original)
+++ erp5/trunk/products/ERP5OOo/FormPrintout.py [utf8] Thu Dec 10 10:46:11 2009
@@ -871,11 +871,6 @@
self._replaceNodeViaPointReference(element_tree, field)
self._replaceNodeViaFormName(element_tree, field)
- def _renderField(self, field):
- # XXX It looks ugly to use render_pdf to extract text. Probably
- # it should be renamed to render_text.
- return field.render_pdf(field.get_value('default'))
-
def _replaceNodeViaPointReference(self, element_tree, field, iteration_index=0):
"""Replace text node via an ODF point reference.
@@ -952,17 +947,15 @@
class ODGStrategy(ODFStrategy):
"""ODGStrategy create a ODG Document from a form and a ODG template"""
- def _replaceXmlByForm(self, element_tree, form, here, extra_context, ooo_builder, iteration_index=0):
+ def _replaceXmlByForm(self, element_tree, form, here, extra_context,
+ ooo_builder, iteration_index=0):
field_list = form.get_fields(include_disabled=1)
- REQUEST = here.REQUEST
for (count, field) in enumerate(field_list):
text_xpath = '//draw:frame[@draw:name="%s"]/*' % field.id
node_list = element_tree.xpath(text_xpath, namespaces=element_tree.nsmap)
- if not node_list:
- continue
-
- new_node = field.widget.render_odg(field, as_string=False)#XXXrender_odg should be called on field, not on widget
- for node in node_list:
- parent_node = node.getparent().replace(node, new_node)
-
+ for target_node in node_list:
+ attr_dict = {}
+ attr_dict.update(target_node.attrib)
+ new_node = field.render_odt(attr_dict=attr_dict)
+ parent_node = target_node.getparent().replace(target_node, new_node)
More information about the Erp5-report
mailing list