openerp-community-reviewer team mailing list archive
-
openerp-community-reviewer team
-
Mailing list archive
-
Message #08106
[Merge] lp:~therp-nl/ocb-server/6.1_lp1425545_enhanced_flowable_linebreak into lp:ocb-server/6.1
Ronald Portier (Therp) has proposed merging lp:~therp-nl/ocb-server/6.1_lp1425545_enhanced_flowable_linebreak into lp:ocb-server/6.1.
Requested reviews:
OpenERP Community Backports (ocb)
Related bugs:
Bug #1425545 in OpenERP Community Backports (Server): "Reports can crash on reformatting paragraph"
https://bugs.launchpad.net/ocb-server/+bug/1425545
For more details, see:
https://code.launchpad.net/~therp-nl/ocb-server/6.1_lp1425545_enhanced_flowable_linebreak/+merge/250950
Backport report rendering improvement from 7.0
--
Your team OpenERP Community Backports is requested to review the proposed merge of lp:~therp-nl/ocb-server/6.1_lp1425545_enhanced_flowable_linebreak into lp:ocb-server/6.1.
=== modified file 'openerp/report/render/rml2pdf/trml2pdf.py'
--- openerp/report/render/rml2pdf/trml2pdf.py 2013-09-10 14:15:41 +0000
+++ openerp/report/render/rml2pdf/trml2pdf.py 2015-02-25 16:10:22 +0000
@@ -32,6 +32,7 @@
import logging
from lxml import etree
import base64
+from distutils.version import LooseVersion
from reportlab.platypus.doctemplate import ActionFlowable
from openerp.tools.safe_eval import safe_eval as eval
from reportlab.lib.units import inch,cm,mm
@@ -741,18 +742,11 @@
style = self.styles.para_style_get(node)
if extra_style:
style.__dict__.update(extra_style)
- result = []
- textuals = self._textual(node).split('\n')
- keep_empty_lines = (len(textuals) > 1) and len(node.text.strip())
- for i in textuals:
- if keep_empty_lines and len(i.strip()) == 0:
- i = '<font color="white"> </font>'
- result.append(
- platypus.Paragraph(
- i, style, **(
- utils.attr_get(node, [], {'bulletText':'str'}))
- )
- )
+ text_node = self._textual(node).strip().replace('\n\n', '\n').replace('\n', '<br/>')
+ instance = platypus.Paragraph(text_node, style, **(utils.attr_get(node, [], {'bulletText':'str'})))
+ result = [instance]
+ if LooseVersion(reportlab.Version) > LooseVersion('3.0') and not instance.getPlainText().strip() and instance.text.strip():
+ result.append(platypus.Paragraph(' <br/>', style, **(utils.attr_get(node, [], {'bulletText': 'str'}))))
return result
elif node.tag=='barCode':
try:
Follow ups