diff --git a/bt5/erp5_ods_style/SkinTemplateItem/portal_skins/erp5_ods_style/report_view.xml b/bt5/erp5_ods_style/SkinTemplateItem/portal_skins/erp5_ods_style/report_view.xml index ae2832520430e5b33254194e49cdebd6340c50cd..2d60e13a1b5675150e52d3dc07c961d248097048 100644 --- a/bt5/erp5_ods_style/SkinTemplateItem/portal_skins/erp5_ods_style/report_view.xml +++ b/bt5/erp5_ods_style/SkinTemplateItem/portal_skins/erp5_ods_style/report_view.xml @@ -51,12 +51,22 @@ <office:spreadsheet>\n \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 + report_item_list python: rendered_report_item_list or [];\n dummy python: request.set(\'here\', here);\n global sheet_per_reportsection python: int(request.get(\'sheet_per_report_section\', 0));\n global column_len python: 5">\n <!-- TODO: calculate column_len based on the first listbox (or selection_column if exists)-->\n -\n + <tal:block tal:condition="not: report_item_list">\n + <tal:block tal:condition="python: form.meta_type == \'ERP5 Report\'">\n + <tal:block tal:define="dummy python: report_item_list.extend(report_method())" />\n + </tal:block>\n + <tal:block tal:condition="python: form.meta_type == \'ERP5 Form\'">\n + <tal:block tal:repeat="reportbox python: [field for field in form.get_fields()\n + if field.getRecursiveTemplateField().meta_type == \'ReportBox\']">\n + <tal:block tal:define="dummy python: report_item_list.extend(reportbox.render())" />\n + </tal:block>\n + </tal:block>\n + </tal:block>\n <tal:block tal:define="portal_object here/portal_url/getPortalObject">\n <tal:block tal:condition="not: sheet_per_reportsection">\n <table:table tal:attributes="table:name python:unicode(here.getProperty(\'title\'), \'utf8\')" i18n:attributes="table:name">\n 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 38e7587c6ff45b216e81ea5a2069a235426586fa..6c638b233c14d625d34fbb3bf09e13153e29aa5a 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 @@ -225,9 +225,19 @@ bWxQSwUGAAAAAAIAAgCeAAAAhwwAAAAA</string> </value> <!-- 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 + report_item_list python: rendered_report_item_list or []">\n + <tal:block tal:condition="not: report_item_list">\n + <tal:block tal:condition="python: form.meta_type == \'ERP5 Report\'">\n + <tal:block tal:define="dummy python: report_item_list.extend(report_method())" />\n + </tal:block>\n + <tal:block tal:condition="python: form.meta_type == \'ERP5 Form\'">\n + <tal:block tal:repeat="reportbox python: [field for field in form.get_fields()\n + if field.getRecursiveTemplateField().meta_type == \'ReportBox\']">\n + <tal:block tal:define="dummy python: report_item_list.extend(reportbox.render())" />\n + </tal:block>\n + </tal:block>\n + </tal:block>\n + <tal:block tal:define="dummy python: request.set(\'here\', here); "/> \n <text:p text:style-name=\'report-title\'\n i18n:domain="ui" i18n:translate=""\n tal:content="python: form.getProperty(\'title\', \'\')"/>\n diff --git a/bt5/erp5_pdf_style/SkinTemplateItem/portal_skins/erp5_pdf_style/report_view.xml b/bt5/erp5_pdf_style/SkinTemplateItem/portal_skins/erp5_pdf_style/report_view.xml index 5e0868642f2639acac72e33bb9fa6157922e88f0..eea16e0bcdf8647fe9246da458c7b81b81f9d5ef 100644 --- a/bt5/erp5_pdf_style/SkinTemplateItem/portal_skins/erp5_pdf_style/report_view.xml +++ b/bt5/erp5_pdf_style/SkinTemplateItem/portal_skins/erp5_pdf_style/report_view.xml @@ -52,8 +52,19 @@ <subject>Print Example</subject>\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 + <tal:block tal:define="rendered_report_item_list rendered_report_item_list | python: [];\n + report_item_list python: rendered_report_item_list or []">\n + <tal:block tal:condition="not: report_item_list">\n + <tal:block tal:condition="python: form.meta_type == \'ERP5 Report\'">\n + <tal:block tal:define="dummy python: report_item_list.extend(report_method())" />\n + </tal:block>\n + <tal:block tal:condition="python: form.meta_type == \'ERP5 Form\'">\n + <tal:block tal:repeat="reportbox python: [field for field in form.get_fields()\n + if field.getRecursiveTemplateField().meta_type == \'ReportBox\']">\n + <tal:block tal:define="dummy python: report_item_list.extend(reportbox.render())" />\n + </tal:block>\n + </tal:block>\n + </tal:block>\n \n <content tal:define="dummy python: request.set(\'here\',here); ">\n \n diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/report_view.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/report_view.xml index 8e212cba8cdd2df5716557ae2f23b1749b020ab6..6bff7af0111416c88ebf86d7fa41b7acfe3bcbbb 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/report_view.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/report_view.xml @@ -46,8 +46,18 @@ <tal:block metal:use-macro="here/view_main/macros/master">\n <tal:block metal:fill-slot="main">\n <tal:block metal:use-macro="here/form_render/macros/master" />\n - <tal:block tal:define="portal_object here/getPortalObject">\n - <tal:block tal:repeat="report_item report_method">\n + <tal:block tal:define="portal_object here/getPortalObject;\n + report_item_list python:[]">\n + <tal:block tal:condition="python: form.meta_type == \'ERP5 Report\'">\n + <tal:block tal:define="dummy python: report_item_list.extend(report_method())" />\n + </tal:block>\n + <tal:block tal:condition="python: form.meta_type == \'ERP5 Form\'">\n + <tal:block tal:repeat="reportbox python: [field for field in form.get_fields()\n + if field.getRecursiveTemplateField().meta_type == \'ReportBox\']">\n + <tal:block tal:define="dummy python: report_item_list.extend(reportbox.render())" />\n + </tal:block>\n + </tal:block>\n + <tal:block tal:repeat="report_item report_item_list">\n <tal:block tal:define="here python: report_item.getObject(portal_object);\n render_prefix python: \'x%s\' % (repeat[\'report_item\'].index, );\n dummy python: report_item.pushReport(portal_object, render_prefix=render_prefix)">\n