Commit cd5888ff authored by Sebastien Robin's avatar Sebastien Robin

first submission


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@5871 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 5cddc4d8
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Folder</string>
<string>Folder</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_local_properties</string> </key>
<value>
<tuple>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>business_template_registered_skin_selections</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>tokens</string> </value>
</item>
</dictionary>
</tuple>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>business_template_registered_skin_selections</string> </key>
<value>
<tuple>
<string>CSV</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>erp5_csv_style</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value> <string encoding="base64">O/INCg==</string> </value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string encoding="cdata"><![CDATA[
# export_only : allow to disable the uid column and the id of columns\n
result = \'\'\n
request = context.REQUEST\n
\n
translate = context.portal_url.getPortalObject().Localizer.erp5_ui.gettext\n
\n
listboxline_list = context.get_value(\'default\', render_format=\'list\', REQUEST=request)\n
\n
for listboxline in listboxline_list:\n
if listboxline.isTitleLine():\n
line_result = \'\'\n
line_result2 = \'\'\n
\n
if not export_only:\n
listboxline.setListboxLineDisplayListMode([\'uid\']) #XXX do not display uid column\n
\n
for column_item in listboxline.getColumnItemList():\n
\n
column_id = column_item[0]\n
column_property = column_item[1]\n
\n
if column_id is not None:\n
if same_type(column_id,\'\'):\n
column_id = column_id.replace(\'"\',\'""\')\n
line_result += \'"%s"\' % column_id.decode(\'utf-8\')\n
else:\n
line_result += str(column_id)\n
\n
line_result += str(\',\')\n
\n
if column_property is not None:\n
if same_type(column_property,\'\'):\n
column_property = translate(column_property.decode(\'utf-8\'))\n
column_property = column_property.replace(\'"\',\'""\')\n
line_result2 += \'"%s"\' % column_property\n
else:\n
line_result2 += str(column_property)\n
\n
line_result2 += str(\',\')\n
\n
if len(line_result) > 1:\n
line_result = line_result[:-1]\n
\n
if len(line_result2) > 1:\n
line_result2 = line_result2[:-1]\n
\n
if not export_only:\n
result += line_result+\'\\n\' #XXX do not display id\n
result += line_result2+\'\\n\'\n
\n
\n
\n
\n
if listboxline.isDataLine():\n
line_result = \'\'\n
\n
if not export_only:\n
listboxline.setListboxLineDisplayListMode([\'uid\']) #XXX do not display uid column\n
\n
for column_property in listboxline.getColumnPropertyList():\n
\n
if column_property is not None:\n
if same_type(column_property,\'\'):\n
column_property = column_property.replace(\'"\',\'""\')\n
line_result += \'"%s"\' % column_property.decode(\'utf-8\')\n
elif same_type(column_property,1.0):\n
column_property = str(column_property).replace(\'.\',\',\')\n
line_result += \'"%s"\' % column_property\n
else:\n
line_result += str(column_property)\n
\n
line_result += str(\',\')\n
\n
if len(line_result) > 1:\n
line_result = line_result[:-1]\n
\n
result += line_result+\'\\n\'\n
\n
return result\n
]]></string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value> <string>Script (Python):/apparel5/portal_skins/erp5_csv_style/Listbox_exportCsv</string> </value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>export_only=0,**kw</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>export_only</string>
<string>kw</string>
<string>result</string>
<string>_getattr_</string>
<string>context</string>
<string>request</string>
<string>translate</string>
<string>listboxline_list</string>
<string>_getiter_</string>
<string>listboxline</string>
<string>line_result</string>
<string>line_result2</string>
<string>column_item</string>
<string>_getitem_</string>
<string>column_id</string>
<string>column_property</string>
<string>None</string>
<string>same_type</string>
<string>str</string>
<string>len</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<tuple>
<int>0</int>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Listbox_exportCsv</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<tal:block tal:define=\'amp python:"\\""\'> \n
<tal:block tal:define="dummy python:request.RESPONSE.setHeader(\'Content-Type\', \'text/x-comma-separated-values;; charset=utf-8\');\n
dummy2 python: request.RESPONSE.setHeader(\'Content-disposition\',\'attachment;; filename=%s%s.csv%s\' % (amp,form.title_or_id(),amp) ); ">\n
\n
<tal:block tal:define="groups python: form.get_groups(include_empty=1);\n
field_errors python: request.get(\'field_errors\',{});\n
dummy python: request.set(\'here\',here);\n
listbox python:form[\'listbox\'];" ><tal:block tal:content="python: listbox.Listbox_exportCsv()" /></tal:block></tal:block>\n
</tal:block>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form_list</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing" >\n
form_view is a quick hack to display only the listbox called "listbox"\n
</tal:block>\n
<tal:block tal:define=\'amp python:"\\""\'> \n
<tal:block tal:define="dummy python:request.RESPONSE.setHeader(\'Content-Type\', \'text/x-comma-separated-values;; charset=utf-8\');\n
dummy2 python: request.RESPONSE.setHeader(\'Content-disposition\',\'attachment;; filename=%s%s.csv%s\' % (amp,form.title_or_id(),amp) ); ">\n
\n
<tal:block tal:define="groups python: form.get_groups(include_empty=1);\n
field_errors python: request.get(\'field_errors\',{});\n
dummy python: request.set(\'here\',here);\n
listbox python:form[\'listbox\'];" ><tal:block tal:content="python: listbox.Listbox_exportCsv()" /></tal:block></tal:block>\n
</tal:block>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form_view</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
2006-02-24 Seb
* Created this business template in order to split erp5_core
\ No newline at end of file
The ERP5 Html style used in order to export data into OpenOffice.org
\ No newline at end of file
None
\ No newline at end of file
erp5_csv_style
\ No newline at end of file
erp5_csv_style
\ No newline at end of file
0.8
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Folder</string>
<string>Folder</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_local_properties</string> </key>
<value>
<tuple>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>business_template_registered_skin_selections</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>tokens</string> </value>
</item>
</dictionary>
</tuple>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>business_template_registered_skin_selections</string> </key>
<value>
<tuple>
<string>Print</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>erp5_pdf_style</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value> <string encoding="base64">O/INCg==</string> </value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string># XXX this is just a copy / paste of the old implementation\n
# dirty code : if we are in domain or report tree, just use the old one, otherwise\n
# use the new one that gives better results in list mode.\n
if is_domain_tree_mode or is_report_tree_mode : \n
result = {}\n
\n
# 0.5 is too small and can crash pdf generation\n
min_column_width = 1\n
\n
for listboxline in listboxline_list:\n
if 1 : #not listboxline.isTitleLine():\n
line_width = 0\n
col_count = 0\n
if is_report_tree_mode:\n
col_count += 1\n
column_property = listboxline.getSectionName()\n
if column_property is None: \n
string_property = \'\'\n
else:\n
string_property = str(column_property)\n
line_width += len(string_property) + section_width * (listboxline.getSectionDepth() - 1)\n
for column_id, column_property in listboxline.getColumnItemList(): \n
col_count += 1\n
if column_property is None: \n
string_property = \'\'\n
else:\n
string_property = str(column_property)\n
line_width += len(string_property)\n
for column_id, column_property in listboxline.getColumnItemList():\n
if column_property is None: \n
string_property = \'\'\n
else:\n
string_property = str(column_property)\n
result[column_id] = max(result.get(column_id, min_column_width),\n
min( frame_width * 2 / col_count, \n
frame_width * len(str(string_property)) / max(line_width, 1)))\n
if is_report_tree_mode:\n
column_property = listboxline.getSectionName()\n
if column_property is None: \n
string_property = \'\'\n
else:\n
string_property = str(column_property)\n
column_id = \'section_name\'\n
result[column_id] = max(result.get(column_id,min_column_width), min(frame_width * 3 / col_count, frame_width * (len(str(string_property)) + section_width * (listboxline.getSectionDepth() - 1)) / max(line_width, 1)))\n
\n
total_col_width = 0.0\n
for column_id in result.keys():\n
if result[column_id] == 0.0:\n
result[column_id] = 1.0\n
for column_id in result.keys():\n
if column_id != \'section_name\' or is_report_tree_mode:\n
total_col_width += result[column_id]\n
for column_id in result.keys():\n
if column_id != \'section_name\' or is_report_tree_mode:\n
result[column_id] = result[column_id] * frame_width / total_col_width \n
\n
return result\n
\n
## End of dirty patch ###############################################\n
\n
\n
\n
# 0.5 is too small and can crash pdf generation\n
min_column_width = 1\n
\n
max_line_len = {}\n
for listboxline in listboxline_list:\n
line_width = 0\n
col_count = 0\n
for column_id, column_property in listboxline.getColumnItemList():\n
if column_property is None: \n
string_property = \'\'\n
else:\n
string_property = str(column_property)\n
line_width += len(string_property)\n
if listboxline.isStatLine():\n
string_property = "%s longer" % string_property\n
new_column_max_len = max(len(string_property), max_line_len.get(column_id, 0))\n
update_dict = {}\n
update_dict[column_id] = new_column_max_len\n
max_line_len.update(update_dict)\n
\n
total_max_len = float(sum(max_line_len.values()))\n
result = {}\n
for column_id, max_len in max_line_len.items() :\n
result[column_id] = max( (max(max_len, 1) / total_max_len) * frame_width, min_column_width)\n
\n
return result\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value> <string>Script (Python):/nexedi/portal_skins/erp5_pdf_style/ListBox_getColumnWithDict</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>listboxline_list, is_domain_tree_mode, is_report_tree_mode, frame_width = 19.0, section_width = 4.0</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>listboxline_list</string>
<string>is_domain_tree_mode</string>
<string>is_report_tree_mode</string>
<string>frame_width</string>
<string>section_width</string>
<string>result</string>
<string>min_column_width</string>
<string>_getiter_</string>
<string>listboxline</string>
<string>line_width</string>
<string>col_count</string>
<string>_getattr_</string>
<string>column_property</string>
<string>None</string>
<string>string_property</string>
<string>str</string>
<string>len</string>
<string>column_id</string>
<string>max</string>
<string>min</string>
<string>_write_</string>
<string>total_col_width</string>
<string>_getitem_</string>
<string>max_line_len</string>
<string>new_column_max_len</string>
<string>update_dict</string>
<string>float</string>
<string>sum</string>
<string>total_max_len</string>
<string>max_len</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<tuple>
<float>19.0</float>
<float>4.0</float>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ListBox_getColumnWithDict</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<?xml version="1.0" encoding="utf-8" ?>\n
<template filename="default.pdf"\n
pagesize="A4"\n
landscape="1"\n
showboundary="1"\n
leftmargin="1cm"\n
rightmargin="1cm"\n
topmargin="1cm"\n
bottommargin="1cm"\n
allowsplitting="1">\n
\n
<stylesheet>\n
\n
<paragraphstyle name="Normal" fontname="Helvetica" fontsize="12" align="LEFT" firstLineIndent="0"/>\n
<paragraphstyle name="Bullet" fontname="Helvetica" fontsize="12" bulletFontName="Symbol" bulletFontSize="14" leftIndent="20" firstLineIndent="0" parent="Normal"/>\n
<paragraphstyle name="Heading1" parent="Normal" fontname="Helvetica-Bold" fontsize="16"/>\n
<paragraphstyle name="Heading2" parent="Normal" fontname="Helvetica-Bold" fontsize="15"/>\n
<paragraphstyle name="Heading3" parent="Normal" fontname="Helvetica-Bold" fontsize="14"/>\n
<paragraphstyle name="Heading4" parent="Normal" fontname="Helvetica-Bold" fontsize="13"/>\n
<paragraphstyle name="Heading5" parent="Normal" fontname="Helvetica-Bold" fontsize="12"/>\n
<paragraphstyle name="Heading6" parent="Normal" fontname="Helvetica-Bold" fontsize="11"/>\n
<paragraphstyle name="Heading7" parent="Normal" fontname="Helvetica-Bold" fontsize="10"/>\n
\n
<paragraphstyle name="Small" parent="Normal" fontname="Helvetica-Bold" fontsize="7"/>\n
<paragraphstyle name="Cell" parent="Normal" fontname="Helvetica-Bold" fontsize="12" alignment="center" />\n
<paragraphstyle name="CellHeading" parent="Normal" fontname="Helvetica-Bold" fontsize="13" alignment="center"/>\n
\n
<paragraphstyle name="Example" fontname="Courier-Oblique" fontsize="10" parent="Normal"/>\n
<paragraphstyle name="ParaHeadLine" fontname="Helvetica" fontsize="8" parent="Normal"/>\n
<paragraphstyle name="ParaHeadLine2" fontname="Helvetica" fontsize="6" parent="Normal"/>\n
<paragraphstyle name="ParaHeadLine3" align="RIGHT" fontname="Helvetica" fontsize="6"/>\n
\n
<paragraphstyle name="TableStandard" parent="Normal" fontname="Helvetica" fontsize="8" alignment="left" />\n
<paragraphstyle name="TableStandardLeftAligned" parent="Normal" fontname="Helvetica" fontsize="7" alignment="left" />\n
<paragraphstyle name="TableStandardRightAligned" parent="Normal" fontname="Helvetica" fontsize="7" alignment="right" />\n
<paragraphstyle name="TableHeader" parent="Normal" fontname="Helvetica-Oblique" fontsize="9" alignment="left" />\n
<paragraphstyle name="TableLastLine" parent="Normal" fontname="Helvetica-Oblique" fontsize="11" alignment="left" />\n
\n
<paragraphstyle name="Section1" parent="Normal" fontname="Helvetica-Bold" fontsize="10"/>\n
<paragraphstyle name="Section2" leftindent="0.4cm" parent="Normal" fontname="Helvetica-Bold" fontsize="7"/>\n
<paragraphstyle name="Section3" leftindent="0.8cm" parent="Normal" fontname="Helvetica" fontsize="7"/>\n
<paragraphstyle name="Section4" leftindent="1.2cm" parent="Normal" fontname="Helvetica" fontsize="7"/>\n
<paragraphstyle name="Section5" leftindent="1.6cm" parent="Normal" fontname="Helvetica" fontsize="7"/>\n
<paragraphstyle name="Section6" leftindent="2.0cm" parent="Normal" fontname="Helvetica" fontsize="7"/>\n
<paragraphstyle name="Section7" leftindent="2.4cm" parent="Normal" fontname="Helvetica" fontsize="7"/>\n
<paragraphstyle name="Section8" leftindent="2.8cm" parent="Normal" fontname="Helvetica" fontsize="7"/>\n
<paragraphstyle name="Section9" leftindent="3.2cm" parent="Normal" fontname="Helvetica" fontsize="7"/>\n
\n
\n
<tablestyle name="StandardTable">\n
<stylecmd expr="(\'FONT\', (0,0), (-1,-1), \'Helvetica\', 8)"/>\n
<stylecmd expr="(\'BOX\', (0,0), (-1,0), 1, colors.black)"/>\n
<stylecmd expr="(\'BOX\', (0,1), (-1,-1), 1, colors.black)"/>\n
<stylecmd expr="(\'BACKGROUND\', (0,0), (-1,0), (0.9,0.9,0.9))"/>\n
<stylecmd expr="(\'ALIGN\', (0,0), (-1,-1), \'CENTER\')"/>\n
<stylecmd expr="(\'VALIGN\', (0,0), (-1,-1), \'TOP\')"/>\n
</tablestyle>\n
<tablestyle name="StandardTableWithGrid">\n
<stylecmd expr="(\'INNERGRID\', (0,1), (-1,-1), 1, (0.5,0.5,0.5))"/>\n
<stylecmd expr="(\'FONT\', (0,0), (-1,-1), \'Helvetica\', 8)"/>\n
<stylecmd expr="(\'BOX\', (0,0), (-1,0), 1, colors.black)"/>\n
<stylecmd expr="(\'BOX\', (0,1), (-1,-1), 1, colors.black)"/>\n
<stylecmd expr="(\'BACKGROUND\', (0,0), (-1,0), (0.9,0.9,0.9))"/>\n
<stylecmd expr="(\'ALIGN\', (0,0), (-1,-1), \'CENTER\')"/>\n
<stylecmd expr="(\'VALIGN\', (0,0), (-1,-1), \'TOP\')"/>\n
</tablestyle>\n
<tablestyle name="MatrixBoxWithGrid">\n
<stylecmd expr="(\'INNERGRID\', (0,0), (-1,-1), 1, (0.5,0.5,0.5))"/>\n
<stylecmd expr="(\'FONT\', (0,0), (-1,-1), \'Helvetica\', 8)"/>\n
<stylecmd expr="(\'BOX\', (0,0), (-1,0), 1, colors.black)"/>\n
<stylecmd expr="(\'BOX\', (0,1), (-1,-1), 1, colors.black)"/>\n
<stylecmd expr="(\'BOX\', (0,0), (0,-1), 1, colors.black)"/>\n
<stylecmd expr="(\'BACKGROUND\', (0,0), (-1,0), (0.9,0.9,0.9))"/>\n
<stylecmd expr="(\'BACKGROUND\', (0,0), (0,-1), (0.9,0.9,0.9))"/>\n
<stylecmd expr="(\'ALIGN\', (0,0), (-1,-1), \'CENTER\')"/>\n
<stylecmd expr="(\'VALIGN\', (0,0), (-1,-1), \'TOP\')"/>\n
</tablestyle>\n
<tablestyle name="AttributesTable">\n
<stylecmd expr="(\'INNERGRID\', (0,0), (-1,-1), 1, (0.5,0.5,0.5))"/>\n
<stylecmd expr="(\'FONT\', (0,0), (-1,-1), \'Helvetica\', 8)"/>\n
<stylecmd expr="(\'BOX\', (0,0), (-1,-1), 1, colors.black)"/>\n
<stylecmd expr="(\'BACKGROUND\', (0,0), (0,-1), (0.9,0.9,0.9))"/>\n
<stylecmd expr="(\'ALIGN\', (0,0), (-1,-1), \'CENTER\')"/>\n
<stylecmd expr="(\'VALIGN\', (0,0), (-1,-1), \'TOP\')"/>\n
</tablestyle>\n
\n
</stylesheet>\n
\n
\n
<pagetemplate id="FirstPage" nextid="FirstPage" startframe="content">\n
<static>\n
<infostring align="left" x="28cm" y= "1cm" size="10" font="Helvetica" color="(0,0,0)" >Page %(page)s</infostring>\n
</static>\n
\n
<frame id="content"\n
nextid="content"\n
x="1.8cm"\n
y="0.6cm"\n
width="26cm"\n
height="19.5cm"\n
leftpadding="0.1cm"\n
rightpadding="0.1cm"\n
toppadding="0.2cm"\n
bottompadding="0.5cm"\n
showBoundary="1"/>\n
\n
</pagetemplate>\n
\n
</template>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/xml</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>empty_pdf</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.ERP5Form.PDFTemplate</string>
<string>PDFTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<?xml version="1.0" encoding="iso-8859-1" ?>\n
<document filename="erp5_list.pdf"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal" \n
tal:define="global frame_width python:25.8"\n
metal:define-macro="master">\n
<title>List Print</title>\n
<author>Nexedi</author>\n
<subject>Print Example</subject>\n
<content>\n
<tal:block metal:define-macro="form_layout"\n
tal:define="groups python: form.get_groups(include_empty=1);\n
field_errors python: request.get(\'field_errors\',{});\n
dummy python: request.set(\'here\',here);\n
listbox python:form.get_fields_in_group(groups[0])[0];">\n
\n
\n
<tal:block tal:condition="python: listbox.meta_type == \'ListBox\'">\n
<div metal:use-macro="here/listbox_pdf_macro/macros/listbox" />\n
</tal:block>\n
\n
\n
</tal:block>\n
</content>\n
</document>\n
\n
\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form_list</string> </value>
</item>
<item>
<key> <string>pdf_stylesheet</string> </key>
<value> <string>empty_pdf</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.ERP5Form.PDFTemplate</string>
<string>PDFTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<?xml version="1.0" encoding="iso-8859-1" ?>\n
<document filename="erp5_list.pdf"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
tal:define="global frame_width python:25.8"\n
metal:define-macro="master">\n
<title>List Print</title>\n
<author>Nexedi</author>\n
<subject>Print Example</subject>\n
<content>\n
<tal:block metal:define-macro="form_layout"\n
tal:define="group_list python: form.get_groups(include_empty=1);\n
field_errors python: request.get(\'field_errors\',{});\n
dummy python: request.set(\'here\',here); ">\n
\n
\n
<tal:block tal:repeat="group python: group_list[:3]">\n
<tal:block tal:define="field_list python: form.get_fields_in_group(group)">\n
<tal:block tal:condition="python: field_list not in [None, []]">\n
\n
<table splitbyrow="1" repeatrows="0" repeatcols="0" style="AttributesTable" >\n
<tal:block tal:repeat="field field_list">\n
<tal:block tal:condition="python:field.meta_type != \'HiddenStringField\'">\n
<tr>\n
<td tal:attributes="colwidth python: \'5cm\'" >\n
<para style="TableHeader" tal:content="python: here.Localizer.erp5_ui.gettext(field.get_value(\'title\')).encode(\'utf-8\')"/>\n
</td>\n
<td tal:attributes="colwidth python: None" tal:define="value python: field.get_value(\'default\')">\n
<tal:block tal:condition="python: same_type(value,[]) or same_type(value,())">\n
<tal:block tal:repeat="item value">\n
<para style="TableStandard" tal:content="python: str(item)" />\n
</tal:block>\n
</tal:block>\n
<tal:block tal:condition="python: (not (same_type(value,[]) or same_type(value,()) )) and (value != None)">\n
<para style="TableStandard" tal:content="python: \'%s \' % value" />\n
</tal:block>\n
<tal:block tal:condition="python: value == None">\n
<para style="TableStandard" tal:content="python: \' \'" />\n
</tal:block>\n
</td>\n
</tr>\n
</tal:block>\n
</tal:block>\n
</table>\n
\n
<table><tr><td tal:content="python: \' \'"></td></tr></table>\n
\n
</tal:block>\n
</tal:block>\n
\n
\n
</tal:block>\n
\n
<tal:block tal:condition="python: len(group_list) > 3">\n
<tal:block tal:define="field_list python: form.get_fields_in_group(group_list[3])">\n
<tal:block tal:condition="python: field_list not in [None, []]">\n
<tal:block tal:repeat="field field_list">\n
\n
<tal:block tal:condition="python: field.meta_type == \'MatrixBox\'">\n
<tal:block tal:define="matrixbox python:field;">\n
<div metal:use-macro="here/matrixbox_pdf_macro/macros/matrixbox" />\n
</tal:block>\n
</tal:block>\n
\n
\n
\n
<tal:block tal:condition="python: field.meta_type == \'ListBox\'">\n
\n
<tal:block tal:define="listbox python:field;" >\n
<div metal:use-macro="here/listbox_pdf_macro/macros/listbox" />\n
</tal:block>\n
\n
<table><tr><td tal:content="python: \' \'"></td></tr></table>\n
\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
\n
\n
</tal:block>\n
</content>\n
</document>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form_view</string> </value>
</item>
<item>
<key> <string>pdf_stylesheet</string> </key>
<value> <string>empty_pdf</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<html>\n
<head>\n
<title tal:content="python: here.Localizer.erp5_ui.gettext(template.title).encode(\'utf8\')" >Listbox PDF Macro</title>\n
</head>\n
<body>\n
\n
\n
***** ########### listbox: must define the field listbox before calling this macro ! ########### *****\n
<tal:block metal:define-macro="listbox">\n
\n
<tal:block tal:define="listboxline_list python:listbox.get_value(\'default\', render_format=\'list\', REQUEST=request);\n
selection_name python:listbox.get_value(\'selection_name\', REQUEST=request);\n
selection python:here.portal_selections.getSelectionFor(selection_name, REQUEST=request);\n
is_domain_tree_mode python:selection.domain_tree_mode;\n
is_report_tree_mode python:selection.report_tree_mode;" >\n
\n
\n
<tal:block tal:condition="python: len(listboxline_list) > 1" >\n
\n
<tal:block tal:condition="python: is_domain_tree_mode == 1" tal:define="domain_list python: selection.getDomainList()">\n
<tal:block tal:condition="python: len(domain_list) > 0" >\n
<table style="StandardTableWithGrid">\n
<tr>\n
<td tal:attributes="colwidth python:\'%.2fcm\' % float(frame_width)">\n
<para style="TableHeader" tal:content="python: domain_list[-1]" />\n
</td>\n
</tr>\n
</table>\n
</tal:block>\n
</tal:block>\n
\n
\n
<tal:block tal:define="global column_width python:here.ListBox_getColumnWithDict(listboxline_list, is_domain_tree_mode, is_report_tree_mode, frame_width=frame_width)"/>\n
\n
<tal:block tal:content="python:str(column_width)"/>\n
\n
<table splitbyrow="1" repeatrows="1" repeatcols="0" style="StandardTableWithGrid">\n
\n
<tal:block tal:repeat="listboxline python: listboxline_list">\n
<tr>\n
\n
<tal:block tal:condition="python: is_report_tree_mode">\n
\n
<td tal:attributes="colwidth python:\'%.2fcm\' % float(column_width[\'section_name\'])">\n
<tal:block tal:condition="listboxline/getSectionName">\n
<para style="TableHeader" tal:content="listboxline/getSectionName"\n
tal:attributes="style python:\'Section%s\' % listboxline.getSectionDepth()" />\n
</tal:block>\n
</td>\n
</tal:block>\n
\n
<tal:block tal:condition="python: listboxline.isTitleLine()">\n
<tal:block tal:repeat="column_item python: listboxline.getColumnItemList()">\n
<tal:block tal:define="column_property python: column_item[1];\n
column_id python: column_item[0]">\n
<tal:block tal:condition="python: column_property is not None">\n
<td tal:attributes="colwidth python:\'%.2fcm\' % float(column_width[column_id])">\n
<para style="TableHeader" tal:content="python: here.Localizer.erp5_ui.gettext(str(column_property)).encode(\'utf8\')"/>\n
</td>\n
</tal:block>\n
<tal:block tal:condition="python: column_property is None">\n
<td tal:attributes="colwidth python:\'%.2fcm\' % float(column_width[column_id])">\n
<para style="TableHeader" tal:content="python: \'\'" />\n
</td>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
\n
\n
<tal:block tal:condition="python: listboxline.isDataLine() ">\n
<tal:block tal:repeat="column_item python: listboxline.getColumnItemList()">\n
<tal:block tal:define="column_property python: column_item[1];\n
column_id python: column_item[0]">\n
<tal:block tal:condition="python: column_property is not None">\n
<td tal:attributes="colwidth python:\'%.2fcm\' % float(column_width[column_id])">\n
<para style="TableStandard" tal:content="python: str(column_property)"\n
tal:attributes="style python:column_id in (\'gap_id\', \'id\', \'title\', \'translated_portal_type\', \'third_party\', \'translated_simulation_state_title\') and \'TableStandardLeftAligned\' or \'TableStandardRightAligned\'" />\n
</td>\n
</tal:block>\n
<tal:block tal:condition="python: column_property is None">\n
<td>\n
<para style="TableStandard" tal:content="python: \'\' " />\n
</td>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
\n
<tal:block tal:condition="python: listboxline.isStatLine() or listboxline.isSummaryLine()">\n
<tal:block tal:repeat="column_item python: listboxline.getColumnItemList()">\n
<tal:block tal:define="column_property python: column_item[1];\n
column_id python: column_item[0]">\n
<tal:block tal:condition="python: column_property is not None">\n
<td tal:attributes="colwidth python:\'%.2fcm\' % float(column_width[column_id])">\n
<para style="TableLastLine" tal:content="python: str(column_property)" />\n
</td>\n
</tal:block>\n
<tal:block tal:condition="python: column_property is None">\n
<td tal:attributes="colwidth python:\'%.2fcm\' % float(column_width[column_id])">\n
<para style="TableLastLine"> </para>\n
</td>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
\n
</tr>\n
</tal:block>\n
\n
\n
</table>\n
</tal:block>\n
\n
\n
\n
</tal:block>\n
</tal:block>\n
\n
\n
</body>\n
</html>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>listbox_pdf_macro</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<html>\n
<head>\n
<title tal:content="template/title">Matrixbox PDF Macro</title>\n
</head>\n
<body> \n
\n
\n
***** ########### matrixbox: must define the field matrixbox before calling this macro ! ########### *****\n
<tal:block metal:define-macro="matrixbox"> \n
\n
<tal:block tal:define="list python:matrixbox.get_value(\'default\', render_format=\'list\', REQUEST=request);" >\n
\n
<tal:block tal:repeat="tab list">\n
<table splitbyrow="1" repeatrows="1" repeatcols="0" style="MatrixBoxWithGrid">\n
<tal:block tal:repeat="row tab">\n
<tr>\n
<tal:block tal:repeat="column row">\n
<td>\n
\n
<para style="TableStandard" tal:content="python: column" />\n
\n
</td>\n
</tal:block>\n
</tr>\n
</tal:block>\n
</table>\n
<table><tr><td tal:content="python: \' \'"></td></tr></table>\n
</tal:block>\n
\n
</tal:block>\n
\n
\n
\n
</tal:block> \n
\n
\n
</body>\n
</html>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>matrixbox_pdf_macro</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<?xml version="1.0" encoding="utf-8" ?>\n
<template filename="default.pdf"\n
pagesize="A4"\n
landscape="0"\n
showboundary="1"\n
leftmargin="1cm"\n
rightmargin="1cm"\n
topmargin="1cm"\n
bottommargin="1cm"\n
allowsplitting="1">\n
\n
<stylesheet>\n
\n
<paragraphstyle name="Normal" fontname="Helvetica" fontsize="9" align="LEFT" firstLineIndent="0"/>\n
<paragraphstyle name="Bullet" fontname="Helvetica" fontsize="9" bulletFontName="Symbol" bulletFontSize="8" leftIndent="20" firstLineIndent="0" parent="Normal"/>\n
<paragraphstyle name="Title" parent="Normal" fontname="Helvetica-Bold" fontsize="32" align="CENTER"/>\n
<paragraphstyle name="Heading1" parent="Normal" fontname="Helvetica-Bold" fontsize="16" spacebefore="20"/>\n
<paragraphstyle name="Heading2" parent="Normal" fontname="Helvetica-Bold" fontsize="15"/>\n
<paragraphstyle name="Heading3" parent="Normal" fontname="Helvetica-Bold" fontsize="14"/>\n
<paragraphstyle name="Heading4" parent="Normal" fontname="Helvetica-Bold" fontsize="13"/>\n
<paragraphstyle name="Heading5" parent="Normal" fontname="Helvetica-Bold" fontsize="12"/>\n
<paragraphstyle name="Heading6" parent="Normal" fontname="Helvetica-Bold" fontsize="11"/>\n
<paragraphstyle name="Heading7" parent="Normal" fontname="Helvetica-Bold" fontsize="10"/>\n
<paragraphstyle name="Heading8" parent="Normal" fontname="Helvetica-Bold" fontsize="10"/>\n
<paragraphstyle name="Heading9" parent="Normal" fontname="Helvetica-Bold" fontsize="10"/>\n
\n
<paragraphstyle name="Small" parent="Normal" fontname="Helvetica-Bold" fontsize="6"/>\n
<paragraphstyle name="Cell" parent="Normal" fontname="Helvetica-Bold" fontsize="9" alignment="center" />\n
<paragraphstyle name="CellHeading" parent="Normal" fontname="Helvetica-Bold" fontsize="9" alignment="center"/>\n
\n
<paragraphstyle name="Example" fontname="Courier-Oblique" fontsize="10" parent="Normal"/>\n
<paragraphstyle name="ParaHeadLine" fontname="Helvetica" fontsize="8" parent="Normal"/>\n
<paragraphstyle name="ParaHeadLine2" fontname="Helvetica" fontsize="6" parent="Normal"/>\n
<paragraphstyle name="ParaHeadLine3" align="RIGHT" fontname="Helvetica" fontsize="6"/>\n
\n
<paragraphstyle name="TableStandard" parent="Normal" fontname="Helvetica" fontsize="7" alignment="right" />\n
<paragraphstyle name="TableStandardLeftAligned" parent="Normal" fontname="Helvetica" fontsize="7" alignment="left" />\n
<paragraphstyle name="TableStandardRightAligned" parent="Normal" fontname="Helvetica" fontsize="7" alignment="right" />\n
<paragraphstyle name="TableHeader" parent="Normal" fontname="Helvetica-Oblique" fontsize="7" alignment="left" />\n
<paragraphstyle name="TableLastLine" parent="Normal" fontname="Helvetica-Oblique" fontsize="7" alignment="right" />\n
\n
<paragraphstyle name="Section1" parent="Normal" fontname="Helvetica-Bold" fontsize="10"/>\n
<paragraphstyle name="Section2" leftindent="0.4cm" parent="Normal" fontname="Helvetica-Bold" fontsize="7"/>\n
<paragraphstyle name="Section3" leftindent="0.8cm" parent="Normal" fontname="Helvetica" fontsize="7"/>\n
<paragraphstyle name="Section4" leftindent="1.2cm" parent="Normal" fontname="Helvetica" fontsize="7"/>\n
<paragraphstyle name="Section5" leftindent="1.6cm" parent="Normal" fontname="Helvetica" fontsize="7"/>\n
<paragraphstyle name="Section6" leftindent="2.0cm" parent="Normal" fontname="Helvetica" fontsize="7"/>\n
<paragraphstyle name="Section7" leftindent="2.4cm" parent="Normal" fontname="Helvetica" fontsize="7"/>\n
<paragraphstyle name="Section8" leftindent="2.8cm" parent="Normal" fontname="Helvetica" fontsize="7"/>\n
<paragraphstyle name="Section9" leftindent="3.2cm" parent="Normal" fontname="Helvetica" fontsize="7"/>\n
\n
<tablestyle name="StandardTable">\n
<stylecmd expr="(\'FONT\', (0,0), (-1,-1), \'Helvetica\', 8)"/>\n
<stylecmd expr="(\'BOX\', (0,0), (-1,0), 1, colors.black)"/>\n
<stylecmd expr="(\'BOX\', (0,1), (-1,-1), 1, colors.black)"/>\n
<stylecmd expr="(\'BACKGROUND\', (0,0), (-1,0), (0.9,0.9,0.9))"/>\n
<stylecmd expr="(\'ALIGN\', (0,0), (-1,-1), \'CENTER\')"/>\n
<stylecmd expr="(\'VALIGN\', (0,0), (-1,-1), \'TOP\')"/>\n
<stylecmd expr="(\'LEFTPADDING\', (0,0), (-1,-1), 1)"/>\n
<stylecmd expr="(\'RIGHTPADDING\', (0,0), (-1,-1), 1)"/>\n
<stylecmd expr="(\'BOTTOMPADDING\', (0,0), (-1,-1), 0)"/>\n
<stylecmd expr="(\'TOPPADDING\', (0,0), (-1,-1), 1)"/>\n
</tablestyle>\n
<tablestyle name="StandardTableWithGrid">\n
<stylecmd expr="(\'INNERGRID\', (0,1), (-1,-1), 1, (0.5,0.5,0.5))"/>\n
<stylecmd expr="(\'FONT\', (0,0), (-1,-1), \'Helvetica\', 8)"/>\n
<stylecmd expr="(\'BOX\', (0,0), (-1,0), 1, colors.black)"/>\n
<stylecmd expr="(\'BOX\', (0,1), (-1,-1), 1, colors.black)"/>\n
<stylecmd expr="(\'BACKGROUND\', (0,0), (-1,0), (0.9,0.9,0.9))"/>\n
<stylecmd expr="(\'ALIGN\', (0,0), (-1,-1), \'CENTER\')"/>\n
<stylecmd expr="(\'VALIGN\', (0,0), (-1,-1), \'TOP\')"/>\n
<stylecmd expr="(\'LEFTPADDING\', (0,0), (-1,-1), 2)"/>\n
<stylecmd expr="(\'RIGHTPADDING\', (0,0), (-1,-1), 1)"/>\n
<stylecmd expr="(\'BOTTOMPADDING\', (0,0), (-1,-1), 0)"/>\n
<stylecmd expr="(\'TOPPADDING\', (0,0), (-1,-1), 1)"/>\n
</tablestyle>\n
<tablestyle name="MatrixBoxWithGrid">\n
<stylecmd expr="(\'INNERGRID\', (0,0), (-1,-1), 1, (0.5,0.5,0.5))"/>\n
<stylecmd expr="(\'FONT\', (0,0), (-1,-1), \'Helvetica\', 8)"/>\n
<stylecmd expr="(\'BOX\', (0,0), (-1,0), 1, colors.black)"/>\n
<stylecmd expr="(\'BOX\', (0,1), (-1,-1), 1, colors.black)"/>\n
<stylecmd expr="(\'BOX\', (0,0), (0,-1), 1, colors.black)"/>\n
<stylecmd expr="(\'BACKGROUND\', (0,0), (-1,0), (0.9,0.9,0.9))"/>\n
<stylecmd expr="(\'BACKGROUND\', (0,0), (0,-1), (0.9,0.9,0.9))"/>\n
<stylecmd expr="(\'ALIGN\', (0,0), (-1,-1), \'CENTER\')"/>\n
<stylecmd expr="(\'VALIGN\', (0,0), (-1,-1), \'TOP\')"/>\n
<stylecmd expr="(\'LEFTPADDING\', (0,0), (-1,-1), 2)"/>\n
<stylecmd expr="(\'RIGHTPADDING\', (0,0), (-1,-1), 1)"/>\n
<stylecmd expr="(\'BOTTOMPADDING\', (0,0), (-1,-1), 0)"/>\n
<stylecmd expr="(\'TOPPADDING\', (0,0), (-1,-1), 1)"/>\n
</tablestyle>\n
<tablestyle name="AttributesTable">\n
<stylecmd expr="(\'INNERGRID\', (0,0), (-1,-1), 1, (0.1,0.1,0.1))"/>\n
<stylecmd expr="(\'FONT\', (0,0), (-1,-1), \'Helvetica\', 8)"/>\n
<stylecmd expr="(\'BOX\', (0,0), (-1,-1), 1, colors.black)"/>\n
<stylecmd expr="(\'BACKGROUND\', (0,0), (0,-1), (0.9,0.9,0.9))"/>\n
<stylecmd expr="(\'ALIGN\', (0,0), (-1,-1), \'CENTER\')"/>\n
<stylecmd expr="(\'VALIGN\', (0,0), (-1,-1), \'TOP\')"/>\n
<stylecmd expr="(\'LEFTPADDING\', (0,0), (-1,-1), 2)"/>\n
<stylecmd expr="(\'RIGHTPADDING\', (0,0), (-1,-1), 1)"/>\n
<stylecmd expr="(\'BOTTOMPADDING\', (0,0), (-1,-1), 0)"/>\n
<stylecmd expr="(\'TOPPADDING\', (0,0), (-1,-1), 1)"/>\n
</tablestyle>\n
\n
</stylesheet>\n
\n
\n
<pagetemplate id="FirstPage" nextid="FirstPage" startframe="content">\n
<static>\n
<infostring align="left" x="1cm" y= "29cm" size="8" font="Helvetica" color="(0,0,0)"\n
tal:content="python: here.Localizer.erp5_ui.gettext(\'Printed by %(user)s at %(date)s\') % {\'user\':user.getUserName(), \'date\':DateTime()}" >Printed by</infostring>\n
<infostring align="left" x="18cm" y= "0.5cm" size="10" font="Helvetica" color="(0,0,0)" >Page %(page)s</infostring>\n
</static>\n
\n
<frame id="content"\n
nextid="content"\n
x="1cm"\n
y="1cm"\n
width="19cm"\n
height="27.7cm"\n
leftpadding="0cm"\n
rightpadding="0cm"\n
toppadding="0cm"\n
bottompadding="0cm"\n
showBoundary="0"/>\n
\n
</pagetemplate>\n
\n
</template>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>report_pdf</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.ERP5Form.PDFTemplate</string>
<string>PDFTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<?xml version="1.0" encoding="iso-8859-1" ?>\n
<document filename="erp5_list.pdf"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
tal:define="global frame_width python:19"\n
metal:define-macro="master">\n
<title>List Print</title>\n
<author>ERP5</author>\n
<subject>Print Example</subject>\n
<content tal:define="group_list python: form.get_groups(include_empty=1);\n
field_errors python: request.get(\'field_errors\',{});\n
dummy python: request.set(\'here\',here); ">\n
\n
<action name="nextPageTemplate">\n
<parameter>FirstPage</parameter>\n
</action>\n
\n
<para tal:content="form/title" style="Title" i18n:translate="" i18n:domain="ui">toto</para>\n
<spacer height="100"/>\n
\n
\n
<tal:block tal:repeat="group python: group_list[:3]">\n
<tal:block tal:define="field_list python: form.get_fields_in_group(group)">\n
<tal:block tal:condition="python: field_list not in [None, []]">\n
\n
<table splitbyrow="1" repeatrows="0" repeatcols="0" style="AttributesTable" >\n
<tal:block tal:repeat="field field_list">\n
<tal:block tal:condition="python:field.meta_type != \'HiddenStringField\'">\n
<tr>\n
<td tal:attributes="colwidth python: \'5cm\'" >\n
<para style="TableHeader" tal:content="python: here.Localizer.erp5_ui.gettext(field.get_value(\'title\')).encode(\'utf-8\')" />\n
</td>\n
<td tal:attributes="colwidth python: None" tal:define="value python: field.get_value(\'default\')">\n
<tal:block tal:condition="python: same_type(value,[]) or same_type(value,())">\n
<tal:block tal:repeat="item value">\n
<para style="TableStandard" tal:content="python: str(item)" />\n
</tal:block>\n
</tal:block>\n
<tal:block tal:condition="python: not (same_type(value, []) or same_type(value, ()) or same_type(value, DateTime()) or same_type(value, None))">\n
<para style="TableStandard" tal:content="python: \'%s \' % value" />\n
</tal:block>\n
<tal:block tal:condition="python: same_type(value, DateTime())">\n
<para style="TableStandard" tal:content="python: field.render_view(value)" />\n
</tal:block>\n
<tal:block tal:condition="python: value is None">\n
<para style="TableStandard" tal:content="python: \' \'" />\n
</tal:block>\n
</td>\n
</tr>\n
</tal:block>\n
</tal:block>\n
</table>\n
\n
<table><tr><td tal:content="python: \' \'"></td></tr></table>\n
\n
</tal:block>\n
</tal:block>\n
\n
\n
</tal:block>\n
\n
<tal:block tal:condition="python: len(group_list) > 3">\n
<tal:block tal:define="field_list python: form.get_fields_in_group(group_list[3])">\n
<tal:block tal:condition="python: field_list not in [None, []]">\n
<tal:block tal:repeat="field field_list">\n
\n
<tal:block tal:condition="python: field.meta_type == \'MatrixBox\'">\n
<tal:block tal:define="matrixbox python:field;">\n
<div metal:use-macro="here/matrixbox_pdf_macro/macros/matrixbox" />\n
</tal:block>\n
</tal:block>\n
\n
\n
\n
<tal:block tal:condition="python: field.meta_type == \'ListBox\'">\n
\n
<tal:block tal:define="listbox python:field;" >\n
<div metal:use-macro="here/listbox_pdf_macro/macros/listbox" />\n
</tal:block>\n
\n
<table><tr><td tal:content="python: \' \'"></td></tr></table>\n
\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
\n
\n
<spacer height="100"/>\n
\n
\n
<tal:block tal:define="portal_object here/portal_url/getPortalObject">\n
<tal:block tal:repeat="report_item python:report_method()">\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 | report_item/getTranslatedTitle">\n
<tal:block tal:condition="report_item/getTitle">\n
<para style="Heading1" tal:content="report_item/getTitle"\n
i18n:translate=""\n
tal:attributes="style python:\'Heading%s\' % report_item.getLevel()">toto</para>\n
\n
<para/>\n
</tal:block>\n
<tal:block tal:condition="report_item/getTranslatedTitle">\n
<para style="Heading1" tal:content="report_item/getTranslatedTitle"\n
tal:attributes="style python:\'Heading%s\' % report_item.getLevel()">toto</para>\n
\n
<para/>\n
</tal:block>\n
</tal:block>\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>\n
</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
\n
\n
</content>\n
\n
</document>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>report_view</string> </value>
</item>
<item>
<key> <string>pdf_stylesheet</string> </key>
<value> <string>report_pdf</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
2006-02-24 Seb
* Created this business template in order to split erp5_core
\ No newline at end of file
The ERP5 Pdf style used in order to display nice PDF reports.
\ No newline at end of file
None
\ No newline at end of file
erp5_pdf_style
\ No newline at end of file
erp5_pdf_style
\ No newline at end of file
0.8
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment