[Erp5-report] r9239 - in /erp5/trunk/bt5/erp5_pdf_editor: SkinTemplateItem/portal_skins/erp...
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Aug 16 19:16:14 CEST 2006
Author: jerome
Date: Wed Aug 16 19:16:11 2006
New Revision: 9239
URL: http://svn.erp5.org?rev=9239&view=rev
Log:
added missing form_render_PDFeForm
Added:
erp5/trunk/bt5/erp5_pdf_editor/SkinTemplateItem/portal_skins/erp5_pdf_editor/form_render_PDFeForm.xml
Modified:
erp5/trunk/bt5/erp5_pdf_editor/bt/change_log
erp5/trunk/bt5/erp5_pdf_editor/bt/description
Added: erp5/trunk/bt5/erp5_pdf_editor/SkinTemplateItem/portal_skins/erp5_pdf_editor/form_render_PDFeForm.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_pdf_editor/SkinTemplateItem/portal_skins/erp5_pdf_editor/form_render_PDFeForm.xml?rev=9239&view=auto
==============================================================================
--- erp5/trunk/bt5/erp5_pdf_editor/SkinTemplateItem/portal_skins/erp5_pdf_editor/form_render_PDFeForm.xml (added)
+++ erp5/trunk/bt5/erp5_pdf_editor/SkinTemplateItem/portal_skins/erp5_pdf_editor/form_render_PDFeForm.xml Wed Aug 16 19:16:11 2006
@@ -1,0 +1,363 @@
+<?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>_dav_writelocks</string> </key>
+ <value>
+ <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+ </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
+ xmlns:tal="http://xml.zope.org/namespaces/tal"\n
+ xmlns:metal="http://xml.zope.org/namespaces/metal"\n
+ xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
+<!--\n
+Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n
+ Vincent Pelletier <vincent at nexedi.com>\n
+ Christophe Dumez <christophe at nexedi.com>\n
+\n
+This program is Free Software; you can redistribute it and/or\n
+modify it under the terms of the GNU General Public License\n
+as published by the Free Software Foundation; either version 2\n
+of the License, or (at your option) any later version.\n
+\n
+This program is distributed in the hope that it will be useful,\n
+but WITHOUT ANY WARRANTY; without even the implied warranty of\n
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
+GNU General Public License for more details.\n
+\n
+You should have received a copy of the GNU General Public License\n
+along with this program; if not, write to the Free Software\n
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
+-->\n
+</tal:block>\n
+<tal:block metal:use-macro="here/view_master/macros/master">\n
+ <tal:block metal:fill-slot="main">\n
+<tal:block metal:define-macro="master">\n
+\n
+ <tal:block tal:define="object_name form/title;\n
+ object_name python:object_name.replace(\' \',\'\');\n
+ portal_url here/portal_url;\n
+ object_name string:${object_name}">\n
+ <link href="my_css" rel="stylesheet" type="text/css" group="test"\n
+ tal:attributes="href string:${object_name}_css.css"/>\n
+ </tal:block>\n
+ <tal:block tal:define="field_errors python: request.get(\'field_errors\',{});\n
+ dummy python: request.set(\'here\', here);\n
+ groups python: form.get_groups();\n
+ object_name form/title;\n
+ object_name python:object_name.replace(\' \',\'\')">\n
+\n
+ <tal:block tal:define="template python: here.developper_shortcut_render">\n
+ <tal:block metal:use-macro="template/macros/form" />\n
+ </tal:block>\n
+\n
+ <tal:block tal:repeat="pagenum python:range(len(groups))"\n
+ tal:attributes="class string:my_span">\n
+\n
+\n
+ <div\n
+ class="my_page_class"\n
+ tal:attributes="class string:page_${pagenum}"\n
+ ><img src="test_object_page_0.png"\n
+ alt="background"\n
+ class="page_0_background"\n
+ tal:attributes="src string:${object_name}_background_${pagenum};\n
+ class string:page_${pagenum}_background"\n
+ /><span tal:replace="nothing" >\n
+ page is not empty (there is at least one element) \n
+ considering class = \'page_\' + pagenum\n
+ </span>\n
+ <span tal:repeat="field python:form.get_fields_in_group(groups[pagenum])"\n
+ class="my_span"\n
+ tal:omit-tag=""\n
+ ><!--get a field-->\n
+ <span tal:condition="python:field.meta_type != \'HiddenStringField\'"\n
+ tal:define="name python:str(field.id);\n
+ value python:request.get(field.id,None);\n
+ class_base string:${name}"\n
+ class="my_span"\n
+ tal:omit-tag=""\n
+ ><div tal:omit-tag=""\n
+ tal:define="struct python:field.render(value,request)"\n
+ ><span tal:omit-tag=""\n
+ tal:define="struct python:struct.replace(\' ;\',\'\');\n
+ struct_input_div python:struct.split(\'<input\');\n
+ struct_input_len python:len(struct_input_div);\n
+ struct_input_range python:range(struct_input_len);\n
+ struct_input_test python:int(struct_input_len) < 3;\n
+ struct_selec_div python:struct.split(\'<select\');\n
+ struct_selec_len python:len(struct_selec_div);\n
+ struct_selec_range python:range(struct_selec_len);\n
+ struct_selec_test python:int(struct_selec_len) == 1;\n
+ struct_test python:struct_selec_test and struct_input_test"\n
+ ><span tal:replace="nothing">\n
+ - rendering final output string through \'field.render\'.\n
+ - replacing all \' \' with \'\' to prevent error in rendering\n
+ - making two tests : first one (struct_input_test) is used to test if\n
+ rendering is single field (StringField, ) or multi-field\n
+ (DateTimeField, RelationStringField, ).\n
+ PLEASE note : CheckboxField is rendered as a single field in html_style\n
+ but as a multi-field in xhtml_style\n
+ Second one takes care of the RelationStrinField item when it is filled\n
+ as it is composed of 1 input field + 1 select field\n
+ </span>\n
+ <span tal:omit-tag=""\n
+ tal:condition="struct_test"\n
+ ><!-- begining single field processing --><span tal:replace="nothing">\n
+ this bloc has been implemented to take care of the textarea\n
+ and single inputfield renderings. this just process the\n
+ output rendering as a single field.\n
+ UPDATE : with xhtml_style, this \n
+ </span>\n
+ <div tal:condition="python:(not field_errors.has_key(field.id))"\n
+ ><!-- field has no error -->\n
+ <span tal:replace="structure struct"\n
+ tal:attributes="class string:${name}_class;\n
+ title field/title"\n
+ /></div>\n
+ <div tal:condition="python: field_errors.has_key(field.id)"\n
+ ><!-- field has errors-->\n
+ <span tal:replace="structure struct"\n
+ tal:attributes="class string:${name}_class_error;\n
+ title string:${field/title}"\n
+ /></div>\n
+ <!-- end single field processing-->\n
+ </span>\n
+ <span tal:omit-tag=""\n
+ tal:condition="not:struct_input_test"\n
+ ><!-- begining multi-input processing -->\n
+ <span tal:replace="nothing">\n
+ this bloc is designed to process standard multi-input fields such as\n
+ DateTimeFields and RelationStringFields. (and checkbox field in\n
+ xhtml_style).\n
+ As the rendering is based on several inputs, need to take each of them,\n
+ give them the good attributes (class) and then pasting the result string\n
+ in the document before processing the next input\n
+ </span>\n
+ <tal:block tal:condition="python: \'hidden\' not in struct_input_div[1]">\n
+ <span tal:define="struct_range python:range(struct_input_len)"\n
+ tal:repeat="struct_ind python:struct_range[1:]">\n
+ <div tal:condition="python:(not field_errors.has_key(field.id))"\n
+ ><!-- field has no error 1-->\n
+ <span tal:define="struct_content python:struct_input_div[struct_ind];\n
+ struct_final python:\'%s %s\' %\n
+ (\'<input \', struct_content);\n
+ class_final python:\'%s%s%s\' %\n
+ (class_base,\'_class_\', struct_ind)"\n
+ tal:replace="structure struct_final"\n
+ tal:attributes="class class_final;\n
+ title field/title"\n
+ />\n
+ </div>\n
+ <div tal:condition="python:field_errors.has_key(field.id)"\n
+ ><!-- field has errors 1-->\n
+ <span tal:define="struct_content python:struct_input_div[struct_ind];\n
+ struct_final python:\'%s %s\' %\n
+ (\'<input \', struct_content);\n
+ class_final python:\'%s%s%s%s\' %\n
+ (class_base,\'_class_\', struct_ind, \'_error\')"\n
+ tal:replace="structure struct_final"\n
+ tal:attributes="class class_final;\n
+ title field/title"\n
+ /></div>\n
+ </span>\n
+ </tal:block>\n
+ <tal:block tal:condition="python: \'hidden\' in struct_input_div[1]">\n
+ <!-- processing CheckBoxField in xhtml_style -->\n
+ <span tal:define="struct_range python:range(struct_input_len)"\n
+ tal:repeat="struct_ind python:struct_range[1:]">\n
+ <div tal:condition="python:(not field_errors.has_key(field.id))"\n
+ ><!-- field has no error 2-->\n
+ <span tal:define="struct_content python:struct_input_div[struct_ind];\n
+ struct_final python:\'%s %s\' %\n
+ (\'<input \', struct_content);\n
+ class_final python:\'%s%s\' %\n
+ (class_base,\'_class\')"\n
+ tal:replace="structure struct_final"\n
+ tal:attributes="class class_final;\n
+ title field/title"\n
+ />\n
+ </div>\n
+ <div tal:condition="python:field_errors.has_key(field.id)"\n
+ ><!-- field has errors 2-->\n
+ <span tal:define="struct_content python:struct_input_div[struct_ind];\n
+ struct_final python:\'%s %s\' %\n
+ (\'<input \', struct_content);\n
+ class_final python:\'%s%s\' %\n
+ (class_base,\'_class_error\')"\n
+ tal:replace="structure struct_final"\n
+ tal:attributes="class class_final;\n
+ title field/title"\n
+ /></div>\n
+ </span>\n
+ </tal:block>\n
+ </span>\n
+ <span tal:omit-tag=""\n
+ tal:condition="not:struct_selec_test"\n
+ ><!-- start select-field rendering -->\n
+ <span tal:replace="nothing">\n
+ this bloc is here to process special multi-fields rendering based on\n
+ input + select (for RelationStringFields when user can select element\n
+ from a list object)\n
+ </span>\n
+ <span tal:omit-tag=""\n
+ tal:define="struct_content0 python:struct_selec_div[0];\n
+ struct_content1 python:struct_selec_div[1];\n
+ struct_content1 python:\'%s %s\' %\n
+ (\'<select\',struct_content1);\n
+ struct_selec_div python:[\'\',struct_content0, struct_content1];\n
+ struct_range python:range(struct_selec_len +1)"\n
+ tal:repeat="struct_ind python:struct_range[1:]"\n
+ ><div\n
+ ><!-- field has no errors-->\n
+ <span tal:condition="python:(not field_errors.has_key(field.id))"\n
+ tal:define="class_final python:\'%s%s%s\' %\n
+ (class_base,\'_class_\', struct_ind)"\n
+ tal:replace="structure python:struct_selec_div[struct_ind]"\n
+ tal:attributes="class class_final;\n
+ title field/title"\n
+ /><!-- field has no errors -->\n
+ <span tal:condition="python:field_errors.has_key(field.id)"\n
+ tal:define="class_final python:\'%s%s%s%s\' %\n
+ (class_base,\'_class_\', struct_ind, \'_error\')"\n
+ tal:replace="structure python:struct_selec_div[struct_ind]"\n
+ tal:attributes="class class_final;\n
+ title field/title"\n
+ /></div>\n
+ </span>\n
+ </span>\n
+ <span tal:omit-tag=""\n
+ tal:condition="python:field_errors.has_key(field.id)"\n
+ ><!-- rendering error text -->\n
+ <span tal:replace="nothing">\n
+ once all the field have been rendered, just need to add error text\n
+ if necessary on the rigth side of the page.\n
+ </span>\n
+ <div tal:define="class_final python:\'%s%s\' %\n
+ (class_base, \'_error_display\')"\n
+ tal:content="python:field_errors[field.id].error_text"\n
+ i18n:translate=""\n
+ i18domain="ui"\n
+ tal:attributes="class class_final;\n
+ title string:${field/title}"\n
+ ></div>\n
+ </span>\n
+ </span>\n
+ </div>\n
+ </span>\n
+ </span>\n
+ <br/>\n
+ <br/>\n
+ </div>\n
+ <span tal:replace="nothing">\n
+ this test is needed to add a content after the last page\n
+ displayed to be sure it is well displayed under Konqueror\n
+ (Mozilla does not have this kind of problem)\n
+ </span>\n
+ <div tal:condition="python:pagenum==(len(groups)-1)"\n
+ tal:attributes="class string:page_end"> \n
+ <b></b>\n
+ </div>\n
+ </tal:block>\n
+ </tal:block>\n
+</tal:block>\n
+</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_render_PDFeForm</string> </value>
+ </item>
+ <item>
+ <key> <string>title</string> </key>
+ <value> <string></string> </value>
+ </item>
+ </dictionary>
+ </pickle>
+ </record>
+ <record id="2" aka="AAAAAAAAAAI=">
+ <pickle>
+ <tuple>
+ <tuple>
+ <string>Persistence</string>
+ <string>PersistentMapping</string>
+ </tuple>
+ <none/>
+ </tuple>
+ </pickle>
+ <pickle>
+ <dictionary>
+ <item>
+ <key> <string>_container</string> </key>
+ <value>
+ <dictionary/>
+ </value>
+ </item>
+ </dictionary>
+ </pickle>
+ </record>
+</ZopeData>
Modified: erp5/trunk/bt5/erp5_pdf_editor/bt/change_log
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_pdf_editor/bt/change_log?rev=9239&r1=9238&r2=9239&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_pdf_editor/bt/change_log (original)
+++ erp5/trunk/bt5/erp5_pdf_editor/bt/change_log Wed Aug 16 19:16:11 2006
@@ -1,3 +1,6 @@
+2006-08-16 jerome
+* added missing form_render_PDFeForm
+
2006-08-03 jerome
* add global action
Modified: erp5/trunk/bt5/erp5_pdf_editor/bt/description
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_pdf_editor/bt/description?rev=9239&r1=9238&r2=9239&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_pdf_editor/bt/description (original)
+++ erp5/trunk/bt5/erp5_pdf_editor/bt/description Wed Aug 16 19:16:11 2006
@@ -1,4 +1,4 @@
-ERP5 PDF Editor provide support PDF editing with the combination of Scribus.
+ERP5 PDF Editor provides support PDF editing with the combination of Scribus.
You need to have pdftoppm from xpdf, and convert from ImageMagick.
More information about the Erp5-report
mailing list