diff --git a/bt5/erp5_odt_style/SkinTemplateItem/portal_skins/erp5_odt_style/report_view.xml b/bt5/erp5_odt_style/SkinTemplateItem/portal_skins/erp5_odt_style/report_view.xml index 6a45ab8d583050a44def4575d31a27a39e5afcf6..3f3d3b573e6033e1b68b7c5d9c1d9c5f86050be2 100644 --- a/bt5/erp5_odt_style/SkinTemplateItem/portal_skins/erp5_odt_style/report_view.xml +++ b/bt5/erp5_odt_style/SkinTemplateItem/portal_skins/erp5_odt_style/report_view.xml @@ -224,9 +224,13 @@ bWxQSwUGAAAAAAIAAgCeAAAAhwwAAAAA</string> </value> <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 - \n - <tal:block tal:define="report_item_list python:report_method();\n - dummy python: request.set(\'here\',here); "> \n +\n + <!-- This template can be used to aggregate together some already rendered report sections.\n + In this case, "rendered_report_item_list" must be in the page template context. -->\n + <tal:block tal:define="rendered_report_item_list rendered_report_item_list | python:[];\n + report_item_list python: rendered_report_item_list or report_method();">\n +\n + <tal:block tal:define="dummy python: request.set(\'here\',here); "> \n <text:p text:style-name=\'report-title\'\n tal:content="python: here.Localizer.erp5_ui.gettext(form.getProperty(\'title\', \'\')).encode(\'utf-8\')"> report title </text:p>\n <text:p></text:p> \n @@ -303,33 +307,46 @@ bWxQSwUGAAAAAAIAAgCeAAAAhwwAAAAA</string> </value> </tal:block>\n </tal:block>\n </tal:block>\n - </tal:block> <!-- TODO: if possible a macro for form rendering ? -->\n + </tal:block>\n \n - <tal:block tal:define="portal_object here/portal_url/getPortalObject">\n + <!-- if we are called with a rendered_report_item_list, just insert the rendered text here. -->\n + <tal:block tal:condition="rendered_report_item_list">\n + <tal:block tal:repeat="report_item report_item_list">\n + <tal:block tal:replace="structure report_item"/>\n + </tal:block>\n + </tal:block>\n + \n + <tal:block tal:condition="not: rendered_report_item_list">\n + <tal:block tal:define="portal_object here/portal_url/getPortalObject">\n <tal:block tal:repeat="report_item report_item_list">\n <tal:block tal:define="here python:report_item.getObject(portal_object);\n dummy python:report_item.pushReport(portal_object)">\n - <tal:block tal:condition="report_item/getTitle">\n - <text:p\n - tal:content="report_item/getTitle"\n - tal:attributes="text:style-name string:report-title-${report_item/getLevel}"\n - >report item title</text:p><text:p/>\n - </tal:block>\n -\n - <tal:block tal:condition="report_item/getFormId">\n - <tal:block tal:define="form python:getattr(here, report_item.getFormId())" >\n - <tal:block tal:condition="python:form.pt == \'form_view\'">\n - <tal:block metal:use-macro="form/form_view/macros/form_layout"/>\n - </tal:block>\n - <tal:block tal:condition="python:form.pt == \'form_list\'">\n - <tal:block metal:use-macro="form/form_list/macros/form_layout"/>\n - </tal:block></tal:block></tal:block>\n + <tal:block metal:define-macro="render_report_section">\n + <tal:block tal:condition="report_item/getTitle">\n + <text:p\n + tal:content="report_item/getTitle"\n + tal:attributes="text:style-name string:report-title-${report_item/getLevel}"\n + >report item title</text:p><text:p/>\n + </tal:block>\n + \n + <tal:block tal:condition="report_item/getFormId">\n + <tal:block tal:define="form python:getattr(here, report_item.getFormId())" >\n + <tal:block tal:condition="python:form.pt == \'form_view\'">\n + <tal:block metal:use-macro="form/form_view/macros/form_layout"/>\n + </tal:block>\n + <tal:block tal:condition="python:form.pt == \'form_list\'">\n + <tal:block metal:use-macro="form/form_list/macros/form_layout"/>\n + </tal:block></tal:block></tal:block>\n + </tal:block>\n </tal:block>\n <tal:block tal:define="dummy python:report_item.popReport(portal_object)"/>\n </tal:block>\n - </tal:block>\n + </tal:block>\n + </tal:block>\n +\n </tal:block>\n - </office:text>\n + </tal:block>\n + </office:text>\n </office:body>\n </office:document-content>\n diff --git a/bt5/erp5_odt_style/bt/change_log b/bt5/erp5_odt_style/bt/change_log index 2b07e5cd6ddfb78bd5681ce0193b59c86724a7d2..aabc85ccd5d0c89e338e35f4a2a977d157e1785e 100644 --- a/bt5/erp5_odt_style/bt/change_log +++ b/bt5/erp5_odt_style/bt/change_log @@ -1,2 +1,5 @@ +2007-10-30 Jerome +Add macros for deferred rendering in report_view + 2007-08-24 Ibou NDIAYE Initial revision \ No newline at end of file diff --git a/bt5/erp5_odt_style/bt/revision b/bt5/erp5_odt_style/bt/revision index 3f10ffe7a4c473619c926cfb1e8d95e726e5a0ec..25bf17fc5aaabd17402e77a2b16f95fbea7310d2 100644 --- a/bt5/erp5_odt_style/bt/revision +++ b/bt5/erp5_odt_style/bt/revision @@ -1 +1 @@ -15 \ No newline at end of file +18 \ No newline at end of file diff --git a/bt5/erp5_odt_style/bt/version b/bt5/erp5_odt_style/bt/version index ceab6e11ece0bcec917c12e11d350946f085d549..6da28dde76d6550e3d398a70a9a8231256774669 100644 --- a/bt5/erp5_odt_style/bt/version +++ b/bt5/erp5_odt_style/bt/version @@ -1 +1 @@ -0.1 \ No newline at end of file +0.1.1 \ No newline at end of file