Commit e9446628 authored by Rie Kozai's avatar Rie Kozai

Improve and finalize ODS style.

Provide a report function for ODS style.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@15854 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 4b6d633c
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.CMFCore.ActionInformation</string>
<string>ActionInformation</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_exchange</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>export_ods</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>1.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Export as Spreadsheet</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.CMFCore.Expression</string>
<string>Expression</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/Base_viewAsODSDialog</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.CMFCore.ActionInformation</string>
<string>ActionInformation</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_report</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ods_report</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>1.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ODS Report</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.CMFCore.Expression</string>
<string>Expression</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/Folder_viewContentListAsODSReportDialog</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?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/>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>erp5_ods_core</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>
<none/>
</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>from Products.ERP5Type.Document import newTempOOoDocument\n
td = newTempOOoDocument(context, \'testOOo\')\n
td.edit(base_content_type=\'application/vnd.oasis.opendocument.spreadsheet\', base_data=1)\n
return [(\'\', \'\')] + td.getTargetFormatItemList()\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></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>0</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>Products.ERP5Type.Document</string>
<string>newTempOOoDocument</string>
<string>context</string>
<string>td</string>
<string>_getattr_</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Base_getExportFormat</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.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</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>context.getPortalObject().portal_skins.changeSkin(\'ODS\')\n
return getattr(context, form_id)()\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>form_id=\'\'</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>form_id</string>
<string>_getattr_</string>
<string>context</string>
<string>getattr</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<tuple>
<string></string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Base_viewAsODS</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.ERP5Form.Form</string>
<string>ERP5Form</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/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>Base_viewAsODS</string> </value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>your_format</string>
<string>landscape</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Base_viewAsODSDialog</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>BusinessTemplate_viewExportBusinessTemplateDialo</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_dialog</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Export OpenOffice Spreadsheet</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</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.Formulator.StandardFields</string>
<string>CheckBoxField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>landscape</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Landscape</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>ListField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>your_format</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>unknown_selection</string> </key>
<value> <string>You selected an item that was not in the list.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra_item</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>first_item</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>items</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra_item</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>first_item</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>items</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra_item</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>first_item</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>items</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Format</string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>here/Base_getExportFormat</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>
<none/>
</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>from Products.ERP5Form.Report import ReportSection\n
from Products.ERP5Type.Message import Message\n
\n
form = context\n
request = context.REQUEST\n
selection_name=request.form[\'selection_name\']\n
translate = lambda msg: Message(\'ui\', msg)\n
\n
report_section_list = []\n
test = []\n
portal = context.getPortalObject()\n
\n
# get all documents in the selection\n
for doc in portal.portal_selections.callSelectionFor(selection_name, context=form):\n
doc = doc.getObject()\n
title = doc.getTitle()\n
title = translate(title)\n
\n
report_section_list.append(ReportSection(level=1, title=title, form_id=None))\n
for action in portal.portal_actions.listFilteredActionsFor(doc)[\'object_view\']:\n
form_id = action[\'url\'].split(\'/\')[-1].split(\'?\')[0]\n
action_title= action[\'title\']\n
action_title = translate(action_title)\n
if str(action_title) != \'History\' and str(action_title) != \'Metadata\':\n
report_section_list.append(ReportSection(path=doc.getPath(), form_id=form_id, level=2, title=action_title))\n
\n
return report_section_list\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></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>0</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>Products.ERP5Form.Report</string>
<string>ReportSection</string>
<string>Products.ERP5Type.Message</string>
<string>Message</string>
<string>context</string>
<string>form</string>
<string>_getattr_</string>
<string>request</string>
<string>_getitem_</string>
<string>selection_name</string>
<string>translate</string>
<string>report_section_list</string>
<string>test</string>
<string>portal</string>
<string>_getiter_</string>
<string>doc</string>
<string>title</string>
<string>None</string>
<string>action</string>
<string>form_id</string>
<string>action_title</string>
<string>str</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Folder_getContentListAsODSReportSectionList</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.ERP5Form.Report</string>
<string>ERP5Report</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/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
<string>center</string>
<string>bottom</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>center</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Folder_viewContentListAsODSReport</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>Folder_viewContentListAsODSReport</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>report_view</string> </value>
</item>
<item>
<key> <string>report_method</string> </key>
<value> <string>Folder_getContentListAsODSReportSectionList</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Folder_viewContentListAsODSReport</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</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.Form</string>
<string>ERP5Form</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/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>Folder_viewContentListAsODSReport</string> </value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
<string>center</string>
<string>bottom</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>center</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>portal_skin</string>
<string>your_format</string>
<string>landscape</string>
<string>sheet_per_ReportSection</string>
</list>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Folder_viewContentListAsODSReportDialog</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>Folder_viewContentListAsODSReportDialog</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_dialog</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Export Content as SpreadSheet</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</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.Formulator.StandardFields</string>
<string>CheckBoxField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>landscape</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>landscape</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>StringField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>portal_skin</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string>hidden</string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string>ODS</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Portal Skin</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>CheckBoxField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>sheet_per_ReportSection</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>export a sheet per ReportSection</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>ListField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>your_format</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>unknown_selection</string> </key>
<value> <string>You selected an item that was not in the list.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra_item</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>first_item</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>items</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra_item</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>first_item</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>items</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra_item</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>first_item</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>items</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Format</string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>here/Base_getExportFormat</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -51,17 +51,11 @@ ...@@ -51,17 +51,11 @@
<tuple/> <tuple/>
</value> </value>
</item> </item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>business_template_registered_skin_selections</string> </key> <key> <string>business_template_registered_skin_selections</string> </key>
<value> <value>
<tuple> <tuple>
<string>CSV</string> <string>ODS</string>
</tuple> </tuple>
</value> </value>
</item> </item>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>File</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts81835345.26</string> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>Base_getODSStyleSheet</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/vnd.oasis.opendocument.spreadsheet</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">UEsDBBQAAAAAAHJ8zjaFbDmKLgAAAC4AAAAIAAAAbWltZXR5cGVhcHBsaWNhdGlvbi92bmQub2Fz
aXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0UEsDBBQAAAAAAHJ8zjYAAAAAAAAAAAAAAAAaAAAA
Q29uZmlndXJhdGlvbnMyL3N0YXR1c2Jhci9QSwMEFAAIAAgAcnzONgAAAAAAAAAAAAAAACcAAABD
b25maWd1cmF0aW9uczIvYWNjZWxlcmF0b3IvY3VycmVudC54bWwDAFBLBwgAAAAAAgAAAAAAAABQ
SwMEFAAAAAAAcnzONgAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvZmxvYXRlci9QSwME
FAAAAAAAcnzONgAAAAAAAAAAAAAAABoAAABDb25maWd1cmF0aW9uczIvcG9wdXBtZW51L1BLAwQU
AAAAAAByfM42AAAAAAAAAAAAAAAAHAAAAENvbmZpZ3VyYXRpb25zMi9wcm9ncmVzc2Jhci9QSwME
FAAAAAAAcnzONgAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvbWVudWJhci9QSwMEFAAA
AAAAcnzONgAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvdG9vbGJhci9QSwMEFAAAAAAA
cnzONgAAAAAAAAAAAAAAAB8AAABDb25maWd1cmF0aW9uczIvaW1hZ2VzL0JpdG1hcHMvUEsDBBQA
CAAIAHJ8zjYAAAAAAAAAAAAAAAALAAAAY29udGVudC54bWzlWt+P4jYQfu9fYVGpah9CIMCy0F1O
J7V9utVW3W3Vt8okDriXxJHt8KN/fcd2EpwcYRNg0ak9ndhlPDP+/M3YnvHdw4ddHKEN4YKy5LE3
7A96iCQ+C2iyeuz9/vqLc9/7sPjmgYUh9ck8YH4Wk0Q6Pksk/ERgnYi5GX3sZTyZMyyomCc4JmIu
/TlLSVJYzW3tuZ7LSITcR63NtbJtLclOtjVWuhVbvGw/s1a2rQOOt22NlS6QapuHrK3xTkROyID1
OMWS1lDsIpp8fuytpUznrrvdbvvbUZ/xlTuczWauHi0B+6VemvFIawW+SyKiJhPusD90C92YSNwW
n9K1ISVZvCS8NTVY4i+iKjar1hmxWTVQ468xb50bWrka3lHQPryjwLaNsVw3xOTefYJB/fH06ZAL
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</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <long>10479</long> </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>OFS.Image</string>
<string>File</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts87948872.45</string> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>Base_getODSStyleSheetLandscape</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/octet-stream</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">UEsDBBQAAAAAAORNGDeFbDmKLgAAAC4AAAAIAAAAbWltZXR5cGVhcHBsaWNhdGlvbi92bmQub2Fz
aXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0UEsDBBQAAAAAAORNGDcAAAAAAAAAAAAAAAAaAAAA
Q29uZmlndXJhdGlvbnMyL3N0YXR1c2Jhci9QSwMEFAAIAAgA5E0YNwAAAAAAAAAAAAAAACcAAABD
b25maWd1cmF0aW9uczIvYWNjZWxlcmF0b3IvY3VycmVudC54bWwDAFBLBwgAAAAAAgAAAAAAAABQ
SwMEFAAAAAAA5E0YNwAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvZmxvYXRlci9QSwME
FAAAAAAA5E0YNwAAAAAAAAAAAAAAABoAAABDb25maWd1cmF0aW9uczIvcG9wdXBtZW51L1BLAwQU
AAAAAADkTRg3AAAAAAAAAAAAAAAAHAAAAENvbmZpZ3VyYXRpb25zMi9wcm9ncmVzc2Jhci9QSwME
FAAAAAAA5E0YNwAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvbWVudWJhci9QSwMEFAAA
AAAA5E0YNwAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvdG9vbGJhci9QSwMEFAAAAAAA
5E0YNwAAAAAAAAAAAAAAAB8AAABDb25maWd1cmF0aW9uczIvaW1hZ2VzL0JpdG1hcHMvUEsDBBQA
CAAIAORNGDcAAAAAAAAAAAAAAAALAAAAY29udGVudC54bWzlW01v4zYQvfdXEC5Q7B5kWbKdxG6S
xQJtTxukaLZFbwUt0TK7kiiQVJz013dIfVhSLFtUFDVAF4FjkTPDxzfDITnKXn96ikL0SLigLL6Z
ONPZBJHYYz6Ng5vJ719/sa4mn26/u2bbLfXI2mdeGpFYWh6LJfxGoB2LddZ7M0l5vGZYULGOcUTE
WnprlpC40FpXpdd6rKxFyOews7oWrmpL8iS7KivZmi7edB9ZC1e1fY73XZWVLJBaVd+yrspPIrS2
DFiPEixpA8VTSONvN5OdlMnatvf7/XQ/nzIe2M5qtbJ1bwnYK+WSlIdayvdsEhI1mLCdqWMXshGR
uCs+JVuFFKfRhvDO1GCJX3hVPAadI+IxaKHG22HeOTa0cN29c7+7e+d+VTfCctfikyv7Djr1x92X
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
O79yvSV/+fn2zjWEW/V3asCszF5pElZjJPqBQ6UeOCrqSruvByy1WW6ZUFzN365WZULZZnUJo2Z2
29BSFtGLsttQ8im9vxclU5/a5zW1n9ZedoBQ8m/v7+/VWkuN1peSTtS8JRL5/FUnOidV9WLG8xdL
S8zE9/311e3aWxmp+ZKGabSK4Pl+85omOY31ue3ByG3/xyjb3wBQSwcIqFmkBw8JAABYRQAAUEsD
BBQAAAAAAORNGDc4o5hQpwMAAKcDAAAIAAAAbWV0YS54bWw8P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJVVEYtOCI/Pgo8b2ZmaWNlOmRvY3VtZW50LW1ldGEgeG1sbnM6b2ZmaWNlPSJ1cm46
b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiIHhtbG5zOnhsaW5r
PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3Jn
L2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOm1ldGE9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9j
dW1lbnQ6eG1sbnM6bWV0YToxLjAiIHhtbG5zOm9vbz0iaHR0cDovL29wZW5vZmZpY2Uub3JnLzIw
MDQvb2ZmaWNlIiBvZmZpY2U6dmVyc2lvbj0iMS4wIj48b2ZmaWNlOm1ldGE+PG1ldGE6Z2VuZXJh
dG9yPk9wZW5PZmZpY2Uub3JnLzIuMCRMaW51eCBPcGVuT2ZmaWNlLm9yZ19wcm9qZWN0LzY4MG01
JEJ1aWxkLTkwNzM8L21ldGE6Z2VuZXJhdG9yPjxtZXRhOmNyZWF0aW9uLWRhdGU+MjAwNy0wNi0w
OFQxODo0MzozNzwvbWV0YTpjcmVhdGlvbi1kYXRlPjxkYzpkYXRlPjIwMDctMDgtMjRUMTE6NDc6
MDk8L2RjOmRhdGU+PGRjOmxhbmd1YWdlPmZyLUZSPC9kYzpsYW5ndWFnZT48bWV0YTplZGl0aW5n
LWN5Y2xlcz4wPC9tZXRhOmVkaXRpbmctY3ljbGVzPjxtZXRhOmVkaXRpbmctZHVyYXRpb24+UFQw
UzwvbWV0YTplZGl0aW5nLWR1cmF0aW9uPjxtZXRhOnVzZXItZGVmaW5lZCBtZXRhOm5hbWU9Iklu
Zm8gMSIvPjxtZXRhOnVzZXItZGVmaW5lZCBtZXRhOm5hbWU9IkluZm8gMiIvPjxtZXRhOnVzZXIt
ZGVmaW5lZCBtZXRhOm5hbWU9IkluZm8gMyIvPjxtZXRhOnVzZXItZGVmaW5lZCBtZXRhOm5hbWU9
IkluZm8gNCIvPjxtZXRhOmRvY3VtZW50LXN0YXRpc3RpYyBtZXRhOnRhYmxlLWNvdW50PSIxIiBt
ZXRhOmNlbGwtY291bnQ9IjI1Ii8+PC9vZmZpY2U6bWV0YT48L29mZmljZTpkb2N1bWVudC1tZXRh
PlBLAwQUAAgACADkTRg3AAAAAAAAAAAAAAAAGAAAAFRodW1ibmFpbHMvdGh1bWJuYWlsLnBuZ31Y
dVAUQPtWQBoBaemWODqUlBKBo5sjPIGjOZCSo6SlQdojlDhAuo6S8OhG4mgRQeroPvLnN/P9+/12
Zndn3tl9Z5/Z2X2e543R01EnI35K/ODBAzKN16oG/+bUf/0LIf6/kZDEmvbBA/bfGqpKRu9z9nIV
XXPUrvr7nyjV8T12jcTh/KEh+igF15Qr40uN4Qc7wyXKOAEPrud8iAfzBI+QeJG5YalMseGqekuv
WnPsDJk0P3DE4Knt4hRpx7LSkRC7EukMGVDMr8f2PBHakM7fXN482929rpodq1pTPFH70XYy1pl7
4b+ZeyAXsqHgUpmdk9PgRt6QXZyfObIekIporGzsfZ6DvYyXP0eJTmHNSgJNc7CH8W4hNcuk7WJc
2+L5I3OTwtxemxvMQ00jNy59O5KjisezKSPf7xopguX9gx7W19ejb8UhM1mhmfgjKSVJdujMdFbS
TilXIcvvb2Qu/D7bCjOXm0txsF4cdWZcg0bmFm0Bpp3tzrwruRJu14uuB6vWXreLGMhfdKy5uVVt
UFDQxpXf7OgAhhNQbzP++ZxgQXvFKwh5kjKW0Rup5l7HgB3+aDSUYHHp+YMl6M5xYWLey8Fte/NT
y1E32dTUbOpGu34rWKc9ZOjX5XbU9tauSEObmYXEOmCMdkpqiwQVoQdYsZQiURT0WButVWR2yYbD
10Ip2J9jm1J9W0XcyjADPzgRpy4aOxaX7j+YYFfJLyZ8ukbuHRRGV7yK+jmA051LLa6arJm7k8Ja
kN+6uJ9emV+tX1FGujIv0fEI3jU4XuXvSBfDub223ohdjnAtubIu0buL5fPy8FhAOj839tvIuyMc
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</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <long>17214</long> </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>OFS.Image</string>
<string>File</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts87948936.36</string> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>Base_getODSStyleSheetListLandscape</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/octet-stream</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">UEsDBBQAAAAAABJOGDeFbDmKLgAAAC4AAAAIAAAAbWltZXR5cGVhcHBsaWNhdGlvbi92bmQub2Fz
aXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0UEsDBBQAAAAAABJOGDcAAAAAAAAAAAAAAAAaAAAA
Q29uZmlndXJhdGlvbnMyL3N0YXR1c2Jhci9QSwMEFAAIAAgAEk4YNwAAAAAAAAAAAAAAACcAAABD
b25maWd1cmF0aW9uczIvYWNjZWxlcmF0b3IvY3VycmVudC54bWwDAFBLBwgAAAAAAgAAAAAAAABQ
SwMEFAAAAAAAEk4YNwAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvZmxvYXRlci9QSwME
FAAAAAAAEk4YNwAAAAAAAAAAAAAAABoAAABDb25maWd1cmF0aW9uczIvcG9wdXBtZW51L1BLAwQU
AAAAAAASThg3AAAAAAAAAAAAAAAAHAAAAENvbmZpZ3VyYXRpb25zMi9wcm9ncmVzc2Jhci9QSwME
FAAAAAAAEk4YNwAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvbWVudWJhci9QSwMEFAAA
AAAAEk4YNwAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvdG9vbGJhci9QSwMEFAAAAAAA
Ek4YNwAAAAAAAAAAAAAAAB8AAABDb25maWd1cmF0aW9uczIvaW1hZ2VzL0JpdG1hcHMvUEsDBBQA
CAAIABJOGDcAAAAAAAAAAAAAAAALAAAAY29udGVudC54bWzlW01v4zYQvfdXEC5Q7B5kWbKdxG6S
xQJtTxukaLZFbwUt0TK7kiiQVJz013dIfVhSLFtUFDVAF4FjkTPDxzfDITnKXn96ikL0SLigLL6Z
ONPZBJHYYz6Ng5vJ719/sa4mn26/u2bbLfXI2mdeGpFYWh6LJfxGoB2LddZ7M0l5vGZYULGOcUTE
WnprlpC40FpXpdd6rKxFyOews7oWrmpL8iS7KivZmi7edB9ZC1e1fY73XZWVLJBaVd+yrspPIrS2
DFiPEixpA8VTSONvN5OdlMnatvf7/XQ/nzIe2M5qtbJ1bwnYK+WSlIdayvdsEhI1mLCdqWMXshGR
uCs+JVuFFKfRhvDO1GCJX3hVPAadI+IxaKHG22HeOTa0cN29c7+7e+d+VTfCctfikyv7Djr1x92X
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
YVWHEZIpm223nvfW8ZbO/Mrezq9cb8m/Vv321jWCW/X/1IBZmb3SJFhjLPqJQ6UeOCrqZXlfD1hq
s9yyoHjpf7talQVlm9VljJrZbUNLMaIXZbfh5FN+fyeKsT63z2tuP+297ACh1N/e3d2ptZYarS+k
nKimSyLy+ctOdE666tnI85WlLWbm+/76arle3Bir+ZKGebSK4Plx85KUnIZ9bnsyctt/5cr2D1BL
Bwjoe8NzFQkAALJFAABQSwMEFAAAAAAAEk4YN23QBVKnAwAApwMAAAgAAABtZXRhLnhtbDw/eG1s
IHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+CjxvZmZpY2U6ZG9jdW1lbnQtbWV0YSB4
bWxuczpvZmZpY2U9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNl
OjEuMCIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zOmRj
PSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6bWV0YT0idXJuOm9hc2lz
Om5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczptZXRhOjEuMCIgeG1sbnM6b29vPSJodHRwOi8v
b3Blbm9mZmljZS5vcmcvMjAwNC9vZmZpY2UiIG9mZmljZTp2ZXJzaW9uPSIxLjAiPjxvZmZpY2U6
bWV0YT48bWV0YTpnZW5lcmF0b3I+T3Blbk9mZmljZS5vcmcvMi4wJExpbnV4IE9wZW5PZmZpY2Uu
b3JnX3Byb2plY3QvNjgwbTUkQnVpbGQtOTA3MzwvbWV0YTpnZW5lcmF0b3I+PG1ldGE6Y3JlYXRp
b24tZGF0ZT4yMDA3LTA2LTA4VDE4OjQzOjM3PC9tZXRhOmNyZWF0aW9uLWRhdGU+PGRjOmRhdGU+
MjAwNy0wOC0yNFQxMTo0ODozNjwvZGM6ZGF0ZT48ZGM6bGFuZ3VhZ2U+ZnItRlI8L2RjOmxhbmd1
YWdlPjxtZXRhOmVkaXRpbmctY3ljbGVzPjA8L21ldGE6ZWRpdGluZy1jeWNsZXM+PG1ldGE6ZWRp
dGluZy1kdXJhdGlvbj5QVDBTPC9tZXRhOmVkaXRpbmctZHVyYXRpb24+PG1ldGE6dXNlci1kZWZp
bmVkIG1ldGE6bmFtZT0iSW5mbyAxIi8+PG1ldGE6dXNlci1kZWZpbmVkIG1ldGE6bmFtZT0iSW5m
byAyIi8+PG1ldGE6dXNlci1kZWZpbmVkIG1ldGE6bmFtZT0iSW5mbyAzIi8+PG1ldGE6dXNlci1k
ZWZpbmVkIG1ldGE6bmFtZT0iSW5mbyA0Ii8+PG1ldGE6ZG9jdW1lbnQtc3RhdGlzdGljIG1ldGE6
dGFibGUtY291bnQ9IjEiIG1ldGE6Y2VsbC1jb3VudD0iMjUiLz48L29mZmljZTptZXRhPjwvb2Zm
aWNlOmRvY3VtZW50LW1ldGE+UEsDBBQACAAIABJOGDcAAAAAAAAAAAAAAAAYAAAAVGh1bWJuYWls
cy90aHVtYm5haWwucG5nfVh1UBRA+1ZAGgFp6ZY4OpSUEoGjmyM8gaM5kJKjpKVB2iOUOEC6jpLw
6EbiaBFB6ug+8uc38/37/XZmd2fe2X1nn9nZfZ7njdHTUScjfkr84MEDMo3Xqgb/5tR//Qsh/r+R
kMSa9sED9t8aqkpG73P2chVdc9Su+vufKNXxPXaNxOH8oSH6KAXXlCvjS43hBzvDJco4AQ+u53yI
B/MEj5B4kblhqUyx4ap6S69ac+wMmTQ/cMTgqe3iFGnHstKRELsS6QwZUMyvx/Y8EdqQzt9c3jzb
3b2umh2rWlM8UfvRdjLWmXvhv5l7IBeyoeBSmZ2T0+BG3pBdnJ85sh6QimisbOx9noO9jJc/R4lO
Yc1KAk1zsIfxbiE1y6TtYlzb4vkjc5PC3F6bG8xDTSM3Ln07kqOKx7MpI9/vGimC5f2DHtbX16Nv
xSEzWaGZ+CMpJUl26Mx0VtJOKVchy+9vZC78PtsKM5ebS3GwXhx1ZlyDRuYWbQGmne3OvCu5Em7X
i64Hq9Zet4sYyF90rLm5VW1QUNDGld/s6ACGE1BvM/75nGBBe8UrCHmSMpbRG6nmXseAHf5oNJRg
cen5gyXoznFhYt7LwW1781PLUTfZ1NRs6ka7fitYpz1k6NfldtT21q5IQ5uZhcQ6YIx2SmqLBBWh
B1ixlCJRFPRYG61VZHbJhsPXQinYn2ObUn1bRdzKMAM/OBGnLho7FpfuP5hgV8kvJny6Ru4dFEZX
vIr6OYDTnUstrpqsmbuTwlqQ37q4n16ZX61fUUa6Mi/R8QjeNThe5e9IF8O5vbbeiF2OcC25si7R
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
BgAAAAAPAA8A7gMAAE0/AAAAAA==</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <long>17233</long> </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>OFS.Image</string>
<string>File</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts87949145.05</string> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>Base_getODSStyleSheetListPortrait</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/octet-stream</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">UEsDBBQAAAAAAIVOGDeFbDmKLgAAAC4AAAAIAAAAbWltZXR5cGVhcHBsaWNhdGlvbi92bmQub2Fz
aXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0UEsDBBQAAAAAAIVOGDcAAAAAAAAAAAAAAAAaAAAA
Q29uZmlndXJhdGlvbnMyL3N0YXR1c2Jhci9QSwMEFAAIAAgAhU4YNwAAAAAAAAAAAAAAACcAAABD
b25maWd1cmF0aW9uczIvYWNjZWxlcmF0b3IvY3VycmVudC54bWwDAFBLBwgAAAAAAgAAAAAAAABQ
SwMEFAAAAAAAhU4YNwAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvZmxvYXRlci9QSwME
FAAAAAAAhU4YNwAAAAAAAAAAAAAAABoAAABDb25maWd1cmF0aW9uczIvcG9wdXBtZW51L1BLAwQU
AAAAAACFThg3AAAAAAAAAAAAAAAAHAAAAENvbmZpZ3VyYXRpb25zMi9wcm9ncmVzc2Jhci9QSwME
FAAAAAAAhU4YNwAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvbWVudWJhci9QSwMEFAAA
AAAAhU4YNwAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvdG9vbGJhci9QSwMEFAAAAAAA
hU4YNwAAAAAAAAAAAAAAAB8AAABDb25maWd1cmF0aW9uczIvaW1hZ2VzL0JpdG1hcHMvUEsDBBQA
CAAIAIVOGDcAAAAAAAAAAAAAAAALAAAAY29udGVudC54bWzlW1Fv2zYQft+vEDxgaB9kWbKdxF6S
osC2pwYZlm7Y20BLtM1VEgWSiuP9+h1JSaEVyxYVRQuwInAs8u748bvjkTyl15+ekth5xIwTmt6M
/PFk5OA0pBFJNzej37/+4l6NPt1+d03XaxLiZUTDPMGpcEOaCvjtgHbKl7r3ZpSzdEkRJ3yZogTz
pQiXNMNpqbU0pZdqLN3CxT5ura6ETW2Bn0RbZSl7oItW7UdWwqZ2xNCurbKUBVJN9TVtq/zEY3dN
gfUkQ4LUUDzFJP12M9oKkS09b7fbjXfTMWUbz18sFp7qrQCHlVyWs1hJRaGHYywH454/9r1SNsEC
tcUnZU1IaZ6sMGtNDRLohVf546Z1RDxuGqgJt4i1jg0lfOjeadTevdPI1E2Q2Db45Mq7g071cffl
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
N+L7+6n6m5dYnaUKKzuMkEzZfB/23jje0pm/trfz16635N8sfnPjGsGt+ndqwKzMXmkSrDEWfc+h
Ug8cFfW+uK8HLLVZbllQvPe+Xa3KgrLN6jJGzey2oaUY0Yuy23DyKb+/E9VYn9vnNbef9l52gFDq
b29vb9VaS43WF1JOlNMlEfn8ZSc6J131ZOT5p6UtZub7/vpqvvY9YzVf0jCPVhE8P26ek5LTsM9t
T0Zu+/86sv0TUEsHCKk9k34ECQAAtUQAAFBLAwQUAAAAAACFThg3PT484acDAACnAwAACAAAAG1l
dGEueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPG9mZmljZTpkb2N1
bWVudC1tZXRhIHhtbG5zOm9mZmljZT0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4
bWxuczpvZmZpY2U6MS4wIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu
ayIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczptZXRh
PSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm1ldGE6MS4wIiB4bWxuczpv
b289Imh0dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA0L29mZmljZSIgb2ZmaWNlOnZlcnNpb249IjEu
MCI+PG9mZmljZTptZXRhPjxtZXRhOmdlbmVyYXRvcj5PcGVuT2ZmaWNlLm9yZy8yLjAkTGludXgg
T3Blbk9mZmljZS5vcmdfcHJvamVjdC82ODBtNSRCdWlsZC05MDczPC9tZXRhOmdlbmVyYXRvcj48
bWV0YTpjcmVhdGlvbi1kYXRlPjIwMDctMDYtMDhUMTg6NDM6Mzc8L21ldGE6Y3JlYXRpb24tZGF0
ZT48ZGM6ZGF0ZT4yMDA3LTA4LTI0VDExOjUyOjEwPC9kYzpkYXRlPjxkYzpsYW5ndWFnZT5mci1G
UjwvZGM6bGFuZ3VhZ2U+PG1ldGE6ZWRpdGluZy1jeWNsZXM+MDwvbWV0YTplZGl0aW5nLWN5Y2xl
cz48bWV0YTplZGl0aW5nLWR1cmF0aW9uPlBUMFM8L21ldGE6ZWRpdGluZy1kdXJhdGlvbj48bWV0
YTp1c2VyLWRlZmluZWQgbWV0YTpuYW1lPSJJbmZvIDEiLz48bWV0YTp1c2VyLWRlZmluZWQgbWV0
YTpuYW1lPSJJbmZvIDIiLz48bWV0YTp1c2VyLWRlZmluZWQgbWV0YTpuYW1lPSJJbmZvIDMiLz48
bWV0YTp1c2VyLWRlZmluZWQgbWV0YTpuYW1lPSJJbmZvIDQiLz48bWV0YTpkb2N1bWVudC1zdGF0
aXN0aWMgbWV0YTp0YWJsZS1jb3VudD0iMSIgbWV0YTpjZWxsLWNvdW50PSIyNSIvPjwvb2ZmaWNl
Om1ldGE+PC9vZmZpY2U6ZG9jdW1lbnQtbWV0YT5QSwMEFAAIAAgAhU4YNwAAAAAAAAAAAAAAABgA
AABUaHVtYm5haWxzL3RodW1ibmFpbC5wbmd9WHVQFED7VkAaAWnpljg6lJQSgaObIzyBozmQkqOk
pUHaI5Q4QLqOkvDoRuJoEUHq6D7y5zfz/fv9dmZ3Z97ZfWef2dl9nueN0dNRJyN+SvzgwQMyjdeq
Bv/m1H/9CyH+v5GQxJr2wQP23xqqSkbvc/ZyFV1z1K76+58o1fE9do3E4fyhIfooBdeUK+NLjeEH
O8MlyjgBD67nfIgH8wSPkHiRuWGpTLHhqnpLr1pz7AyZND9wxOCp7eIUacey0pEQuxLpDBlQzK/H
9jwR2pDO31zePNvdva6aHataUzxR+9F2MtaZe+G/mXsgF7Kh4FKZnZPT4EbekF2cnzmyHpCKaKxs
7H2eg72Mlz9HiU5hzUoCTXOwh/FuITXLpO1iXNvi+SNzk8LcXpsbzENNIzcufTuSo4rHsykj3+8a
KYLl/YMe1tfXo2/FITNZoZn4IyklSXbozHRW0k4pVyHL729kLvw+2wozl5tLcbBeHHVmXING5hZt
Aaad7c68K7kSbteLrger1l63ixjIX3SsublVbVBQ0MaV3+zoAIYTUG8z/vmcYEF7xSsIeZIyltEb
qeZex4Ad/mg0lGBx6fmDJejOcWFi3svBbXvzU8tRN9nU1GzqRrt+K1inPWTo1+V21PbWrkhDm5mF
xDpgjHZKaosEFaEHWLGUIlEU9FgbrVVkdsmGw9dCKdifY5tSfVtF3MowAz84EacuGjsWl+4/mGBX
yS8mfLpG7h0URle8ivo5gNOdSy2umqyZu5PCWpDfurifXplfrV9RRroyL9HxCN41OF7l70gXw7m9
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
LnhtbFBLBQYAAAAADwAPAO4DAABUPwAAAAA=</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <long>17240</long> </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>OFS.Image</string>
<string>File</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts87949219.95</string> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>Base_getODSStyleSheetPortrait</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/octet-stream</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">UEsDBBQAAAAAAKdOGDeFbDmKLgAAAC4AAAAIAAAAbWltZXR5cGVhcHBsaWNhdGlvbi92bmQub2Fz
aXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0UEsDBBQAAAAAAKdOGDcAAAAAAAAAAAAAAAAaAAAA
Q29uZmlndXJhdGlvbnMyL3N0YXR1c2Jhci9QSwMEFAAIAAgAp04YNwAAAAAAAAAAAAAAACcAAABD
b25maWd1cmF0aW9uczIvYWNjZWxlcmF0b3IvY3VycmVudC54bWwDAFBLBwgAAAAAAgAAAAAAAABQ
SwMEFAAAAAAAp04YNwAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvZmxvYXRlci9QSwME
FAAAAAAAp04YNwAAAAAAAAAAAAAAABoAAABDb25maWd1cmF0aW9uczIvcG9wdXBtZW51L1BLAwQU
AAAAAACnThg3AAAAAAAAAAAAAAAAHAAAAENvbmZpZ3VyYXRpb25zMi9wcm9ncmVzc2Jhci9QSwME
FAAAAAAAp04YNwAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvbWVudWJhci9QSwMEFAAA
AAAAp04YNwAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvdG9vbGJhci9QSwMEFAAAAAAA
p04YNwAAAAAAAAAAAAAAAB8AAABDb25maWd1cmF0aW9uczIvaW1hZ2VzL0JpdG1hcHMvUEsDBBQA
CAAIAKdOGDcAAAAAAAAAAAAAAAALAAAAY29udGVudC54bWzlW01v4zYQvfdXEC5Q7B5kWbKdxG6S
xQJtTxukaLZFbwUt0TK7kiiQVJz013dIfVhSLFtUFDVAF4FjkTPDxzfDITnKXn96ikL0SLigLL6Z
ONPZBJHYYz6Ng5vJ719/sa4mn26/u2bbLfXI2mdeGpFYWh6LJfxGoB2LddZ7M0l5vGZYULGOcUTE
WnprlpC40FpXpdd6rKxFyOews7oWrmpL8iS7KivZmi7edB9ZC1e1fY73XZWVLJBaVd+yrspPIrS2
DFiPEixpA8VTSONvN5OdlMnatvf7/XQ/nzIe2M5qtbJ1bwnYK+WSlIdayvdsEhI1mLCdqWMXshGR
uCs+JVuFFKfRhvDO1GCJX3hVPAadI+IxaKHG22HeOTa0cN29c7+7e+d+VTfCctfikyv7Djr1x92X
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
jeMtnflrezt/7XpL/vbzmxvXEG7V36kBszJ7pUlYjZHoew6VeuCoqDvtvh6w1Ga5ZUJxN3+7WpUJ
ZZvVJYya2W1DS1lEL8puQ8mn9P5O1Ex9ap/X1H5ae9kBQsm/vb29VWstNVpfSDpR9JZI5POXneic
VNWTGc8/LS0xE9/311eLtX9lpOZLGqbRKoLn+81zmuQ01ue2ByO3/T+jbP8EUEsHCOG9vEsLCQAA
WUUAAFBLAwQUAAAAAACnThg31zotl6cDAACnAwAACAAAAG1ldGEueG1sPD94bWwgdmVyc2lvbj0i
MS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPG9mZmljZTpkb2N1bWVudC1tZXRhIHhtbG5zOm9mZmlj
ZT0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIiB4bWxu
czp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6ZGM9Imh0dHA6Ly9w
dXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczptZXRhPSJ1cm46b2FzaXM6bmFtZXM6dGM6
b3BlbmRvY3VtZW50OnhtbG5zOm1ldGE6MS4wIiB4bWxuczpvb289Imh0dHA6Ly9vcGVub2ZmaWNl
Lm9yZy8yMDA0L29mZmljZSIgb2ZmaWNlOnZlcnNpb249IjEuMCI+PG9mZmljZTptZXRhPjxtZXRh
OmdlbmVyYXRvcj5PcGVuT2ZmaWNlLm9yZy8yLjAkTGludXggT3Blbk9mZmljZS5vcmdfcHJvamVj
dC82ODBtNSRCdWlsZC05MDczPC9tZXRhOmdlbmVyYXRvcj48bWV0YTpjcmVhdGlvbi1kYXRlPjIw
MDctMDYtMDhUMTg6NDM6Mzc8L21ldGE6Y3JlYXRpb24tZGF0ZT48ZGM6ZGF0ZT4yMDA3LTA4LTI0
VDExOjUzOjE1PC9kYzpkYXRlPjxkYzpsYW5ndWFnZT5mci1GUjwvZGM6bGFuZ3VhZ2U+PG1ldGE6
ZWRpdGluZy1jeWNsZXM+MDwvbWV0YTplZGl0aW5nLWN5Y2xlcz48bWV0YTplZGl0aW5nLWR1cmF0
aW9uPlBUMFM8L21ldGE6ZWRpdGluZy1kdXJhdGlvbj48bWV0YTp1c2VyLWRlZmluZWQgbWV0YTpu
YW1lPSJJbmZvIDEiLz48bWV0YTp1c2VyLWRlZmluZWQgbWV0YTpuYW1lPSJJbmZvIDIiLz48bWV0
YTp1c2VyLWRlZmluZWQgbWV0YTpuYW1lPSJJbmZvIDMiLz48bWV0YTp1c2VyLWRlZmluZWQgbWV0
YTpuYW1lPSJJbmZvIDQiLz48bWV0YTpkb2N1bWVudC1zdGF0aXN0aWMgbWV0YTp0YWJsZS1jb3Vu
dD0iMSIgbWV0YTpjZWxsLWNvdW50PSIyNSIvPjwvb2ZmaWNlOm1ldGE+PC9vZmZpY2U6ZG9jdW1l
bnQtbWV0YT5QSwMEFAAIAAgAp04YNwAAAAAAAAAAAAAAABgAAABUaHVtYm5haWxzL3RodW1ibmFp
bC5wbmd9WHVQFED7VkAaAWnpljg6lJQSgaObIzyBozmQkqOkpUHaI5Q4QLqOkvDoRuJoEUHq6D7y
5zfz/fv9dmZ3Z97ZfWef2dl9nueN0dNRJyN+SvzgwQMyjdeqBv/m1H/9CyH+v5GQxJr2wQP23xqq
Skbvc/ZyFV1z1K76+58o1fE9do3E4fyhIfooBdeUK+NLjeEHO8MlyjgBD67nfIgH8wSPkHiRuWGp
TLHhqnpLr1pz7AyZND9wxOCp7eIUacey0pEQuxLpDBlQzK/H9jwR2pDO31zePNvdva6aHataUzxR
+9F2MtaZe+G/mXsgF7Kh4FKZnZPT4EbekF2cnzmyHpCKaKxs7H2eg72Mlz9HiU5hzUoCTXOwh/Fu
ITXLpO1iXNvi+SNzk8LcXpsbzENNIzcufTuSo4rHsykj3+8aKYLl/YMe1tfXo2/FITNZoZn4Iykl
SXbozHRW0k4pVyHL729kLvw+2wozl5tLcbBeHHVmXING5hZtAaad7c68K7kSbteLrger1l63ixjI
X3SsublVbVBQ0MaV3+zoAIYTUG8z/vmcYEF7xSsIeZIyltEbqeZex4Ad/mg0lGBx6fmDJejOcWFi
3svBbXvzU8tRN9nU1GzqRrt+K1inPWTo1+V21PbWrkhDm5mFxDpgjHZKaosEFaEHWLGUIlEU9Fgb
rVVkdsmGw9dCKdifY5tSfVtF3MowAz84EacuGjsWl+4/mGBXyS8mfLpG7h0URle8ivo5gNOdSy2u
mqyZu5PCWpDfurifXplfrV9RRroyL9HxCN41OF7l70gXw7m9tt6IXY5wLbmyLtG7i+Xz8vBYQDo/
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
AEE/AAAAAA==</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <long>17221</long> </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>
<none/>
</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>from Products.ERP5Form.Report import ReportSection\n
from Products.ERP5Type.Message import Message\n
\n
person_name = \'\'\n
result_report_item_list= []\n
translate = lambda msg: Message(\'ui\', msg)\n
\n
for report_item in report_item_list:\n
level = report_item.getLevel()\n
if level == 1:\n
person_name = translate(str(report_item.getTitle()))\n
else:\n
form_id = report_item.getFormId()\n
title = translate(str(report_item.getTitle()))\n
path = report_item.getPath()\n
result_report_item_list.append(ReportSection(title=\'%s - %s\' % (person_name, title), level=level, form_id=form_id, path=path))\n
return result_report_item_list\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>report_item_list</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>report_item_list</string>
<string>Products.ERP5Form.Report</string>
<string>ReportSection</string>
<string>Products.ERP5Type.Message</string>
<string>Message</string>
<string>person_name</string>
<string>result_report_item_list</string>
<string>translate</string>
<string>_getiter_</string>
<string>report_item</string>
<string>_getattr_</string>
<string>level</string>
<string>str</string>
<string>form_id</string>
<string>title</string>
<string>path</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Base_getReportSectionName</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.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</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[
test = []\n
request = context.REQUEST\n
landscape = int(request.get(\'landscape\', 0))\n
context.log(\'landscape-script->>\', \'%r\' % context.pt)\n
if context.pt != \'form_list\':\n
if landscape == 1:\n
return context.Base_getODSStyleSheetLandscape\n
else:\n
return context.Base_getODSStyleSheetPortrait\n
else:\n
if landscape == 1:\n
return context.Base_getODSStyleSheetListLandscape\n
else:\n
return context.Base_getODSStyleSheetListPortrait\n
]]></string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></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>0</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>test</string>
<string>_getattr_</string>
<string>context</string>
<string>request</string>
<string>int</string>
<string>landscape</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>OooTemplate_getStyleSheet</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 xmlns:draw=\'urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\' xmlns:office=\'urn:oasis:names:tc:opendocument:xmlns:office:1.0\' xmlns:text=\'urn:oasis:names:tc:opendocument:xmlns:text:1.0\' xmlns:ooo=\'http://openoffice.org/2004/office\' xmlns:number=\'urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\' xmlns:dc=\'http://purl.org/dc/elements/1.1/\' xmlns:meta=\'urn:oasis:names:tc:opendocument:xmlns:meta:1.0\' xmlns:table=\'urn:oasis:names:tc:opendocument:xmlns:table:1.0\' xmlns:dr3d=\'urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\' xmlns:fo=\'urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\' xmlns:style=\'urn:oasis:names:tc:opendocument:xmlns:style:1.0\' xmlns:xforms=\'http://www.w3.org/2002/xforms\' xmlns:form=\'urn:oasis:names:tc:opendocument:xmlns:form:1.0\' xmlns:script=\'urn:oasis:names:tc:opendocument:xmlns:script:1.0\' xmlns:ooow=\'http://openoffice.org/2004/writer\' xmlns:svg=\'urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\' xmlns:chart=\'urn:oasis:names:tc:opendocument:xmlns:chart:1.0\' xmlns:dom=\'http://www.w3.org/2001/xml-events\' xmlns:xlink=\'http://www.w3.org/1999/xlink\' xmlns:xsd=\'http://www.w3.org/2001/XMLSchema\' xmlns:xsi=\'http://www.w3.org/2001/XMLSchema-instance\' xmlns:oooc=\'http://openoffice.org/2004/calc\' xmlns:math=\'http://www.w3.org/1998/Math/MathML\' xmlns:tal=\'http://xml.zope.org/namespaces/tal\' xmlns:i18n=\'http://xml.zope.org/namespaces/i18n\' xmlns:metal=\'http://xml.zope.org/namespaces/metal\' office:version=\'1.0\' metal:define-macro="master" tal:attributes=\'dummy python:request.RESPONSE.setHeader("Content-Type", "text/html;; charset=utf-8")\'>\n
\n
<tal:block metal:use-macro="here/style_macros/macros/style_macro"/>\n
<office:scripts/>\n
\n
<office:body metal:define-macro="form_layout">\n
<office:spreadsheet>\n
<tal:block metal:define-macro="field">\n
\n
<tal:block tal:condition="python: field.meta_type == \'MatrixBox\' or (field.meta_type == \'ProxyField\' and field.getRecursiveTemplateField().meta_type == \'MatrixBox\')">\n
<tal:block tal:define="matrixbox python:field;">\n
<tal:block metal:use-macro="here/matrixbox_ods_macro/macros/matrixbox" />\n
</tal:block>\n
</tal:block>\n
\n
<tal:block tal:condition="python: field.meta_type == \'ListBox\' or (field.meta_type == \'ProxyField\' and field.getRecursiveTemplateField().meta_type == \'ListBox\')">\n
<tal:block tal:define="listbox python:field;" >\n
<tal:block metal:use-macro="here/listbox_ods_macro/macros/listbox" />\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</office:spreadsheet>\n
</office:body>\n
</tal:block>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/vnd.oasis.opendocument.text</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>field_ods_macro</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -14,15 +14,9 @@ ...@@ -14,15 +14,9 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>OLE_documents_zipstring</string> </key> <key> <string>OLE_documents_zipstring</string> </key>
<value> <string encoding="base64">UEsDBBQAAAAIALGO1TbMBk1mQgEAAFEHAAAVAAAATUVUQS1JTkYvbWFuaWZlc3QueG1stZVLasMw <value>
EED3PYXR3lbbVTFxAi30BOkBJvLYEeiHZhSS21cO5NM2lKZYOw1I741GGmmx2ltT7TCS9q4TT82j <none/>
qNAp32s3duJj/V6/iNXyYWHB6QGJ29OgyuscncNOpOhaD6SpdWCRWlatD+h6r5JFx+3X+e1kWj5U </value>
F/CgDdZ5YjxUFxn2Gmo+BOwEhGC0As55yp3rm6OruVY0FCJCT1tEFhfIkIypA/C2E1LIu5y3KW/e
DXpM8ZgLPUti4EQbiGXwoBQazKGPUqUYp53mYhZ3FREMxgNjIXjwIYV8E1IhfPRjRCp30lPqxeDs
vSkG1xZGJPmq2UKgoo472d+fDUpu6p4m6UZdC/6Ww51yxj3LqVdvwrOf/9fMv3OJDwZpdqxFhtke
nvU22Y0DbUjyadgEN84Nn7ewyJz/xXNpF/LHt7j8BFBLAQIUABQAAAAIALGO1TbMBk1mQgEAAFEH
AAAVAAAAAAAAAAAAAAAAAAAAAABNRVRBLUlORi9tYW5pZmVzdC54bWxQSwUGAAAAAAEAAQBDAAAA
dQEAAAAA</string> </value>
</item> </item>
<item> <item>
<key> <string>__ac_local_roles__</string> </key> <key> <string>__ac_local_roles__</string> </key>
...@@ -60,142 +54,61 @@ dQEAAAAA</string> </value> ...@@ -60,142 +54,61 @@ dQEAAAAA</string> </value>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<office:document-content xmlns:draw=\'urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\'\n <office:document-content xmlns:draw=\'urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\' xmlns:office=\'urn:oasis:names:tc:opendocument:xmlns:office:1.0\' xmlns:text=\'urn:oasis:names:tc:opendocument:xmlns:text:1.0\' xmlns:ooo=\'http://openoffice.org/2004/office\' xmlns:number=\'urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\' xmlns:dc=\'http://purl.org/dc/elements/1.1/\' xmlns:meta=\'urn:oasis:names:tc:opendocument:xmlns:meta:1.0\' xmlns:table=\'urn:oasis:names:tc:opendocument:xmlns:table:1.0\' xmlns:dr3d=\'urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\' xmlns:fo=\'urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\' xmlns:style=\'urn:oasis:names:tc:opendocument:xmlns:style:1.0\' xmlns:xforms=\'http://www.w3.org/2002/xforms\' xmlns:form=\'urn:oasis:names:tc:opendocument:xmlns:form:1.0\' xmlns:script=\'urn:oasis:names:tc:opendocument:xmlns:script:1.0\' xmlns:ooow=\'http://openoffice.org/2004/writer\' xmlns:svg=\'urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\' xmlns:chart=\'urn:oasis:names:tc:opendocument:xmlns:chart:1.0\' xmlns:dom=\'http://www.w3.org/2001/xml-events\' xmlns:xlink=\'http://www.w3.org/1999/xlink\' xmlns:xsd=\'http://www.w3.org/2001/XMLSchema\' xmlns:xsi=\'http://www.w3.org/2001/XMLSchema-instance\' xmlns:oooc=\'http://openoffice.org/2004/calc\' xmlns:math=\'http://www.w3.org/1998/Math/MathML\' xmlns:tal=\'http://xml.zope.org/namespaces/tal\'\n
xmlns:office=\'urn:oasis:names:tc:opendocument:xmlns:office:1.0\'\n xmlns:i18n=\'http://xml.zope.org/namespaces/i18n\'\n
xmlns:text=\'urn:oasis:names:tc:opendocument:xmlns:text:1.0\'\n xmlns:metal=\'http://xml.zope.org/namespaces/metal\'\n
xmlns:ooo=\'http://openoffice.org/2004/office\'\n tal:attributes=\'dummy python:request.RESPONSE.setHeader("Content-Type", "text/html;; charset=utf-8")\'\n
xmlns:number=\'urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\'\n office:version=\'1.0\'\n
xmlns:dc=\'http://purl.org/dc/elements/1.1/\'\n tal:define="global frame_width python:25.8" metal:define-macro="master">\n
xmlns:meta=\'urn:oasis:names:tc:opendocument:xmlns:meta:1.0\'\n <tal:block metal:use-macro="here/style_macros/macros/style_macro"/>\n
xmlns:table=\'urn:oasis:names:tc:opendocument:xmlns:table:1.0\'\n
xmlns:dr3d=\'urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\'\n
xmlns:fo=\'urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\'\n
xmlns:style=\'urn:oasis:names:tc:opendocument:xmlns:style:1.0\'\n
xmlns:xforms=\'http://www.w3.org/2002/xforms\'\n
xmlns:form=\'urn:oasis:names:tc:opendocument:xmlns:form:1.0\'\n
xmlns:script=\'urn:oasis:names:tc:opendocument:xmlns:script:1.0\'\n
xmlns:ooow=\'http://openoffice.org/2004/writer\'\n
xmlns:svg=\'urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\'\n
xmlns:chart=\'urn:oasis:names:tc:opendocument:xmlns:chart:1.0\'\n
xmlns:dom=\'http://www.w3.org/2001/xml-events\'\n
xmlns:xlink=\'http://www.w3.org/1999/xlink\'\n
xmlns:xsd=\'http://www.w3.org/2001/XMLSchema\'\n
xmlns:xsi=\'http://www.w3.org/2001/XMLSchema-instance\'\n
xmlns:oooc=\'http://openoffice.org/2004/calc\'\n
xmlns:math=\'http://www.w3.org/1998/Math/MathML\'\n
xmlns:tal=\'http://xml.zope.org/namespaces/tal\'\n
xmlns:i18n=\'http://xml.zope.org/namespaces/i18n\'\n
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
<office:scripts/>\n
<office:font-face-decls>\n
<style:font-face svg:font-family=\'Arial\' style:font-family-generic=\'swiss\' style:name=\'Arial\' style:font-pitch=\'variable\'/>\n
<style:font-face svg:font-family="\'DejaVu Sans\'" style:font-family-generic=\'system\' style:name=\'DejaVu Sans\' style:font-pitch=\'variable\'/>\n
<style:font-face svg:font-family=\'Lucidasans\' style:font-family-generic=\'system\' style:name=\'Lucidasans\' style:font-pitch=\'variable\'/>\n
</office:font-face-decls>\n
<office:automatic-styles>\n
<style:style style:family=\'table-column\' style:name=\'co1\'>\n
<style:table-column-properties fo:break-before=\'auto\' style:column-width=\'6.59cm\'/>\n
</style:style>\n
<style:style style:family=\'table-column\' style:name=\'co2\'>\n
<style:table-column-properties fo:break-before=\'auto\' style:column-width=\'4.727cm\'/>\n
</style:style>\n
<style:style style:family=\'table-column\' style:name=\'co3\'>\n
<style:table-column-properties fo:break-before=\'auto\' style:column-width=\'5.117cm\'/>\n
</style:style>\n
<style:style style:family=\'table-column\' style:name=\'co4\'>\n
<style:table-column-properties fo:break-before=\'auto\' style:column-width=\'2.267cm\'/>\n
</style:style>\n
\n
<!-- XXX how to calculate row heights ?\n
can it be done by OOo ?\n
XXX this must be a macro !\n
{{{\n
-->\n
<style:style style:family=\'table-row\' style:name=\'ro1\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'2.575cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro2\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.894cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro3\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.877cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro4\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'false\' style:row-height=\'0.644cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro5\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'false\' style:row-height=\'0.951cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro6\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.503cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro7\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.538cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro8\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.453cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro9\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.496cm\'/>\n
</style:style>\n
<style:style style:family=\'table\' style:name=\'ta1\' style:master-page-name=\'Default\'>\n
<style:table-properties style:writing-mode=\'lr-tb\' table:display=\'true\'/>\n
</style:style>\n
<style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'ce1\'>\n
<style:table-cell-properties fo:wrap-option=\'wrap\'/>\n
</style:style>\n
<style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'ce2\'>\n
<style:table-cell-properties style:vertical-align=\'middle\' style:repeat-content=\'false\' style:text-align-source=\'fix\' fo:border=\'none\'/>\n
<style:paragraph-properties fo:text-align=\'center\'/>\n
</style:style>\n
<style:style style:parent-style-name=\'report-content-heading2\' style:family=\'table-cell\' style:name=\'ce3\'>\n
<style:text-properties fo:font-size=\'12pt\'/>\n
</style:style>\n
<style:style style:parent-style-name=\'report-stat2\' style:family=\'table-cell\' style:name=\'ce4\'>\n
<style:table-cell-properties fo:border-left=\'0.002cm solid #000000\' fo:border-bottom=\'none\' fo:border-right=\'none\' fo:border-top=\'none\'/>\n
</style:style>\n
<style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'ce5\'>\n
<style:table-cell-properties style:vertical-align=\'middle\' style:repeat-content=\'false\' style:text-align-source=\'fix\' fo:border=\'none\'/>\n
<style:paragraph-properties fo:text-align=\'center\' fo:margin-left=\'0cm\'/>\n
<style:text-properties fo:font-size=\'20pt\'/>\n
</style:style>\n
<style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'ce6\'>\n
<style:table-cell-properties style:vertical-align=\'middle\' style:repeat-content=\'false\' style:text-align-source=\'fix\' fo:border=\'none\'/>\n
<style:paragraph-properties fo:text-align=\'center\' fo:margin-left=\'0cm\'/>\n
</style:style>\n
</office:automatic-styles> <!-- }}} -->\n
<office:body>\n <office:body>\n
<office:spreadsheet>\n <office:spreadsheet>\n
\n <table:table table:style-name=\'ta1\' table:print=\'false\' table:name=\'Sheet1\' >\n
<table:table table:style-name=\'ta1\' \n <tal:block metal:define-macro="form_layout" tal:define="dummy python: request.set(\'here\', here); listbox python:form.get_fields_in_group(\'bottom\')[0]">\n
table:print=\'false\'\n <tal:block tal:condition="python: listbox.meta_type == \'ListBox\' or (listbox.meta_type == \'ProxyField\' and listbox.getRecursiveTemplateField().meta_type == \'ListBox\')">\n
table:name=\'Sheet1\'\n <tal:block metal:use-macro="here/listbox_ods_macro/macros/listbox">\n
i18n:attributes=\'table:name\'\n <tal:block metal:fill-slot="list_header">\n
i18n:domain=\'ui\'\n <table:table-header-rows>\n
tal:attributes=\'table:name python:form.getProperty("title")\'>\n <table:table-row table:style-name=\'ro4\'>\n
\n <tal:block tal:condition="python: is_report_tree_mode">\n
<tal:block metal:define-macro="master">\n <table:table-cell table:style-name=\'report-column-title\' table:number-columns-spanned=\'1\' office:value-type=\'string\' >\n
<!-- header -->\n <tal:block tal:condition="listboxline/getSectionName">\n
<!-- body -->\n <text:p tal:content="python: here.Localozer.erp5_ui.gettext(listboxline/getSectionName).encode(\'utf-8\')" tal:attributes="style python:\'Section%s\' % listboxline.getSectionDepth()"/>\n
<!-- footer -->\n </tal:block>\n
\n </table:table-cell>\n
<!-- XXX no, easier: -->\n </tal:block>\n
<tal:block metal:define-macro="form_layout"\n <table:table-column table:style-name="co2"/>\n
tal:define="dummy python: request.set(\'here\', here);\n <tal:block tal:condition="listboxline/isTitleLine">\n
listbox python:form.get_fields_in_group(\'bottom\')[0];">\n <tal:block tal:repeat="column_item listboxline/getColumnItemList">\n
<tal:block tal:condition="python: listbox.meta_type == \'ListBox\'">\n <tal:block tal:define="column_property python: column_item[1]; column_id python: column_item[0]">\n
<tal:block metal:use-macro="here/listbox_ods_macro/macros/listbox"/>\n <tal:block tal:condition="python: column_property is not None" >\n
<table:table-cell table:number-rows-spanned=\'1\' table:style-name=\'report-column-title\' table:number-columns-spanned=\'1\' office:value-type=\'string\' >\n
<text:p tal:content="python: column_property">\n
</text:p>\n
</table:table-cell>\n
</tal:block>\n
<tal:block tal:condition="python: column_property is None">\n
<table:table-cell table:number-rows-spanned=\'1\' table:style-name=\'report-column-title\' table:number-colwithdrawnumns-spanned=\'1\' office:value-type=\'string\'>\n
<text:p tal:content="python: \'\'">\n
</text:p>\n
</table:table-cell>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</table:table-row>\n
</table:table-header-rows>\n
</tal:block>\n
<!--<tal:block metal:fill-slot=\'table_bottom_line\'>\n
<tal:block tal:replace="nothing"> don\'t write bottom line in case of this form_list, Page Format of OOo works instead of it.</tal:block>\n
</tal:block>-->\n
</tal:block>\n </tal:block>\n
</tal:block>\n </tal:block>\n
</tal:block>\n </tal:block>\n
</table:table>\n </table:table>\n
</office:spreadsheet>\n </office:spreadsheet>\n
</office:body>\n </office:body>\n
</office:document-content> <!-- vim: filetype=xml tw=1000 foldmethod=marker\n </office:document-content>
-->\n
]]></string> </value> ]]></string> </value>
</item> </item>
...@@ -213,7 +126,7 @@ dQEAAAAA</string> </value> ...@@ -213,7 +126,7 @@ dQEAAAAA</string> </value>
</item> </item>
<item> <item>
<key> <string>ooo_stylesheet</string> </key> <key> <string>ooo_stylesheet</string> </key>
<value> <string>Base_getODSStyleSheet</string> </value> <value> <string>OooTemplate_getStyleSheet</string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.ERP5OOo.OOoTemplate</string>
<string>OOoTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>OLE_documents_zipstring</string> </key>
<value> <string encoding="base64">UEsDBBQAAAAIAOeI4zbMBk1mQgEAAFEHAAAVAAAATUVUQS1JTkYvbWFuaWZlc3QueG1stZVLasMw
EED3PYXR3lbbVTFxAi30BOkBJvLYEeiHZhSS21cO5NM2lKZYOw1I741GGmmx2ltT7TCS9q4TT82j
qNAp32s3duJj/V6/iNXyYWHB6QGJ29OgyuscncNOpOhaD6SpdWCRWlatD+h6r5JFx+3X+e1kWj5U
F/CgDdZ5YjxUFxn2Gmo+BOwEhGC0As55yp3rm6OruVY0FCJCT1tEFhfIkIypA/C2E1LIu5y3KW/e
DXpM8ZgLPUti4EQbiGXwoBQazKGPUqUYp53mYhZ3FREMxgNjIXjwIYV8E1IhfPRjRCp30lPqxeDs
vSkG1xZGJPmq2UKgoo472d+fDUpu6p4m6UZdC/6Ww51yxj3LqVdvwrOf/9fMv3OJDwZpdqxFhtke
nvU22Y0DbUjyadgEN84Nn7ewyJz/xXNpF/LHt7j8BFBLAQIUABQAAAAIAOeI4zbMBk1mQgEAAFEH
AAAVAAAAAAAAAAAAAAAAAAAAAABNRVRBLUlORi9tYW5pZmVzdC54bWxQSwUGAAAAAAEAAQBDAAAA
dQEAAAAA</string> </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_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[
<office:document-content xmlns:draw=\'urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\' xmlns:office=\'urn:oasis:names:tc:opendocument:xmlns:office:1.0\' xmlns:text=\'urn:oasis:names:tc:opendocument:xmlns:text:1.0\' xmlns:ooo=\'http://openoffice.org/2004/office\' xmlns:number=\'urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\' xmlns:dc=\'http://purl.org/dc/elements/1.1/\' xmlns:meta=\'urn:oasis:names:tc:opendocument:xmlns:meta:1.0\' xmlns:table=\'urn:oasis:names:tc:opendocument:xmlns:table:1.0\' xmlns:dr3d=\'urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\' xmlns:fo=\'urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\' xmlns:style=\'urn:oasis:names:tc:opendocument:xmlns:style:1.0\' xmlns:xforms=\'http://www.w3.org/2002/xforms\' xmlns:form=\'urn:oasis:names:tc:opendocument:xmlns:form:1.0\' xmlns:script=\'urn:oasis:names:tc:opendocument:xmlns:script:1.0\' xmlns:ooow=\'http://openoffice.org/2004/writer\' xmlns:svg=\'urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\' xmlns:chart=\'urn:oasis:names:tc:opendocument:xmlns:chart:1.0\' xmlns:dom=\'http://www.w3.org/2001/xml-events\' xmlns:xlink=\'http://www.w3.org/1999/xlink\' xmlns:xsd=\'http://www.w3.org/2001/XMLSchema\' xmlns:xsi=\'http://www.w3.org/2001/XMLSchema-instance\' xmlns:oooc=\'http://openoffice.org/2004/calc\' xmlns:math=\'http://www.w3.org/1998/Math/MathML\' xmlns:tal=\'http://xml.zope.org/namespaces/tal\' xmlns:i18n=\'http://xml.zope.org/namespaces/i18n\' xmlns:metal=\'http://xml.zope.org/namespaces/metal\' tal:attributes=\'dummy python:request.RESPONSE.setHeader("Content-Type", "text/html;; charset=utf-8")\' office:version=\'1.0\' tal:define="global frame_width python:25.8;global column_len form/listBox_getColumnNum" metal:define-macro="master">\n
<tal:block metal:use-macro="here/style_macros/macros/style_macro"/>\n
<office:body>\n
<office:spreadsheet>\n
<table:table table:style-name=\'ta1\' table:print=\'false\' tal:attributes="table:name python: form.get_field(\'my_title\').get_value(\'default\')">\n
<tal:block metal:define-macro="form_layout" tal:define="field_errors python: request.get(\'field_errors,{}\'); dummy python: request.set(\'here\', here)">\n
\n
<tal:block tal:repeat="group python: [g for g in form.get_groups() if g not in (\'bottom\', \'hidden\')]">\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
<tal:block tal:repeat="field field_list">\n
<tal:block tal:condition="python:field.meta_type != \'HiddenStringField\'">\n
<table:table-column table:style-name="co2"/>\n
<table:table-row table:style-name=\'ro2\'>\n
<table:table-cell table:number-rows-spanned=\'1\' table:style-name=\'report-column-title\' table:number-columns-spanned=\'1\' office:value-type=\'string\'>\n
<text:p tal:content="python:here.Localizer.erp5_ui.gettext(field.get_value (\'title\')).encode(\'utf-8\')"></text:p>\n
</table:table-cell>\n
<tal:block tal:define="item_list python:field.has_value(\'items\') and field.get_value(\'items\') or None" tal:condition="python:field.get_value(\'title\')">\n
<table:table-cell table:number-rows-spanned=\'1\' table:style-name=\'report-content-heading2-with-lines\' tal:attributes="table:number-columns-spanned python: column_len-1" office:value-type=\'string\' 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
<text:p tal:condition="not:item_list" tal:content="python: str(item)"></text:p>\n
<text:p tal:condition="item_list" tal:content="python: [i[0] for i in item_list if i[1] == item][0]"></text:p>\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 tal:condition="not:item_list" tal:content="python: str(value)">\n
</text:p>\n
<tal:block tal:condition="python:value != \'\'">\n
<text:p tal:condition="item_list" disable-output-escapint="yes" tal:content="python: [i[0].replace(\'&amp;nbsp;\', \'\') for i in item_list if i[1] == value][0]">\n
</text:p>\n
</tal:block>\n
<tal:block tal:condition="python: value == None">\n
<text:p table:style="Default" tal:content="python: \' \'" />\n
</tal:block>\n
</tal:block>\n
</table:table-cell>\n
</tal:block>\n
</table:table-row>\n
</tal:block>\n
</tal:block>\n
<table:table-row>\n
<table:table-cell table:style-name=\'Default\'/>\n
</table:table-row>\n
</tal:block>\n
</tal:block>\n
</tal:block>\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 metal:use-macro="here/field_ods_macro/macros/field" />\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</table:table>\n
</office:spreadsheet>\n
</office:body>\n
</office:document-content>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/vnd.oasis.opendocument.spreadsheet</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>ooo_stylesheet</string> </key>
<value> <string>OooTemplate_getStyleSheet</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -68,127 +68,37 @@ ...@@ -68,127 +68,37 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string>""" XXX this is a copy of erp5_pdf_style\'s one.\n <value> <string encoding="cdata"><![CDATA[
This is currently not used\n
request = context.REQUEST\n
form = context\n
list_col_num = 0\n
col_count = 0\n
\n \n
Is it possible to have openoffice calculate widths when rendering ? \n field_list=form.get_fields_in_group(\'bottom\')\n
\n for field in field_list:\n
\n if field.meta_type == \'ListBox\' and not(field[\'hidden\']) and field[\'enabled\']:\n
"""\n listbox=field\n
\n listboxline_list = listbox.get_value(\'default\', render_format=\'list\', REQUEST=request)\n
\n for listboxline in listboxline_list:\n
from DateTime import DateTime\n if listboxline.isTitleLine():\n
\n for column_item in listboxline.getColumnItemList():\n
# if REQUEST.other contains ${form_id}/${listbox_id}/ListBox_getColumnWithDict\n col_count = col_count + 1\n
# magic key, this will be used as column width, instead of calculating.\n if col_count != 0 and col_count > list_col_num:\n
if listbox is not None:\n list_col_num = col_count\n
cache = context.REQUEST.other.get(\n col_count = 0\n
\'%s/%s/ListBox_getColumnWithDict\' % (\n
listbox.aq_parent.getId(), listbox.getId()), None)\n
if cache is not None:\n
return cache\n
\n
N_ = context.Base_translateString\n
\n
# 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 else:\n
string_property = str(column_property)\n continue\n
result[column_id] = max(result.get(column_id, min_column_width),\n break\n
min( frame_width * 2 / col_count, \n else:\n
frame_width * len(str(string_property)) / max(line_width, 1)))\n continue\n
if is_report_tree_mode:\n if list_col_num == 0:\n
column_property = listboxline.getSectionName()\n return 3\n
if column_property is None: \n else:\n
string_property = \'\'\n return int(list_col_num)\n
else:\n
string_property = str(column_property)\n
column_id = \'section_name\'\n ]]></string> </value>
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
number = (int, float, long)\n
for listboxline in listboxline_list:\n
col_count = 0\n
for column_id, column_property in listboxline.getColumnItemList():\n
col_count += 1\n
if isinstance(column_property, unicode):\n
column_property = column_property.encode(\'utf8\')\n
if isinstance(column_property, number):\n
string_property = "%s+++" % (column_property)\n
elif isinstance(column_property, DateTime):\n
string_property = column_property.strftime(\'%Y/%m/%d++\')\n
else:\n
string_property = str(column_property or \'\')\n
if listboxline.isStatLine():\n
string_property = "%s+++++" % string_property\n
elif listboxline.isTitleLine():\n
string_property = "%s++++++++" % str(N_(string_property))\n
new_column_max_len = max(len(string_property),\n
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] = min(\n
max((max(max_len, 1) / total_max_len) * frame_width,\n
min_column_width),\n
frame_width / col_count + 5)\n
\n
return result\n
</string> </value>
</item> </item>
<item> <item>
<key> <string>_code</string> </key> <key> <string>_code</string> </key>
...@@ -202,15 +112,9 @@ return result\n ...@@ -202,15 +112,9 @@ return result\n
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>_params</string> </key> <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, listbox=None</string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>errors</string> </key> <key> <string>errors</string> </key>
...@@ -230,52 +134,27 @@ return result\n ...@@ -230,52 +134,27 @@ return result\n
<dictionary> <dictionary>
<item> <item>
<key> <string>co_argcount</string> </key> <key> <string>co_argcount</string> </key>
<value> <int>6</int> </value> <value> <int>0</int> </value>
</item> </item>
<item> <item>
<key> <string>co_varnames</string> </key> <key> <string>co_varnames</string> </key>
<value> <value>
<tuple> <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>listbox</string>
<string>DateTime</string>
<string>None</string>
<string>_getattr_</string> <string>_getattr_</string>
<string>context</string> <string>context</string>
<string>cache</string> <string>request</string>
<string>N_</string> <string>form</string>
<string>result</string> <string>list_col_num</string>
<string>min_column_width</string>
<string>_getiter_</string>
<string>listboxline</string>
<string>line_width</string>
<string>col_count</string> <string>col_count</string>
<string>column_property</string> <string>field_list</string>
<string>string_property</string> <string>_getiter_</string>
<string>str</string> <string>field</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>_getitem_</string>
<string>max_line_len</string> <string>listbox</string>
<string>listboxline_list</string>
<string>listboxline</string>
<string>column_item</string>
<string>int</string> <string>int</string>
<string>float</string>
<string>long</string>
<string>number</string>
<string>isinstance</string>
<string>unicode</string>
<string>new_column_max_len</string>
<string>update_dict</string>
<string>sum</string>
<string>total_max_len</string>
<string>max_len</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -287,20 +166,12 @@ return result\n ...@@ -287,20 +166,12 @@ return result\n
<item> <item>
<key> <string>func_defaults</string> </key> <key> <string>func_defaults</string> </key>
<value> <value>
<tuple> <none/>
<float>19.0</float>
<float>4.0</float>
<none/>
</tuple>
</value> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>ListBox_getColumnWithDict</string> </value> <value> <string>listBox_getColumnNum</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>warnings</string> </key> <key> <string>warnings</string> </key>
......
...@@ -44,177 +44,162 @@ ...@@ -44,177 +44,162 @@
</object> </object>
</value> </value>
</item> </item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block xmlns:draw=\'urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\'\n <tal:block xmlns:draw=\'urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\' xmlns:office=\'urn:oasis:names:tc:opendocument:xmlns:office:1.0\' xmlns:text=\'urn:oasis:names:tc:opendocument:xmlns:text:1.0\' xmlns:ooo=\'http://openoffice.org/2004/office\' xmlns:number=\'urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\' xmlns:dc=\'http://purl.org/dc/elements/1.1/\' xmlns:meta=\'urn:oasis:names:tc:opendocument:xmlns:meta:1.0\' xmlns:table=\'urn:oasis:names:tc:opendocument:xmlns:table:1.0\' xmlns:dr3d=\'urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\' xmlns:fo=\'urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\' xmlns:style=\'urn:oasis:names:tc:opendocument:xmlns:style:1.0\' xmlns:xforms=\'http://www.w3.org/2002/xforms\' xmlns:form=\'urn:oasis:names:tc:opendocument:xmlns:form:1.0\' xmlns:script=\'urn:oasis:names:tc:opendocument:xmlns:script:1.0\' xmlns:ooow=\'http://openoffice.org/2004/writer\' xmlns:svg=\'urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\' xmlns:chart=\'urn:oasis:names:tc:opendocument:xmlns:chart:1.0\' xmlns:dom=\'http://www.w3.org/2001/xml-events\' xmlns:xlink=\'http://www.w3.org/1999/xlink\' xmlns:xsd=\'http://www.w3.org/2001/XMLSchema\' xmlns:xsi=\'http://www.w3.org/2001/XMLSchema-instance\' xmlns:oooc=\'http://openoffice.org/2004/calc\' xmlns:math=\'http://www.w3.org/1998/Math/MathML\' xmlns:tal=\'http://xml.zope.org/namespaces/tal\'\n
xmlns:office=\'urn:oasis:names:tc:opendocument:xmlns:office:1.0\'\n xmlns:i18n=\'http://xml.zope.org/namespaces/i18n\'\n
xmlns:text=\'urn:oasis:names:tc:opendocument:xmlns:text:1.0\'\n xmlns:metal=\'http://xml.zope.org/namespaces/metal\'\n
xmlns:ooo=\'http://openoffice.org/2004/office\'\n tal:attributes=\'dummy python:request.RESPONSE.setHeader("Content-Type", "text/html;;\n
xmlns:number=\'urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\'\n charset=utf-8")\'\n
xmlns:dc=\'http://purl.org/dc/elements/1.1/\'\n office:version=\'1.0\' metal:define-macro="master">\n
xmlns:meta=\'urn:oasis:names:tc:opendocument:xmlns:meta:1.0\'\n <tal:block metal:use-macro="here/style_macros/macros/style_macro"/>\n
xmlns:table=\'urn:oasis:names:tc:opendocument:xmlns:table:1.0\'\n <office:scripts/>\n
xmlns:dr3d=\'urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\'\n \n
xmlns:fo=\'urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\'\n <office:body metal:define-macro="form_layout">\n
xmlns:style=\'urn:oasis:names:tc:opendocument:xmlns:style:1.0\'\n <office:spreadsheet>\n
xmlns:xforms=\'http://www.w3.org/2002/xforms\'\n \n
xmlns:form=\'urn:oasis:names:tc:opendocument:xmlns:form:1.0\'\n ** ##### listbox: must define the field listbox before calling this macro ! ##### **\n
xmlns:script=\'urn:oasis:names:tc:opendocument:xmlns:script:1.0\'\n \n
xmlns:ooow=\'http://openoffice.org/2004/writer\'\n <tal:block metal:define-macro="listbox">\n
xmlns:svg=\'urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\'\n <tal:block tal:define="listboxline_list python: listbox.get_value(\'default\', render_format=\'list\', REQUEST=request);\n
xmlns:chart=\'urn:oasis:names:tc:opendocument:xmlns:chart:1.0\'\n selection_name python: listbox.get_value(\'selection_name\', REQUEST=request);\n
xmlns:dom=\'http://www.w3.org/2001/xml-events\'\n editable_columns python: listbox.get_value(\'editable_columns\', REQUEST=request);\n
xmlns:xlink=\'http://www.w3.org/1999/xlink\'\n editable_fields python: dict([(column[0], getattr(listbox.aq_parent, \'listbox_%s\' % column[0], None)) for column in editable_columns]);\n
xmlns:xsd=\'http://www.w3.org/2001/XMLSchema\'\n selection python: here.portal_selections.getSelectionFor(selection_name, REQUEST=request);\n
xmlns:xsi=\'http://www.w3.org/2001/XMLSchema-instance\'\n is_domain_tree_mode selection/domain_tree_mode | nothing;\n
xmlns:oooc=\'http://openoffice.org/2004/calc\'\n is_report_tree_mode selection/report_tree_mode | nothing;" i18n:domain="ui">\n
xmlns:math=\'http://www.w3.org/1998/Math/MathML\'\n \n
xmlns:tal=\'http://xml.zope.org/namespaces/tal\'\n <tal:block tal:condition="python: len(listboxline_list) > 1">\n
xmlns:i18n=\'http://xml.zope.org/namespaces/i18n\'\n <tal:block tal:condition="python: is_domain_tree_mode">\n
xmlns:metal=\'http://xml.zope.org/namespaces/metal\'\n <tal:block tal:define="domain_list python: selection.getDomainList()" tal:condition="python: len(domain_list) > 0" >\n
office:version=\'1.0\'\n <table:table-column table:style-name="co2"/>\n
tal:attributes=\'dummy python:request.RESPONSE.setHeader("Content-Type", "text/html;; charset=utf-8")\'\n <table:table-row>\n
metal:define-macro="listbox">\n <table:table-cell office:value-type=\'string\'>\n
<tal:block tal:define="listboxline_list python:listbox.get_value(\'default\', render_format=\'list\', REQUEST=request);\n <text:p tal:content="python: domain_list[-1]" />\n
selection_name python:listbox.get_value(\'selection_name\', REQUEST=request);\n </table:table-cell>\n
editable_columns python:listbox.get_value(\'editable_columns\', REQUEST=request);\n </table:table-row>\n
editable_field_list python:dict([(column[0], getattr(listbox.aq_parent, \'listbox_%s\' % column[0], None)) for column in editable_columns]);\n </tal:block>\n
selection python:here.portal_selections.getSelectionFor(selection_name, REQUEST=request);\n </tal:block>\n
is_domain_tree_mode selection/domain_tree_mode | nothing;\n \n
is_report_tree_mode selection/report_tree_mode | nothing;"\n
i18n:domain="ui">\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=21, listbox=listbox)"/>\n
\n
<!--\n
<table:table table:style-name=\'ta1\' \n
table:print=\'false\'\n
table:name=\'Sheet1\'\n
tal:attributes=\'table:name python:listbox.get_value("title")\'>\n
-->\n
<table:table-column table:style-name=\'co3\' table:default-cell-style-name=\'Default\'/>\n
\n
\n
\n
\n
<tal:block tal:repeat="listboxline python: listboxline_list">\n <tal:block tal:repeat="listboxline python: listboxline_list">\n
<table:table-row table:style-name=\'ro1\'>\n <table:table-column table:style-name=\'co2\' />\n
\n <tal:block metal:define-slot="for_form_list" tal:condition="listboxline/isTitleLine | python: is_report_tree_mode">\n
\n <tal:block metal:define-slot="list_header">\n
<!-- title {{{ -->\n <table:table-row table:style-name=\'ro4\'>\n
<tal:block tal:condition="listboxline/isTitleLine">\n <tal:block tal:condition="python: is_report_tree_mode">\n
<tal:block tal:repeat="column_item listboxline/getColumnItemList">\n <table:table-cell table:style-name=\'report-column-title\' table:number-columns-spanned=\'1\' office:value-type=\'string\' >\n
<tal:block tal:define="column_property python: column_item[1];\n <tal:block tal:condition="listboxline/getSectionName">\n
column_id python: column_item[0]">\n <text:p tal:content="python: here.Localozer.erp5_ui.gettext(listboxline/getSectionName).encode(\'utf-8\')" tal:attributes="style python:\'Section%s\' % listboxline.getSectionDepth()"/>\n
<tal:block tal:condition="column_property">\n </tal:block>\n
<table:table-cell table:style-name=\'report-column-title\' office:value-type=\'string\'>\n
<text:p i18n:translate="" tal:content="column_property"/>\n
</table:table-cell>\n </table:table-cell>\n
</tal:block>\n </tal:block>\n
<tal:block tal:condition="not:column_property">\n \n
<table:table-cell table:style-name=\'report-column-title\' office:value-type=\'string\'>\n <table:table-column table:style-name="co2"/>\n
<text:p/>\n <tal:block tal:condition="listboxline/isTitleLine">\n
</table:table-cell>\n <tal:block tal:repeat="column_item listboxline/getColumnItemList">\n
<tal:block tal:define="column_property python: column_item[1]; column_id python: column_item[0]">\n
<tal:block tal:condition="python: column_property is not None" >\n
<table:table-cell table:number-rows-spanned=\'1\' table:style-name=\'report-column-title\' table:number-columns-spanned=\'1\' office:value-type=\'string\' >\n
<text:p tal:content="python: column_property">\n
</text:p>\n
</table:table-cell>\n
</tal:block>\n
<tal:block tal:condition="python: column_property is None">\n
<table:table-cell table:number-rows-spanned=\'1\' table:style-name=\'report-column-title\' table:number-colwithdrawnumns-spanned=\'1\' office:value-type=\'string\'>\n
<text:p tal:content="python: \'\'">\n
</text:p>\n
</table:table-cell>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n </tal:block>\n
</tal:block>\n </table:table-row>\n
</tal:block>\n </tal:block>\n
</tal:block>\n </tal:block>\n
<!-- }}} -->\n \n
\n <tal:block tal:condition="not:listboxline/isTitleLine">\n
<!-- DataLine {{{ -->\n <table:table-column table:style-name="co2"/>\n
<tal:block tal:condition="listboxline/isDataLine">\n <table:table-row>\n
<tal:block tal:repeat="column_item listboxline/getColumnItemList">\n <tal:block tal:condition="listboxline/isDataLine | python: listboxline.isSummaryLine()">\n
<tal:block tal:define="column_property python: column_item[1];\n <tal:block tal:repeat="column_item listboxline/getColumnItemList">\n
column_id python: column_item[0];\n <tal:block tal:define="column_property python: column_item[1]; column_id python: column_item[0]; is_list python:same_type(column_property, []) or same_type(column_property, ())">\n
is_list python:same_type(column_property, []) or same_type(column_property, ())">\n <tal:block tal:condition="python: is_list">\n
<tal:block tal:condition="python: is_list">\n <table:table-cell table:style-name=\'report-content-heading2\'>\n
<table:table-cell table:style-name=\'report-column-content\' office:value-type=\'string\'>\n <tal:block tal:repeat="item column_property">\n
<text:p>XXX list not supported TODO</text:p>\n <text:p tal:content="python: here.Localizer.erp5_ui.gettext(item).encode(\'utf-8\')">\n
</table:table-cell>\n </text:p>\n
</tal:block>\n </tal:block>\n
\n </table:table-cell>\n
<tal:block tal:condition="python: column_property is not None and not is_list"\n </tal:block>\n
tal:define="field python: None # XXX editable_field_list.get(column_id, None)" >\n <tal:block tal:condition="python: column_property is not None and not is_list">\n
<tal:block tal:condition="field"\n <table:table-cell tal:define="field python: editable_fields.get(column_id, None)" tal:attributes="table:style-name python:isinstance(column_property, (int, long, float)) and \'report-stat2-sans-bold\' or \'report-content-heading2\'">\n
tal:content="structure python:field.render_ods(column_property)">\n <text:p tal:condition="python: field is None" tal:content="python: column_property" >\n
</text:p>\n
<text:p tal:condition="python: field is not None"\n
tal:content="python: here.Localizer.erp5_ui.gettext(field.render_pdf(column_property)).encode(\'utf-8\')" >\n
</text:p>\n
</table:table-cell>\n
</tal:block>\n
<tal:block tal:condition="python: column_property is None">\n
<table:table-cell office:value-type=\'string\' table:style-name=\'report-content-heading2\' table:number-columns-spanned=\'1\' >\n
<text:p tal:content="python: \'\'" >\n
</text:p>\n
</table:table-cell>\n
</tal:block>\n
</tal:block>\n </tal:block>\n
<tal:block tal:condition="not: field">\n </tal:block>\n
<table:table-cell\n </tal:block>\n
table:style-name=\'report-column-content\'\n <tal:block tal:condition="python: listboxline.isStatLine() or listboxline.isSummaryLine()" >\n
tal:attributes="table:style-name python:isinstance(column_property, (int, long, float)) and \'report-content-currency3\' or \'report-content-heading3\';\n <tal:block tal:repeat="column_item python: listboxline.getColumnItemList()">\n
office:value-type python:isinstance(column_property, (int, long, float)) and \'float\' or \'string\';\n <tal:block tal:define="column_property python: column_item[1]; column_id python: column_item[0]">\n
office:value python:isinstance(column_property, str) and unicode(column_property, \'utf8\') or column_property;"\n <tal:block tal:condition="python: column_property is not None">\n
office:value-type=\'string\'>\n <table:table-cell table:style-name="report-stat2-sans-bold" table:number-columns-spanned=\'1\' tal:define="field python: editable_fields.get(column_id, None)" >\n
<text:p tal:content="column_property"/>\n <text:p tal:condition="python: field is None" tal:content="python: column_property">\n
</table:table-cell>\n </text:p>\n
<text:p tal:condition="python: field is not None" tal:content="python:here.Localizer.erp5_ui.gettext(field.render_pdf(column_property)).encode(\'utf-8\')">\n
</text:p>\n
</table:table-cell>\n
</tal:block>\n
<tal:block tal:condition="python: column_property is None">\n
<table:table-cell table:style-name="report-stat2-sans-bold" table:number-columns-spanned=\'1\' >\n
</table:table-cell>\n
</tal:block>\n
</tal:block>\n </tal:block>\n
</tal:block>\n </tal:block>\n
\n
<tal:block tal:condition="python: column_property is None">\n
<table:table-cell table:style-name=\'report-content-heading3\' office:value-type=\'string\'>\n
<text:p/>\n
</table:table-cell>\n
<tal:block>\n
\n
</tal:block>\n </tal:block>\n
</tal:block>\n </table:table-row>\n
</tal:block>\n </tal:block>\n
<!-- }}} -->\n </tal:block>\n
\n \n
<!--\n <table:table-column table:style-name="co2"/>\n
<tal:block tal:condition="python: listboxline.isStatLine() or listboxline.isSummaryLine()">\n <table:table-row metal:define-slot="table_bottom_line">\n
<tal:block tal:repeat="column_item python: listboxline.getColumnItemList()">\n <tal:block tal:repeat="listboxline python: listboxline_list">\n
<tal:block tal:define="column_property python: column_item[1];\n <tal:block tal:condition="listboxline/isTitleLine">\n
column_id python: column_item[0]">\n <tal:block tal:repeat="column_item listboxline/getColumnItemList">\n
<tal:block tal:condition="python: column_property is not None">\n <tal:block tal:define="column_property python: column_item[1]; ">\n
<td tal:attributes="colwidth python:\'%.2fcm\' % float(column_width[column_id])"\n <tal:block tal:condition="python: column_property is not None">\n
tal:define="field python: editable_field_list.get(column_id, None)">\n <table:table-cell table:style-name=\'table-bottom-line\' table:number-columns-repeated=\'repeat/column_item/number\'/>\n
<para tal:condition="python: field is None"\n </tal:block>\n
style="TableLastLine" tal:content="string:${column_property}"\n
tal:attributes="style python:isinstance(column_property, (int, long, float)) and \'TableLastLineRightAligned\' or \'TableLastLineLeftAligned\'" />\n
<para tal:condition="python: field is not None"\n
style="TableLastLine" tal:content="python: field.render_pdf(column_property)"\n
tal:attributes="style python:isinstance(column_property, (int, long, float)) and \'TableLastLineRightAligned\' or \'TableLastLineLeftAligned\'" />\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
</tal:block>\n </tal:block>\n
</tal:block>\n </tal:block>\n
\n </table:table-row>\n
</tr>\n
</tal:block>\n </tal:block>\n
\n </tal:block>\n
-->\n
\n
</tal:block>\n
</tal:block>\n
</table:table-row>\n
</tal:block>\n
<!-- </table:table> -->\n
</tal:block>\n </tal:block>\n
</tal:block><!-- vim: tw=1000 filetype=xml\n </office:spreadsheet>\n
-->\n </office:body>\n
</tal:block>\n
]]></string> </value> ]]></string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
<value> <string>text/xml</string> </value> <value> <string>application/vnd.oasis.opendocument.text</string> </value>
</item> </item>
<item> <item>
<key> <string>expand</string> </key> <key> <string>expand</string> </key>
......
<?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 xmlns:draw=\'urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\' xmlns:office=\'urn:oasis:names:tc:opendocument:xmlns:office:1.0\' xmlns:text=\'urn:oasis:names:tc:opendocument:xmlns:text:1.0\' xmlns:ooo=\'http://openoffice.org/2004/office\' xmlns:number=\'urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\' xmlns:dc=\'http://purl.org/dc/elements/1.1/\' xmlns:meta=\'urn:oasis:names:tc:opendocument:xmlns:meta:1.0\' xmlns:table=\'urn:oasis:names:tc:opendocument:xmlns:table:1.0\' xmlns:dr3d=\'urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\' xmlns:fo=\'urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\' xmlns:style=\'urn:oasis:names:tc:opendocument:xmlns:style:1.0\' xmlns:xforms=\'http://www.w3.org/2002/xforms\' xmlns:form=\'urn:oasis:names:tc:opendocument:xmlns:form:1.0\' xmlns:script=\'urn:oasis:names:tc:opendocument:xmlns:script:1.0\' xmlns:ooow=\'http://openoffice.org/2004/writer\' xmlns:svg=\'urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\' xmlns:chart=\'urn:oasis:names:tc:opendocument:xmlns:chart:1.0\' xmlns:dom=\'http://www.w3.org/2001/xml-events\' xmlns:xlink=\'http://www.w3.org/1999/xlink\' xmlns:xsd=\'http://www.w3.org/2001/XMLSchema\' xmlns:xsi=\'http://www.w3.org/2001/XMLSchema-instance\' xmlns:oooc=\'http://openoffice.org/2004/calc\' xmlns:math=\'http://www.w3.org/1998/Math/MathML\' xmlns:tal=\'http://xml.zope.org/namespaces/tal\' xmlns:i18n=\'http://xml.zope.org/namespaces/i18n\' xmlns:metal=\'http://xml.zope.org/namespaces/metal\' office:version=\'1.0\' metal:define-macro="master">\n
<tal:block metal:use-macro="here/style_macros/macros/style_macro"/>\n
<office:scripts/>\n
\n
<office:body metal:define-macro="form_layout">\n
<office:spreadsheet>\n
\n
** ## matrixbox: must define the field matrixbox before calling this macro ! ## **\n
<tal:block metal:define-macro="matrixbox">\n
<tal:block tal:define="list python:matrixbox.get_value(\'default\', render_format=\'list\', REQUEST=request)" >\n
<!--<tal:block tal:define="pon python:here.log(\'matrixbox\', \'%r\' % list)" />-->\n
<tal:block tal:repeat="tab list">\n
<tal:block tal:repeat="row tab">\n
<table:table-row tal:condition="python: row != [None, None]" table:style-name=\'ro4\'>\n
<tal:block tal:repeat="column row">\n
<tal:block tal:define="repeat_num repeat/column/number">\n
<tal:block tal:condition="python:repeat_num == 1">\n
<table:table-cell table:style-name=\'report-column-title\'>\n
<text:p tal:content="python: column" />\n
</table:table-cell>\n
</tal:block>\n
<tal:block tal:condition="python:repeat_num == 2">\n
<table:table-cell table:style-name=\'report-content-heading2-with-lines\'>\n
<text:p tal:content="python: column" />\n
</table:table-cell>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</table:table-row>\n
</tal:block>\n
<table:table-row>\n
<table:table-cell tal:content="python: \' \'"></table:table-cell>\n
</table:table-row>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</office:spreadsheet>\n
</office:body>\n
</tal:block>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/vnd.oasis.opendocument.text</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>matrixbox_ods_macro</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -14,15 +14,9 @@ ...@@ -14,15 +14,9 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>OLE_documents_zipstring</string> </key> <key> <string>OLE_documents_zipstring</string> </key>
<value> <string encoding="base64">UEsDBBQAAAAIALGO1TbMBk1mQgEAAFEHAAAVAAAATUVUQS1JTkYvbWFuaWZlc3QueG1stZVLasMw <value>
EED3PYXR3lbbVTFxAi30BOkBJvLYEeiHZhSS21cO5NM2lKZYOw1I741GGmmx2ltT7TCS9q4TT82j <none/>
qNAp32s3duJj/V6/iNXyYWHB6QGJ29OgyuscncNOpOhaD6SpdWCRWlatD+h6r5JFx+3X+e1kWj5U </value>
F/CgDdZ5YjxUFxn2Gmo+BOwEhGC0As55yp3rm6OruVY0FCJCT1tEFhfIkIypA/C2E1LIu5y3KW/e
DXpM8ZgLPUti4EQbiGXwoBQazKGPUqUYp53mYhZ3FREMxgNjIXjwIYV8E1IhfPRjRCp30lPqxeDs
vSkG1xZGJPmq2UKgoo472d+fDUpu6p4m6UZdC/6Ww51yxj3LqVdvwrOf/9fMv3OJDwZpdqxFhtke
nvU22Y0DbUjyadgEN84Nn7ewyJz/xXNpF/LHt7j8BFBLAQIUABQAAAAIALGO1TbMBk1mQgEAAFEH
AAAVAAAAAAAAAAAAAAAAAAAAAABNRVRBLUlORi9tYW5pZmVzdC54bWxQSwUGAAAAAAEAAQBDAAAA
dQEAAAAA</string> </value>
</item> </item>
<item> <item>
<key> <string>__ac_local_roles__</string> </key> <key> <string>__ac_local_roles__</string> </key>
...@@ -60,175 +54,116 @@ dQEAAAAA</string> </value> ...@@ -60,175 +54,116 @@ dQEAAAAA</string> </value>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<office:document-content xmlns:draw=\'urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\'\n <office:document-content xmlns:draw=\'urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\' xmlns:office=\'urn:oasis:names:tc:opendocument:xmlns:office:1.0\' xmlns:text=\'urn:oasis:names:tc:opendocument:xmlns:text:1.0\' xmlns:ooo=\'http://openoffice.org/2004/office\' xmlns:number=\'urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\' xmlns:dc=\'http://purl.org/dc/elements/1.1/\' xmlns:meta=\'urn:oasis:names:tc:opendocument:xmlns:meta:1.0\' xmlns:table=\'urn:oasis:names:tc:opendocument:xmlns:table:1.0\' xmlns:dr3d=\'urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\' xmlns:fo=\'urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\' xmlns:style=\'urn:oasis:names:tc:opendocument:xmlns:style:1.0\' xmlns:xforms=\'http://www.w3.org/2002/xforms\' xmlns:form=\'urn:oasis:names:tc:opendocument:xmlns:form:1.0\' xmlns:script=\'urn:oasis:names:tc:opendocument:xmlns:script:1.0\' xmlns:ooow=\'http://openoffice.org/2004/writer\' xmlns:svg=\'urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\' xmlns:chart=\'urn:oasis:names:tc:opendocument:xmlns:chart:1.0\' xmlns:dom=\'http://www.w3.org/2001/xml-events\' xmlns:xlink=\'http://www.w3.org/1999/xlink\' xmlns:xsd=\'http://www.w3.org/2001/XMLSchema\' xmlns:xsi=\'http://www.w3.org/2001/XMLSchema-instance\' xmlns:oooc=\'http://openoffice.org/2004/calc\' xmlns:math=\'http://www.w3.org/1998/Math/MathML\' xmlns:tal=\'http://xml.zope.org/namespaces/tal\' xmlns:i18n=\'http://xml.zope.org/namespaces/i18n\' xmlns:metal=\'http://xml.zope.org/namespaces/metal\' tal:attributes=\'dummy python:request.RESPONSE.setHeader("Content-Type", "text/html;; charset=utf-8")\' office:version=\'1.0\' tal:define="global frame_width python:25.8; global landscape python: int(request.get(\'landscape\', 0) or 0)" metal:define-macro="master">\n
xmlns:office=\'urn:oasis:names:tc:opendocument:xmlns:office:1.0\'\n <tal:block metal:use-macro="here/style_macros/macros/style_macro"/>\n
xmlns:text=\'urn:oasis:names:tc:opendocument:xmlns:text:1.0\'\n
xmlns:ooo=\'http://openoffice.org/2004/office\'\n
xmlns:number=\'urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\'\n
xmlns:dc=\'http://purl.org/dc/elements/1.1/\'\n
xmlns:meta=\'urn:oasis:names:tc:opendocument:xmlns:meta:1.0\'\n
xmlns:table=\'urn:oasis:names:tc:opendocument:xmlns:table:1.0\'\n
xmlns:dr3d=\'urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\'\n
xmlns:fo=\'urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\'\n
xmlns:style=\'urn:oasis:names:tc:opendocument:xmlns:style:1.0\'\n
xmlns:xforms=\'http://www.w3.org/2002/xforms\'\n
xmlns:form=\'urn:oasis:names:tc:opendocument:xmlns:form:1.0\'\n
xmlns:script=\'urn:oasis:names:tc:opendocument:xmlns:script:1.0\'\n
xmlns:ooow=\'http://openoffice.org/2004/writer\'\n
xmlns:svg=\'urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\'\n
xmlns:chart=\'urn:oasis:names:tc:opendocument:xmlns:chart:1.0\'\n
xmlns:dom=\'http://www.w3.org/2001/xml-events\'\n
xmlns:xlink=\'http://www.w3.org/1999/xlink\'\n
xmlns:xsd=\'http://www.w3.org/2001/XMLSchema\'\n
xmlns:xsi=\'http://www.w3.org/2001/XMLSchema-instance\'\n
xmlns:oooc=\'http://openoffice.org/2004/calc\'\n
xmlns:math=\'http://www.w3.org/1998/Math/MathML\'\n
xmlns:tal=\'http://xml.zope.org/namespaces/tal\'\n
xmlns:i18n=\'http://xml.zope.org/namespaces/i18n\'\n
xmlns:metal=\'http://xml.zope.org/namespaces/metal\'\n
tal:attributes=\'dummy python:request.RESPONSE.setHeader("Content-Type", "text/html;; charset=utf-8")\'\n
tal:define=\'report_item_list python:report_method();\n
report_item_list_len python:len(report_item_list);\n
global report_item_count python: 0;\n
dummy python:context.log("Starting report with %d report sections" % report_item_list_len);\'\n
office:version=\'1.0\'>\n
<office:scripts/>\n
<office:font-face-decls>\n
<style:font-face svg:font-family=\'Arial\' style:font-family-generic=\'swiss\' style:name=\'Arial\' style:font-pitch=\'variable\'/>\n
<style:font-face svg:font-family="\'DejaVu Sans\'" style:font-family-generic=\'system\' style:name=\'DejaVu Sans\' style:font-pitch=\'variable\'/>\n
<style:font-face svg:font-family=\'Lucidasans\' style:font-family-generic=\'system\' style:name=\'Lucidasans\' style:font-pitch=\'variable\'/>\n
</office:font-face-decls>\n
<office:automatic-styles>\n
<style:style style:family=\'table-column\' style:name=\'co1\'>\n
<style:table-column-properties fo:break-before=\'auto\' style:column-width=\'6.59cm\'/>\n
</style:style>\n
<style:style style:family=\'table-column\' style:name=\'co2\'>\n
<style:table-column-properties fo:break-before=\'auto\' style:column-width=\'4.727cm\'/>\n
</style:style>\n
<style:style style:family=\'table-column\' style:name=\'co3\'>\n
<style:table-column-properties fo:break-before=\'auto\' style:column-width=\'5.117cm\'/>\n
</style:style>\n
<style:style style:family=\'table-column\' style:name=\'co4\'>\n
<style:table-column-properties fo:break-before=\'auto\' style:column-width=\'2.267cm\'/>\n
</style:style>\n
\n
<!-- XXX how to calculate row heights ?\n
can it be done by OOo ?\n
-->\n
<style:style style:family=\'table-row\' style:name=\'ro1\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'2.575cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro2\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.894cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro3\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.877cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro4\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'false\' style:row-height=\'0.644cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro5\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'false\' style:row-height=\'0.951cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro6\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.503cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro7\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.538cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro8\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.453cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro9\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.496cm\'/>\n
</style:style>\n
<style:style style:family=\'table\' style:name=\'ta1\' style:master-page-name=\'Default\'>\n
<style:table-properties style:writing-mode=\'lr-tb\' table:display=\'true\'/>\n
</style:style>\n
<style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'ce1\'>\n
<style:table-cell-properties fo:wrap-option=\'wrap\'/>\n
</style:style>\n
<style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'ce2\'>\n
<style:table-cell-properties style:vertical-align=\'middle\' style:repeat-content=\'false\' style:text-align-source=\'fix\' fo:border=\'none\'/>\n
<style:paragraph-properties fo:text-align=\'center\'/>\n
</style:style>\n
<style:style style:parent-style-name=\'report-content-heading2\' style:family=\'table-cell\' style:name=\'ce3\'>\n
<style:text-properties fo:font-size=\'12pt\'/>\n
</style:style>\n
<style:style style:parent-style-name=\'report-stat2\' style:family=\'table-cell\' style:name=\'ce4\'>\n
<style:table-cell-properties fo:border-left=\'0.002cm solid #000000\' fo:border-bottom=\'none\' fo:border-right=\'none\' fo:border-top=\'none\'/>\n
</style:style>\n
<style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'ce5\'>\n
<style:table-cell-properties style:vertical-align=\'middle\' style:repeat-content=\'false\' style:text-align-source=\'fix\' fo:border=\'none\'/>\n
<style:paragraph-properties fo:text-align=\'center\' fo:margin-left=\'0cm\'/>\n
<style:text-properties fo:font-size=\'20pt\'/>\n
</style:style>\n
<style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'ce6\'>\n
<style:table-cell-properties style:vertical-align=\'middle\' style:repeat-content=\'false\' style:text-align-source=\'fix\' fo:border=\'none\'/>\n
<style:paragraph-properties fo:text-align=\'center\' fo:margin-left=\'0cm\'/>\n
</style:style>\n
</office:automatic-styles>\n
<office:body>\n <office:body>\n
<office:spreadsheet>\n <office:spreadsheet>\n
<tal:block tal:define="group_list python: form.get_groups(include_empty=1);\n
report_item_list python:report_method();\n
field_errors python: request.get(\'field_errors,{}\');\n
dummy python: request.set(\'here\', here); column_len form/listBox_getColumnNum;global sheet_per_reportsection python: int(request.get(\'sheet_per_ReportSection\', 0))">\n
\n \n
<!-- table for report title and parameters -->\n <!-- <table:table table:style-name=\'ta1\' table:print=\'false\' table:name=\'Sheet1\'>\n
<table:table table:style-name=\'ta1\' \n <table:table-column table:style-name=\'co2\'/>\n
tal:attributes="table:name python:form.getProperty(\'title\')"\n <table:table-column table:style-name=\'co3\'/>\n
table:print=\'false\' table:name=\'Sheet1\'>\n <tal:block tal:repeat="group python: [g for g in form.get_groups() if g not in (\'bottom\', \'hidden\')]">\n
\n <tal:block tal:define="field_list python: form.get_fields_in_group(group);">\n
<!-- report title -->\n <tal:block tal:condition="python: field_list not in [None, []]">\n
</table:table>\n <tal:block tal:repeat="field field_list">\n
\n <tal:block tal:condition="python:field.meta_type != \'HiddenStringField\'">\n
<table:table table:style-name=\'ta1\' \n <table:table-row table:style-name=\'ro4\'>\n
table:print=\'false\' table:name=\'Report\'>\n <table:table-cell table:number-rows-spanned=\'1\' table:style-name=\'report-column-title\' office:value-type=\'string\'>\n
\n <text:p tal:content="python: here.Localizer.erp5_ui.gettext(field.get_value(\'title\')).encode(\'utf-8\')">\n
<tal:block tal:define="portal_object here/portal_url/getPortalObject">\n </text:p>\n
<tal:block tal:repeat="report_item report_item_list">\n </table:table-cell>\n
<tal:block tal:define="here python:report_item.getObject(portal_object);\n <table:table-cell table:style-name=\'report-content-heading2-with-lines\' office:value-type=\'string\' tal:attributes="table:number-columns-spanned python: column_len" tal:define="value python: field.get_value(\'default\')">\n
dummy python:report_item.pushReport(portal_object)">\n <tal:block tal:condition="python: same_type(value,[]) or same_type(value,())">\n
<!--\n <tal:block tal:repeat="item value">\n
<table:table table:style-name=\'ta1\' \n <text:p tal:content="python: str(item)"></text:p>\n
tal:attributes="table:name report_item/getTitle;"\n </tal:block>\n
table:print=\'false\' table:name=\'Sheet1\'>\n </tal:block>\n
-->\n <tal:block tal:condition="python: not (same_type(value, []) or same_type(value, ()) or same_type(value, None))">\n
<table:table-row/> \n <text:p tal:content="python: field.render_pdf(value)" ></text:p>\n
<table:table-row tal:condition="report_item/getTitle">\n </tal:block>\n
<!-- XXX use section level\n <tal:block tal:condition="python: value is None">\n
tal:attributes="style python:\'Heading%s\' % report_item.getLevel()\n <text:p tal:content="python: \' \'" ></text:p>\n
\n </tal:block>\n
XXX spanned on as many column that listbox has columns (same for covered cell after\n </table:table-cell>\n
--> \n </table:table-row>\n
<table:table-cell table:number-columns-spanned=\'4\' table:style-name=\'report-title\' office:value-type=\'string\'>\n </tal:block>\n
<text:p i18n:translate="" tal:content="report_item/getTitle"/>\n </tal:block>\n
</table:table-cell>\n <table:table-row>\n
<table:covered-table-cell table:number-columns-repeated=\'3\'/>\n <table:table-cell table:style-name=\'Default\'><text:p>space dans report_view</text:p></table:table-cell>\n
</table:table-row>\n </table:table-row>\n
\n </tal:block>\n
<tal:block tal:condition="report_item/getFormId">\n </tal:block>\n
<tal:block tal:define="form python:getattr(here, report_item.getFormId())" >\n </tal:block>\n
<!-- \n <tal:block tal:define="field_list python: form.get_fields_in_group(\'bottom\')">\n
<tal:block tal:condition="python:form.pt == \'form_view\'">\n <tal:block tal:condition="python: field_list not in [None, []]">\n
<tal:block metal:use-macro="form/form_view/macros/form_layout"/></tal:block>\n <tal:block tal:repeat="field field_list">\n
<tal:block tal:condition="python:form.pt == \'form_list\'">\n <tal:block metal:use-macro="here/field_ods_macro/macros/field" />\n
<tal:block metal:use-macro="form/form_list/macros/form_layout"/></tal:block>\n </tal:block>\n
-->\n </tal:block>\n
<tal:block metal:use-macro="form/form_list/macros/form_layout"/>\n </tal:block>\n
</tal:block></tal:block>\n </table:table>\n
<!-- </table:table> -->\n -->\n
</tal:block>\n
\n \n
<tal:block tal:define="dummy python:report_item.popReport(portal_object);\n <tal:block tal:define="portal_object here/portal_url/getPortalObject"> \n
global report_item_count python: report_item_count + 1;\n <tal:block tal:condition="python: sheet_per_reportsection == 0">\n
debug python:context.log(\'%s sections done\' % report_item_count)"/>\n <table:table table:name="report_view">\n
</tal:block>\n <tal:block tal:repeat="report_item report_item_list">\n
</tal:block>\n <tal:block metal:define-macro="make_report_item_table" tal:define="here python:report_item.getObject(portal_object); dummy python:report_item.pushReport(portal_object)">\n
\n <tal:block tal:condition="report_item/getTitle | report_item/getTranslatedTitle">\n
</table:table>\n <table:table-row table:style-name=\'ro2\'>\n
\n <tal:block tal:condition="report_item/getTitle" tal:define="level report_item/getLevel">\n
<tal:block tal:condition="python: level == 1">\n
<table:table-cell table:style-name="report-title" tal:attributes="table:number-columns-spanned python:column_len" office:value-type=\'string\' table:number-rows-spanned=\'1\'>\n
<text:p tal:content="report_item/getTitle" i18n:translate="ui"></text:p>\n
</table:table-cell>\n
</tal:block>\n
<tal:block tal:condition="python: level == 2">\n
<table:table-cell table:style-name="report-title2" tal:attributes="table:number-columns-spanned python:column_len" office:value-type=\'string\' table:number-rows-spanned=\'1\'>\n
<text:p tal:content="report_item/getTitle" i18n:translate="ui"></text:p>\n
</table:table-cell>\n
</tal:block>\n
<tal:block tal:condition="python: level == 3">\n
<table:table-cell table:style-name="report-title3" tal:attributes="table:number-columns-spanned python:column_len" office:value-type=\'string\' table:number-rows-spanned=\'1\'>\n
<text:p tal:content="report_item/getTitle" i18n:translate="ui"></text:p>\n
</table:table-cell>\n
</tal:block>\n
</tal:block>\n
<tal:block tal:condition="report_item/getTranslatedTitle">\n
<text:p tal:content="report_item/getTranslatedTitle"></text:p>\n
</tal:block>\n
</table:table-row>\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 tal:define="dummy python:report_item.popReport(portal_object)"/>\n
</tal:block>\n
</tal:block>\n
</table:table>\n
</tal:block>\n
<tal:block tal:condition="python: sheet_per_reportsection == 1">\n
<tal:block tal:repeat="report_item python: here.Base_getReportSectionName(report_item_list)">\n
<table:table tal:attributes="table:name report_item/getTitle">\n
<tal:block metal:use-macro="here/report_view/macros/make_report_item_table"/>\n
</table:table> \n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</office:spreadsheet>\n </office:spreadsheet>\n
</office:body>\n </office:body>\n
</office:document-content> <!-- vim: filetype=xml tw=1000 foldmethod=marker\n </office:document-content>\n
-->\n
]]></string> </value> ]]></string> </value>
...@@ -247,7 +182,7 @@ dQEAAAAA</string> </value> ...@@ -247,7 +182,7 @@ dQEAAAAA</string> </value>
</item> </item>
<item> <item>
<key> <string>ooo_stylesheet</string> </key> <key> <string>ooo_stylesheet</string> </key>
<value> <string>Base_getODSStyleSheet</string> </value> <value> <string>OooTemplate_getStyleSheet</string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
<?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 xmlns:draw=\'urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\' xmlns:office=\'urn:oasis:names:tc:opendocument:xmlns:office:1.0\' xmlns:text=\'urn:oasis:names:tc:opendocument:xmlns:text:1.0\' xmlns:ooo=\'http://openoffice.org/2004/office\' xmlns:number=\'urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\' xmlns:dc=\'http://purl.org/dc/elements/1.1/\' xmlns:meta=\'urn:oasis:names:tc:opendocument:xmlns:meta:1.0\' xmlns:table=\'urn:oasis:names:tc:opendocument:xmlns:table:1.0\' xmlns:dr3d=\'urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\' xmlns:fo=\'urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\' xmlns:style=\'urn:oasis:names:tc:opendocument:xmlns:style:1.0\' xmlns:xforms=\'http://www.w3.org/2002/xforms\' xmlns:form=\'urn:oasis:names:tc:opendocument:xmlns:form:1.0\' xmlns:script=\'urn:oasis:names:tc:opendocument:xmlns:script:1.0\' xmlns:ooow=\'http://openoffice.org/2004/writer\' xmlns:svg=\'urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\' xmlns:chart=\'urn:oasis:names:tc:opendocument:xmlns:chart:1.0\' xmlns:dom=\'http://www.w3.org/2001/xml-events\' xmlns:xlink=\'http://www.w3.org/1999/xlink\' xmlns:xsd=\'http://www.w3.org/2001/XMLSchema\' xmlns:xsi=\'http://www.w3.org/2001/XMLSchema-instance\' xmlns:oooc=\'http://openoffice.org/2004/calc\' xmlns:math=\'http://www.w3.org/1998/Math/MathML\' xmlns:tal=\'http://xml.zope.org/namespaces/tal\'\n
xmlns:i18n=\'http://xml.zope.org/namespaces/i18n\'\n
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\' metal:define-macro="style_macro">\n
<office:scripts/>\n
<office:font-face-decls>\n
<style:font-face svg:font-family=\'Arial\' style:font-family-generic=\'swiss\' style:name=\'Arial\' style:font-pitch=\'variable\'/>\n
<style:font-face svg:font-family="\'DejaVu Sans\'" style:font-family-generic=\'swiss\' style:name=\'DejaVu Sans1\' style:font-pitch=\'variable\'/>\n
<style:font-face svg:font-family="\'DejaVu Sans\'" style:font-family-generic=\'system\' style:name=\'DejaVu Sans\' style:font-pitch=\'variable\'/>\n
<style:font-face svg:font-family=\'Lucidasans\' style:font-family-generic=\'system\' style:name=\'Lucidasans\' style:font-pitch=\'variable\'/>\n
</office:font-face-decls>\n
<office:automatic-styles>\n
<style:style style:family=\'table-column\' style:name=\'co1\'>\n
<style:table-column-properties fo:break-before=\'auto\' style:column-width=\'6.59cm\'/>\n
</style:style>\n
<style:style style:family=\'table-column\' style:name=\'co2\'>\n
<style:table-column-properties fo:break-before=\'auto\' style:column-width=\'4.727cm\'/>\n
</style:style>\n
<style:style style:family=\'table-column\' style:name=\'co3\'>\n
<style:table-column-properties fo:break-before=\'auto\' style:column-width=\'5.117cm\'/>\n
</style:style>\n
<style:style style:family=\'table-column\' style:name=\'co4\'>\n
<style:table-column-properties fo:break-before=\'auto\' style:column-width=\'2.267cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro1\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'2.91cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro2\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'1.007cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro3\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.877cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro4\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.923cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro5\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'false\' style:row-height=\'0.644cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro6\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'false\' style:row-height=\'0.951cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro7\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.522cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro8\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.531cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro9\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.496cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro10\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.538cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro11\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.485cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro12\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.559cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro13\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.616cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'ro14\'>\n
<style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.453cm\'/>\n
</style:style>\n
<style:style style:family=\'table\' style:name=\'ta1\' style:master-page-name=\'Default\'>\n
<style:table-properties style:writing-mode=\'lr-tb\' table:display=\'true\'/>\n
</style:style>\n
<style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'ce1\'>\n
<style:table-cell-properties fo:wrap-option=\'wrap\'/>\n
</style:style>\n
<style:style style:parent-style-name=\'report-stat2\' style:family=\'table-cell\' style:name=\'ce2\'>\n
<style:table-cell-properties fo:border-left=\'0.002cm solid #000000\' fo:border-bottom=\'none\' fo:border-right=\'none\' fo:border-top=\'none\'/>\n
</style:style>\n
<style:style style:parent-style-name=\'report-content-heading2-with-lines\' style:family=\'table-cell\' style:name=\'ce3\'>\n
<style:table-cell-properties fo:border-left=\'none\' fo:border-bottom=\'0.002cm solid #000000\' fo:border-right=\'none\' fo:border-top=\'0.002cm solid #000000\'/>\n
</style:style>\n
<style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'ce4\'>\n
<style:table-cell-properties style:vertical-align=\'middle\' style:repeat-content=\'false\' style:text-align-source=\'fix\' fo:border=\'none\'/>\n
<style:paragraph-properties fo:text-align=\'center\' fo:margin-left=\'0cm\'/>\n
<style:text-properties fo:font-size=\'20pt\'/>\n
</style:style>\n
<style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'ce5\'>\n
<style:table-cell-properties style:vertical-align=\'middle\' style:repeat-content=\'false\' style:text-align-source=\'fix\' fo:border=\'none\'/>\n
<style:paragraph-properties fo:text-align=\'center\' fo:margin-left=\'0cm\'/>\n
</style:style>\n
</office:automatic-styles>\n
</tal:block>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/vnd.oasis.opendocument.spreadsheet</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>style_macros</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
2007-08-24 rie
*add report function.
*add some style sheet
2007-06-28 jerome 2007-06-28 jerome
initial prototype initial prototype
\ No newline at end of file
This style is not fully implemented. It was just a prototype to benchmark big report generated in pdf with oood
\ No newline at end of file
jerome jerome
\ No newline at end of file rie
\ No newline at end of file
3 39
\ No newline at end of file \ No newline at end of file
portal_actions | export_ods
portal_actions | ods_report
\ No newline at end of file
erp5_ods_core
erp5_ods_style erp5_ods_style
\ 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