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