[Erp5-report] r20308 - in /erp5/trunk/bt5/erp5_odt_style: SkinTemplateItem/portal_skins/erp...
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Apr 4 14:45:52 CEST 2008
Author: nicolas
Date: Fri Apr 4 14:45:52 2008
New Revision: 20308
URL: http://svn.erp5.org?rev=20308&view=rev
Log:
2008-04-04 Thibaut
add rendering OOoChart
Image support improvement
Modified:
erp5/trunk/bt5/erp5_odt_style/SkinTemplateItem/portal_skins/erp5_odt_style/form_view.xml
erp5/trunk/bt5/erp5_odt_style/bt/change_log
erp5/trunk/bt5/erp5_odt_style/bt/revision
Modified: erp5/trunk/bt5/erp5_odt_style/SkinTemplateItem/portal_skins/erp5_odt_style/form_view.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_odt_style/SkinTemplateItem/portal_skins/erp5_odt_style/form_view.xml?rev=20308&r1=20307&r2=20308&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_odt_style/SkinTemplateItem/portal_skins/erp5_odt_style/form_view.xml (original)
+++ erp5/trunk/bt5/erp5_odt_style/SkinTemplateItem/portal_skins/erp5_odt_style/form_view.xml Fri Apr 4 14:45:52 2008
@@ -114,7 +114,7 @@
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
-<office:document-content \n
+<office:document-content\n
xmlns:draw=\'urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\'\n
xmlns:office=\'urn:oasis:names:tc:opendocument:xmlns:office:1.0\'\n
xmlns:text=\'urn:oasis:names:tc:opendocument:xmlns:text:1.0\'\n
@@ -143,6 +143,7 @@
xmlns:metal=\'http://xml.zope.org/namespaces/metal\'\n
tal:attributes=\'dummy python:request.RESPONSE.setHeader("Content-Type", "text/html;; charset=utf-8")\'\n
office:version=\'1.0\'>\n
+\n
<office:scripts/>\n
<office:font-face-decls>\n
<style:font-face svg:font-family="\'DejaVu Sans\'" style:font-family-generic=\'roman\' style:name=\'DejaVu Sans\' style:font-pitch=\'variable\'/>\n
@@ -219,133 +220,216 @@
</office:automatic-styles>\n
<office:body>\n
<office:text>\n
- <text:sequence-decls>\n
+ <office:forms form:automatic-focus="false" form:apply-design-mode="false"/>\n
+ <text:sequence-decls>\n
<text:sequence-decl text:display-outline-level=\'0\' text:name=\'Illustration\'/>\n
<text:sequence-decl text:display-outline-level=\'0\' text:name=\'Table\'/>\n
<text:sequence-decl text:display-outline-level=\'0\' text:name=\'Text\'/>\n
<text:sequence-decl text:display-outline-level=\'0\' text:name=\'Drawing\'/>\n
- </text:sequence-decls> \n
- <tal:block metal:define-macro="form_layout"\n
+ </text:sequence-decls>\n
+ <tal:block metal:define-macro="form_layout"\n
tal:define="dummy python: request.set(\'here\',here); ">\n
<!-- standard groups -->\n
- <tal:block tal:repeat="group python: [g for g in form.get_groups() if g not in (\'bottom\', \'center\', \'hidden\')]">\n
- <tal:block tal:define="field_list python: form.get_fields_in_group(group)">\n
- <tal:block tal:condition="field_list">\n
- <table:table table:style-name=\'field-table\' table:name=\'field-table\'>\n
- <table:table-column table:style-name=\'field-table.A\'/>\n
- <table:table-column table:style-name=\'field-table.A\'/>\n
- <tal:block tal:repeat="field field_list">\n
- <tal:block tal:define="field_type python: field.meta_type == \'ProxyField\' and field.getRecursiveTemplateField().meta_type or field.meta_type">\n
- <tal:block tal:condition="python:field_type not in (\'HiddenStringField\', \'FileField\')">\n
- <table:table-row>\n
- <table:table-cell table:style-name=\'field-table.A1\' office:value-type=\'string\'>\n
- <text:p text:style-name=\'field-label\' \n
+ <tal:block tal:repeat="group python: [g for g in form.get_groups() if g not in (\'bottom\', \'center\', \'hidden\')]">\n
+ <tal:block tal:define="field_list python: form.get_fields_in_group(group)">\n
+ <tal:block tal:condition="field_list">\n
+ <table:table table:style-name=\'field-table\' table:name=\'field-table\'>\n
+ <table:table-column table:style-name=\'field-table.A\'/>\n
+ <table:table-column table:style-name=\'field-table.A\'/>\n
+ <tal:block tal:repeat="field field_list">\n
+ <tal:block tal:define="field_type python: field.meta_type == \'ProxyField\' and field.getRecursiveTemplateField().meta_type or field.meta_type">\n
+ <tal:block tal:condition="python:field_type not in (\'HiddenStringField\', \'FileField\')">\n
+ <table:table-row>\n
+ <table:table-cell table:style-name=\'field-table.A1\' office:value-type=\'string\'>\n
+ <text:p text:style-name=\'field-label\' \n
i18n:domain=\'ui\'\n
i18n:translate=\'\'\n
tal:content="python: field.get_value(\'title\')"/>\n
- </table:table-cell>\n
- <tal:block tal:define="item_list python:field.has_value(\'items\') and field.get_value(\'items\') or None">\n
- <table:table-cell table:style-name=\'field-table.B1\' \n
+ </table:table-cell>\n
+ <tal:block tal:define="item_list python:field.has_value(\'items\') and field.get_value(\'items\') or None">\n
+ <table:table-cell table:style-name=\'field-table.B1\' \n
office:value-type=\'string\'\n
tal:define="value python: field.get_value(\'default\')">\n
\n
- <tal:block tal:condition="python: field_type not in (\'ImageField\', )">\n
- <tal:block tal:condition="python: same_type(value,[]) or same_type(value,())">\n
- <tal:block tal:repeat="item value">\n
- <text:p text:style-name=\'field-content\'\n
+ <tal:block tal:condition="python: field_type not in (\'ImageField\', \'OOoChart\',)">\n
+ <tal:block tal:condition="python: same_type(value,[]) or same_type(value,())">\n
+ <tal:block tal:repeat="item value">\n
+ <text:p text:style-name=\'field-content\'\n
tal:content="python: str(item)"\n
tal:condition="not:item_list"/>\n
- <text:p text:style-name=\'field-content\'\n
+ <text:p text:style-name=\'field-content\'\n
tal:content="python: [i[0] for i in item_list if i[1] == item][0]"\n
tal:condition="item_list" />\n
- </tal:block>\n
- </tal:block>\n
- <tal:block tal:condition="python: (not (same_type(value,[]) or same_type(value,()) )) and (value != None)">\n
+ </tal:block>\n
+ </tal:block>\n
+ <tal:block tal:condition="python: (not (same_type(value,[]) or same_type(value,()) )) and (value != None)">\n
<text:p text:style-name=\'field-content\'\n
tal:content="python:str(value)"\n
tal:condition="not:item_list" />\n
<text:p text:style-name=\'field-content\'\n
tal:content="python: field.render_pdf(value)"\n
tal:condition="item_list" />\n
- </tal:block>\n
- <tal:block tal:condition="python: value is None">\n
- <text:p text:style-name=\'field-content\' tal:content="python: \' \'" />\n
- </tal:block> \n
+ </tal:block>\n
+ <tal:block tal:condition="python: value is None">\n
+ <text:p text:style-name=\'field-content\' tal:content="python: \' \'" />\n
+ </tal:block>\n
+ </tal:block>\n
+ <!-- With this max_size, pictures and graph stay in a table cell-->\n
+ <tal:block tal:define="global max_size python:9;"/>\n
+ <tal:block tal:condition="python: field_type == \'ImageField\'">\n
+ <text:p text:style-name=\'field-content\'\n
+ tal:define="size python:modules[\'Products.ERP5.Document.Image\'].getSizeFromImageDisplay(field.get_value(\'image_display\'));\n
+ width python:(((size and size[0] ) / 20.) < max_size and (size and size[0] ) / 20.) or max_size">\n
+ <tal:block>\n
+ <office:include_img tal:attributes="width width;\n
+ path python: \'/\'.join(request.physicalPathFromURL(field.get_value(\'default\')));"/>\n
+ </tal:block>\n
+ </text:p>\n
+ </tal:block>\n
+ <tal:block tal:condition="python: field_type == \'OOoChart\'">\n
+ <tal:block tal:define="display python: field.get_value(\'image_display\') "\n
+ tal:condition="display">\n
+ <tal:block tal:define="preferred_method_height_id python: \'getPreferred%sImageHeight\' % (display.capitalize());\n
+ preferred_method_width_id python: \'getPreferred%sImageWidth\'\n
+ % (display.capitalize());\n
+ " >\n
+ <tal:block tal:define="\n
+ width python:int((getattr(here.portal_preferences, preferred_method_width_id)()));\n
+ height python:int((getattr(here.portal_preferences, preferred_method_height_id)()));\n
+ width_graph python:(width *0.02 < max_size and width*0.02 ) or max_size;\n
+ height_graph python:(height*0.02 < max_size and height*0.02 ) or max_size">\n
+ <text:p text:style-name=\'field-content\'>\n
+ <draw:frame draw:style-name=\'gr1\'\n
+ draw:layer=\'layout\'\n
+ text:anchor-type="paragraph"\n
+ tal:attributes="svg:height python:str(height_graph)+\'cm\';\n
+ svg:width python:str(width_graph)+\'cm\'">\n
+ <tal:block tal:replace="python: field.render_odf()"/>\n
+ </draw:frame>\n
+ </text:p>\n
+ </tal:block>\n
+ </tal:block>\n
+ </tal:block>\n
+ </tal:block>\n
+ </table:table-cell>\n
</tal:block>\n
- <tal:block tal:condition="python: field_type == \'ImageField\'">\n
- <text:p text:style-name=\'field-content\'\n
- tal:define="size python: modules[\'Products.ERP5.Document.Image\'].getSizeFromImageDisplay(field.get_value(\'image_display\'))">\n
- <office:include_img tal:attributes="width python: (size and size[0] or 100) / 20.;\n
- path python: \'/\'.join(request.physicalPathFromURL(field.get_value(\'default\')));"/>\n
- </text:p>\n
- </tal:block>\n
- </table:table-cell>\n
+ </table:table-row>\n
</tal:block>\n
- </table:table-row>\n
+ </tal:block>\n
+ </tal:block>\n
+ </table:table>\n
+ <text:p></text:p>\n
+ </tal:block>\n
+ </tal:block>\n
+ </tal:block>\n
+\n
+ <!-- center group -->\n
+ <tal:block tal:define="field_list python: form.get_fields_in_group(\'center\')">\n
+ <tal:block tal:repeat="field field_list">\n
+ <tal:block tal:define="field_type python: field.meta_type == \'ProxyField\' and field.getRecursiveTemplateField().meta_type or field.meta_type">\n
+ <tal:block tal:condition="python: field_type not in (\'ImageField\',\'OOoChart\' )">\n
+ <text:p text:style-name=\'field-label-center\' i18n:domain="ui" i18n:translate=""\n
+ tal:content="python: field.get_value(\'title\')"/>\n
+ <text:p text:style-name=\'field-content-center\'\n
+ tal:content="structure python: field.get_value(\'default\').replace(\'&\', \'&amp;\').replace(\'>\', \'&gt;\').replace(\'<\', \'&lt;\').replace(\'\\n\', \'<text:line-break/>\')"/>\n
+ </tal:block>\n
+ <tal:block tal:condition="python: field_type == \'ImageField\'">\n
+ <text:p text:style-name=\'field-label-center\' i18n:domain="ui" i18n:translate=""\n
+ tal:content="python: field.get_value(\'title\')"/>\n
+\n
+ <text:p text:style-name=\'field-content-center\'\n
+ tal:define="size python: modules[\'Products.ERP5.Document.Image\'].getSizeFromImageDisplay(field.get_value(\'image_display\'))">\n
+ <office:include_img style="inline-graphic"\n
+ tal:attributes="width python: (size and size[0] or 100) / 20.;\n
+ path python: \'/\'.join(request.physicalPathFromURL(field.get_value(\'default\')));"/>\n
+ </text:p>\n
+ </tal:block>\n
+ <tal:block tal:condition="python: field_type == \'OOoChart\'">\n
+ <text:p text:style-name=\'field-label-center\' i18n:domain="ui" i18n:translate=""\n
+ tal:content="python: field.get_value(\'title\')"/>\n
+ <text:p text:style-name=\'standard\'/>\n
+ <tal:block tal:define="display python: field.get_value(\'image_display\') "\n
+ tal:condition="display">\n
+ <tal:block tal:define="preferred_method_height_id python: \'getPreferred%sImageHeight\' % (display.capitalize());\n
+ preferred_method_width_id python: \'getPreferred%sImageWidth\'\n
+ % (display.capitalize());\n
+ " >\n
+ <tal:block tal:define="global height python:\'%scm\' % (int((getattr(here.portal_preferences, preferred_method_height_id)())) * 0.020) ;\n
+ global width python: \'%scm\' % (int((getattr(here.portal_preferences, preferred_method_width_id)())) * 0.020 );"/>\n
+ </tal:block>\n
+ </tal:block>\n
+ <text:p text:style-name=\'field-content-center\'>\n
+ <draw:frame draw:style-name=\'inline-graphic\'\n
+ draw:layer=\'layout\'\n
+ text:anchor-type="paragraph"\n
+ tal:attributes="svg:height python:height;\n
+ svg:width python:width">\n
+ <tal:block tal:replace="python: field.render_odf()"/>\n
+ </draw:frame>\n
+ </text:p>\n
+\n
</tal:block>\n
</tal:block>\n
- </tal:block>\n
- </table:table> \n
- <text:p></text:p>\n
+ </tal:block>\n
+ </tal:block>\n
+\n
+ <!-- bottom group -->\n
+ <tal:block tal:define="field_list python: form.get_fields_in_group(\'bottom\')">\n
+ <tal:block tal:repeat="field field_list">\n
+ <tal:block tal:define="field_type python: field.meta_type == \'ProxyField\' and field.getRecursiveTemplateField().meta_type or field.meta_type">\n
+ <tal:block tal:condition="python: field_type == \'MatrixBox\'">\n
+ <tal:block tal:define="matrixbox python:field;">\n
+ <div metal:use-macro="here/matrixbox_odt_macro/macros/matrixbox" />\n
+ </tal:block>\n
+ </tal:block>\n
+ <tal:block tal:condition="python: field_type == \'ListBox\'">\n
+ <tal:block tal:define="listbox python:field;" >\n
+ <div metal:use-macro="here/listbox_odt_macro/macros/listbox" />\n
+ </tal:block>\n
+ </tal:block>\n
+ <tal:block tal:condition="python: field_type == \'ImageField\'">\n
+ <text:p text:style-name=\'field-content\'\n
+ tal:define="size python: modules[\'Products.ERP5.Document.Image\'].getSizeFromImageDisplay(field.get_value(\'image_display\'))">\n
+ <text:p text:style-name=\'field-content-center\'>\n
+ <office:include_img style="inline-graphic"\n
+ tal:attributes="width python: (size and size[0] or 100) / 20.;\n
+ path python: \'/\'.join(request.physicalPathFromURL(field.get_value(\'default\')));"/>\n
+ </text:p>\n
+ </text:p>\n
+ </tal:block>\n
+ <tal:block tal:condition="python: field_type == \'OOoChart\'">\n
+ <text:p text:style-name=\'field-label-center\' i18n:domain="ui" i18n:translate=""\n
+ tal:content="python: field.get_value(\'title\')"/>\n
+ <text:p text:style-name=\'standard\'/>\n
+ <tal:block tal:define="display python: field.get_value(\'image_display\') "\n
+ tal:condition="display">\n
+ <tal:block tal:define="preferred_method_height_id python: \'getPreferred%sImageHeight\' % (display.capitalize());\n
+ preferred_method_width_id python: \'getPreferred%sImageWidth\'\n
+ % (display.capitalize());\n
+ " >\n
+ <tal:block tal:define="global height python:\'%scm\' % (int((getattr(here.portal_preferences, preferred_method_height_id)())) * 0.020) ;\n
+ global width python: \'%scm\' % (int((getattr(here.portal_preferences, preferred_method_width_id)())) * 0.020 );"/>\n
+ </tal:block>\n
+ </tal:block>\n
+ <text:p text:style-name=\'field-content-center\'>\n
+ <draw:frame draw:style-name=\'inline-graphic\'\n
+ draw:layer=\'layout\'\n
+ text:anchor-type="paragraph"\n
+ svg:height="10cm"\n
+ svg:width="10cm"\n
+ tal:attributes="svg:height python:height;\n
+ svg:width python:width">\n
+ <tal:block tal:replace="python: field.render_odf()"/>\n
+ </draw:frame>\n
+ </text:p>\n
+ </tal:block>\n
+ </tal:block>\n
+ </tal:block>\n
</tal:block>\n
</tal:block>\n
- </tal:block>\n
-\n
- <!-- center group -->\n
- <tal:block tal:define="field_list python: form.get_fields_in_group(\'center\')">\n
- <tal:block tal:repeat="field field_list">\n
- <tal:block tal:define="field_type python: field.meta_type == \'ProxyField\' and field.getRecursiveTemplateField().meta_type or field.meta_type">\n
- <tal:block tal:condition="python: field_type not in (\'ImageField\', )">\n
- <text:p text:style-name=\'field-label-center\' i18n:domain="ui" i18n:translate=""\n
- tal:content="python: field.get_value(\'title\')"/>\n
- <text:p text:style-name=\'field-content-center\'\n
- tal:content="structure python: field.get_value(\'default\').replace(\'&\', \'&amp;\').replace(\'>\', \'&gt;\').replace(\'<\', \'&lt;\').replace(\'\\n\', \'<text:line-break/>\')"/>\n
- </tal:block>\n
- <tal:block tal:condition="python: field_type == \'ImageField\'">\n
- <text:p text:style-name=\'field-label-center\' i18n:domain="ui" i18n:translate=""\n
- tal:content="python: field.get_value(\'title\')"/>\n
-\n
- <text:p text:style-name=\'field-content-center\'\n
- tal:define="size python: modules[\'Products.ERP5.Document.Image\'].getSizeFromImageDisplay(field.get_value(\'image_display\'))">\n
- <office:include_img style="inline-graphic"\n
- tal:attributes="width python: (size and size[0] or 100) / 20.;\n
- path python: \'/\'.join(request.physicalPathFromURL(field.get_value(\'default\')));"/>\n
- </text:p>\n
- </tal:block>\n
- </tal:block>\n
- </tal:block>\n
- </tal:block> \n
-\n
- <!-- bottom group -->\n
- <tal:block tal:define="field_list python: form.get_fields_in_group(\'bottom\')">\n
- <tal:block tal:repeat="field field_list">\n
- <tal:block tal:define="field_type python: field.meta_type == \'ProxyField\' and field.getRecursiveTemplateField().meta_type or field.meta_type">\n
- <tal:block tal:condition="python: field_type == \'MatrixBox\'">\n
- <tal:block tal:define="matrixbox python:field;">\n
- <div metal:use-macro="here/matrixbox_odt_macro/macros/matrixbox" />\n
- </tal:block>\n
- </tal:block>\n
- <tal:block tal:condition="python: field_type == \'ListBox\'">\n
- <tal:block tal:define="listbox python:field;" >\n
- <div metal:use-macro="here/listbox_odt_macro/macros/listbox" />\n
- </tal:block>\n
- </tal:block>\n
- <tal:block tal:condition="python: field_type == \'ImageField\'">\n
- <text:p text:style-name=\'field-content\'\n
- tal:define="size python: modules[\'Products.ERP5.Document.Image\'].getSizeFromImageDisplay(field.get_value(\'image_display\'))">\n
- <office:include_img style="inline-graphic"\n
- tal:attributes="width python: (size and size[0] or 100) / 20.;\n
- path python: \'/\'.join(request.physicalPathFromURL(field.get_value(\'default\')));"/>\n
- </text:p>\n
- </tal:block>\n
- </tal:block>\n
- </tal:block>\n
- </tal:block> \n
- </tal:block>\n
- </office:text>\n
-</office:body>\n
-</office:document-content>\n
-
+ </office:text>\n
+ </office:body>\n
+</office:document-content>
]]></string> </value>
</item>
Modified: erp5/trunk/bt5/erp5_odt_style/bt/change_log
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_odt_style/bt/change_log?rev=20308&r1=20307&r2=20308&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_odt_style/bt/change_log (original)
+++ erp5/trunk/bt5/erp5_odt_style/bt/change_log Fri Apr 4 14:45:52 2008
@@ -1,3 +1,7 @@
+2008-04-04 Thibaut
+add rendering OOoChart
+Image support improvement
+
2007-10-30 Jerome
Add macros for deferred rendering in report_view
Modified: erp5/trunk/bt5/erp5_odt_style/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_odt_style/bt/revision?rev=20308&r1=20307&r2=20308&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_odt_style/bt/revision (original)
+++ erp5/trunk/bt5/erp5_odt_style/bt/revision Fri Apr 4 14:45:52 2008
@@ -1,1 +1,1 @@
-36
+38
More information about the Erp5-report
mailing list