diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/configure_list_dialog.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/configure_list_dialog.xml index 8ad01fd8f07a684e1645b45c73555ce10bcf2e0e..72c0107c86d2740afa170ffbeb00c8f916ca4b99 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/configure_list_dialog.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/configure_list_dialog.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.PageTemplates.ZopePageTemplate</string> - <string>ZopePageTemplate</string> - </tuple> - <none/> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + <tuple/> </tuple> </pickle> <pickle> @@ -54,83 +51,30 @@ <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 +<tal:block 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@nexedi.com>\n - Christophe Dumez <christophe@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 -XXX: uses hardcoded indices values to access fields\n --->\n -</tal:block>\n -<tal:block metal:define-macro="master">\n - <tal:block metal:use-macro="here/dialog_main/macros/master">\n - <tal:block metal:fill-slot="main">\n - <div class="dialog_box">\n - <tal:block tal:condition="preferred_html_style_developper_mode">\n - <tal:block metal:use-macro="developper_shortcut_render/macros/form"/>\n - </tal:block>\n - <table tal:define="selection_name request/selection_name;\n - base_form python: getattr(here, request[\'form_id\']);\n - groups base_form/get_groups;\n - listbox python: base_form.Form_getListbox();\n - default_columns python: listbox.get_value(\'columns\');\n - columns python: here.portal_selections.getSelectionColumns(selection_name, REQUEST=request, columns=default_columns);\n - selected_stats python: here.portal_selections.getSelectionStats(selection_name, REQUEST=request);\n - global row_index python: 0;\n - global row_keys python: [\'None\'];\n - global stats python: [\' \',\'count\',\'sum\',\'max\',\'min\',\'avg\'];\n - all_columns python: listbox.get_value(\'all_columns\')">\n - <tal:block tal:repeat="item columns">\n - <tr tal:define="global row_index python:row_index+1;\n - dummy python:row_keys.append(item[0])"\n - tal:attributes="id string:column_${row_index}">\n - <td>\n - <tal:block i18n:translate="" i18n:domain="ui">Column</tal:block>\n - <tal:block tal:replace="row_index" />\n - </td>\n - <td>\n - <select name="field_columns">\n - <tal:block tal:repeat="option python: [(\'None\',\'None\')] + all_columns">\n - <option tal:content="python: option[1]"\n - tal:attributes="value python:option[0];\n - selected python: option[0]==item[0] and \'selected\' or nothing"\n - i18n:translate="" i18n:domain="ui" />\n - </tal:block>\n - </select>\n - </td>\n - <td>\n - <select name="stat_columns">\n - <tal:block tal:repeat="stat stats">\n - <option tal:content="stat"\n - tal:attributes="value stat;\n - selected python: (len(selected_stats) >= row_index and stat == selected_stats[row_index - 1]) and \'selected\' or nothing"\n - i18n:translate="" i18n:domain="ui" />\n - </tal:block>\n - </select>\n - </td>\n - </tr>\n + <tal:block metal:define-macro="master">\n + <tal:block metal:use-macro="here/dialog_main/macros/master">\n + <tal:block metal:fill-slot="main">\n + <div class="dialog_box">\n + <tal:block tal:condition="preferred_html_style_developper_mode">\n + <tal:block metal:use-macro="developper_shortcut_render/macros/form" />\n </tal:block>\n - <tal:block tal:repeat="item all_columns">\n - <tal:block tal:condition="python: item[0] not in row_keys">\n - <tr tal:define="global row_index python:row_index+1"\n + <table tal:define="selection_name request/selection_name;\n + base_form python: getattr(here, request[\'form_id\']);\n + groups base_form/get_groups;\n + listbox python: base_form.Form_getListbox();\n + default_columns python: listbox.get_value(\'columns\');\n + columns python: here.portal_selections.getSelectionColumns(selection_name, REQUEST=request, columns=default_columns);\n + selected_stats python: here.portal_selections.getSelectionStats(selection_name, REQUEST=request);\n + global row_index python: 0;\n + global row_keys python: [\'None\'];\n + global stats python: [\' \',\'count\',\'sum\',\'max\',\'min\',\'avg\'];\n + all_columns python: listbox.get_value(\'all_columns\')">\n + <tal:block tal:repeat="item columns">\n + <tr tal:define="global row_index python:row_index+1;\n + dummy python:row_keys.append(item[0])"\n tal:attributes="id string:column_${row_index}">\n <td>\n <tal:block i18n:translate="" i18n:domain="ui">Column</tal:block>\n @@ -138,15 +82,12 @@ XXX: uses hardcoded indices values to access fields\n </td>\n <td>\n <select name="field_columns">\n - <option selected="selected"\n - value="None"\n - i18n:translate="" i18n:domain="ui">\n - None\n - </option>\n - <option tal:repeat="option all_columns"\n - tal:content="python:option[1]"\n - tal:attributes="value python:option[0]"\n - i18n:translate="" i18n:domain="ui" />\n + <tal:block tal:repeat="option python: [(\'None\',\'None\')] + all_columns">\n + <option tal:content="python: option[1]"\n + tal:attributes="value python:option[0];\n + selected python: option[0]==item[0] and \'selected\' or nothing"\n + i18n:translate="" i18n:domain="ui" />\n + </tal:block>\n </select>\n </td>\n <td>\n @@ -154,19 +95,54 @@ XXX: uses hardcoded indices values to access fields\n <tal:block tal:repeat="stat stats">\n <option tal:content="stat"\n tal:attributes="value stat;\n - selected python: len(selected_stats) >= row_index and stat == selected_stats[row_index - 1] and \'selected or nothing\'"\n - i18n:translate="" i18n:domain="ui" />\n + selected python: (len(selected_stats) >= row_index and stat == selected_stats[row_index - 1]) and \'selected\' or nothing"\n + i18n:translate="" i18n:domain="ui" />\n </tal:block>\n </select>\n </td>\n </tr>\n </tal:block>\n - </tal:block>\n - </table>\n - </div>\n + <tal:block tal:repeat="item all_columns">\n + <tal:block tal:condition="python: item[0] not in row_keys">\n + <tr tal:define="global row_index python:row_index+1"\n + tal:attributes="id string:column_${row_index}">\n + <td>\n + <tal:block i18n:translate="" i18n:domain="ui">Column</tal:block>\n + <tal:block tal:replace="row_index" />\n + </td>\n + <td>\n + <select name="field_columns">\n + <option selected="selected"\n + value="None"\n + i18n:translate="" i18n:domain="ui">\n + None\n + </option>\n + <option tal:repeat="option all_columns"\n + tal:content="python:option[1]"\n + tal:attributes="value python:option[0]"\n + i18n:translate="" i18n:domain="ui" />\n + </select>\n + </td>\n + <td>\n + <select name="stat_columns">\n + <tal:block tal:repeat="stat stats">\n + <option tal:content="stat"\n + tal:attributes="value stat;\n + selected python: len(selected_stats) >= row_index and stat == selected_stats[row_index - 1] and \'selected or nothing\'"\n + i18n:translate="" i18n:domain="ui" />\n + </tal:block>\n + </select>\n + </td>\n + </tr>\n + </tal:block>\n + </tal:block>\n + </table>\n + </div>\n + </tal:block>\n </tal:block>\n </tal:block>\n -</tal:block> +</tal:block>\n + ]]></string> </value> </item> diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/context_box_render.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/context_box_render.xml index 378b231e0d5b44bf449a4c67ab0fff0b6b96ef6b..8593858861f3fb99b44e42d994c87a3c85b0e957 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/context_box_render.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/context_box_render.xml @@ -51,307 +51,288 @@ <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 +<tal:block 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@nexedi.com>\n - Christophe Dumez <christophe@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:define-macro="master">\n - <span id="jump" metal:define-macro="jump">\n - <select name="select_jump"\n - tal:attributes="onChange string:submitAction(this.form,\'Base_doJump\')">\n - <option selected="selected" value=""\n - i18n:translate="" i18n:domain="ui">Jump...</option>\n - <tal:block tal:repeat="jump actions/object_jump | nothing">\n - <option tal:attributes="value jump/url"\n - tal:content="jump/name" i18n:translate="" i18n:domain="ui"/>\n - </tal:block>\n - <tal:block tal:condition="preferred_html_style_developper_mode">\n - <tal:block tal:condition="python: here.getPortalTypeName() in here.portal_types.objectIds() and here.portal_types.getTypeInfo(here).Base_getSourceVisibility()">\n - <option value="1" disabled="disabled" i18n:translate="" i18n:domain="ui">-- Developper Mode --</option>\n - <option tal:attributes="value python: \'%s/manage_workspace\' % (here.portal_types.getTypeInfo(here).absolute_url(),)"\n - i18n:translate="" i18n:domain="ui">\n - Edit Portal Type \'<tal:block tal:content="python: here.getPortalTypeName()"\n - i18n:name="portal_type" i18n:translate="" i18n:domain="ui"/>\'\n - </option>\n + <tal:block metal:define-macro="master">\n + <span id="jump" metal:define-macro="jump">\n + <select name="select_jump"\n + tal:attributes="onChange string:submitAction(this.form,\'Base_doJump\')">\n + <option selected="selected" value=""\n + i18n:translate="" i18n:domain="ui">Jump...</option>\n + <tal:block tal:repeat="jump actions/object_jump | nothing">\n + <option tal:attributes="value jump/url"\n + tal:content="jump/name" i18n:translate="" i18n:domain="ui" />\n </tal:block>\n - <tal:block tal:condition="here/portal_workflow/Base_getSourceVisibility">\n - <option value="1" disabled="disabled" i18n:translate="" i18n:domain="ui">-- Workflows --</option>\n - <tal:block tal:repeat="workflow python: here.portal_workflow.getWorkflowsFor(here)">\n - <option tal:attributes="value python: \'%s/manage_properties\' % (workflow.absolute_url(), )" tal:content="workflow/title"/>\n + <tal:block tal:condition="preferred_html_style_developper_mode">\n + <tal:block tal:condition="python: here.getPortalTypeName() in here.portal_types.objectIds() and here.portal_types.getTypeInfo(here).Base_getSourceVisibility()">\n + <option value="1" disabled="disabled" i18n:translate="" i18n:domain="ui">-- Developper Mode --</option>\n + <option tal:attributes="value python: \'%s/manage_workspace\' % (here.portal_types.getTypeInfo(here).absolute_url(),)"\n + i18n:translate="" i18n:domain="ui">\n + Edit Portal Type \'<tal:block tal:content="python: here.getPortalTypeName()"\n + i18n:name="portal_type" i18n:translate="" i18n:domain="ui" />\'\n + </option>\n + </tal:block>\n + <tal:block tal:condition="here/portal_workflow/Base_getSourceVisibility">\n + <option value="1" disabled="disabled" i18n:translate="" i18n:domain="ui">-- Workflows --</option>\n + <tal:block tal:repeat="workflow python: here.portal_workflow.getWorkflowsFor(here)">\n + <option tal:attributes="value python: \'%s/manage_properties\' % (workflow.absolute_url(), )" tal:content="workflow/title" />\n + </tal:block>\n </tal:block>\n </tal:block>\n - </tal:block>\n - </select>\n - <button type="submit" name="Base_doJump:method" title="Jump"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description"\n - i18n:translate="" i18n:domain="ui">Jump</span>\n - </button>\n - </span>\n + </select>\n + <button type="submit" name="Base_doJump:method" title="Jump"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description"\n + i18n:translate="" i18n:domain="ui">Jump</span>\n + </button>\n + </span>\n \n - <span class="separator"></span>\n + <span class="separator"></span>\n \n - <span id="action" metal:define-macro="action">\n - <select name="select_action"\n - onChange="submitAction(this.form,\'Base_doAction\')">\n - <option selected="selected" value=""\n - i18n:translate="" i18n:domain="ui">Action...</option>\n - <tal:block tal:define="allowed_content_type_list here/getVisibleAllowedContentTypeList | python:[]">\n - <tal:block tal:repeat="content_id allowed_content_type_list">\n - <option tal:attributes="value python: \'add %s\' % (content_id, )"\n - i18n:translate="" i18n:domain="ui">\n - Add <tal:block tal:content="content_id"\n - i18n:name="portal_type" i18n:translate="" i18n:domain="ui"/>\n - </option>\n + <span id="action" metal:define-macro="action">\n + <select name="select_action"\n + onChange="submitAction(this.form,\'Base_doAction\')">\n + <option selected="selected" value=""\n + i18n:translate="" i18n:domain="ui">Action...</option>\n + <tal:block tal:define="allowed_content_type_list here/getVisibleAllowedContentTypeList | python:[]">\n + <tal:block tal:repeat="content_id allowed_content_type_list">\n + <option tal:attributes="value python: \'add %s\' % (content_id, )"\n + i18n:translate="" i18n:domain="ui">\n + Add <tal:block tal:content="content_id"\n + i18n:name="portal_type" i18n:translate="" i18n:domain="ui" />\n + </option>\n + </tal:block>\n </tal:block>\n - </tal:block>\n - <tal:block tal:repeat="action actions/object_add | nothing">\n - <option tal:attributes="value string:object ${action/url}"\n - i18n:translate="" i18n:domain="ui">\n - Add <tal:block tal:content="action/name" i18n:name="portal_type" i18n:translate=""/>\n - </option>\n - </tal:block>\n - <tal:block tal:define="document_template_list here/getDocumentTemplateList | nothing"\n - tal:condition="document_template_list">\n - <option disabled="disabled">-- <tal:block i18n:translate="" i18n:domain="ui">Templates</tal:block> --</option>\n - <tal:block tal:repeat="document_template document_template_list">\n - <option tal:attributes="value python:\'template %s\' % (document_template.getRelativeUrl(), )"\n + <tal:block tal:repeat="action actions/object_add | nothing">\n + <option tal:attributes="value string:object ${action/url}"\n i18n:translate="" i18n:domain="ui">\n - Add <tal:block tal:content="document_template/getTitle"\n - i18n:name="document_template"/>\n + Add <tal:block tal:content="action/name" i18n:name="portal_type" i18n:translate="" />\n </option>\n </tal:block>\n - </tal:block>\n - <option disabled="disabled">-- <tal:block i18n:translate="" i18n:domain="ui">Workflows</tal:block> --</option>\n - <tal:block tal:repeat="action actions/workflow">\n - <option tal:content="action/name"\n - tal:attributes="value python: \'workflow %s\' % (action[\'url\'], )"\n - i18n:translate="" i18n:domain="ui"/>\n - </tal:block>\n - <option disabled="disabled">-- <tal:block i18n:translate="" i18n:domain="ui">Object</tal:block> --</option>\n - <tal:block tal:repeat="action actions/object_action | nothing">\n - <option tal:content="action/name"\n - tal:attributes="value python: \'object %s\' % (action[\'url\'], )"\n - i18n:translate="" i18n:domain="ui"/>\n - </tal:block>\n - <tal:block tal:define="object_view_list actions/object_view|nothing;\n - module_view_list python:[i for i in object_view_list if i[\'id\']==\'module_view\']"\n - tal:condition="module_view_list">\n - <tal:block tal:repeat="action module_view_list">\n - <option tal:content="action/name"\n - tal:attributes="value python: \'object %s\' % (action[\'url\'],)"\n - i18n:translate="" i18n:domain="ui"/>\n + <tal:block tal:define="document_template_list here/getDocumentTemplateList | nothing"\n + tal:condition="document_template_list">\n + <option disabled="disabled">-- <tal:block i18n:translate="" i18n:domain="ui">Templates</tal:block> --</option>\n + <tal:block tal:repeat="document_template document_template_list">\n + <option tal:attributes="value python:\'template %s\' % (document_template.getRelativeUrl(), )"\n + i18n:translate="" i18n:domain="ui">\n + Add <tal:block tal:content="document_template/getTitle"\n + i18n:name="document_template" />\n + </option>\n + </tal:block>\n + </tal:block>\n + <option disabled="disabled">-- <tal:block i18n:translate="" i18n:domain="ui">Workflows</tal:block> --</option>\n + <tal:block tal:repeat="action actions/workflow">\n + <option tal:content="action/name"\n + tal:attributes="value python: \'workflow %s\' % (action[\'url\'], )"\n + i18n:translate="" i18n:domain="ui" />\n </tal:block>\n - </tal:block>\n - <tal:block tal:replace=\'nothing\'>\n - <!-- XXX folder actions is inherited from CMF, but not used in ERP5 (for now) -->\n - <option disabled="disabled">-- <tal:block i18n:translate="" i18n:domain="ui">folder</tal:block> --</option>\n - <tal:block tal:repeat="action actions/folder">\n + <option disabled="disabled">-- <tal:block i18n:translate="" i18n:domain="ui">Object</tal:block> --</option>\n + <tal:block tal:repeat="action actions/object_action | nothing">\n <option tal:content="action/name"\n - tal:attributes="value python: \'folder %s\' % (action[\'url\'], )"\n - i18n:translate="" i18n:domain="ui"/>\n + tal:attributes="value python: \'object %s\' % (action[\'url\'], )"\n + i18n:translate="" i18n:domain="ui" />\n + </tal:block>\n + <tal:block tal:define="object_view_list actions/object_view|nothing;\n + module_view_list python:[i for i in object_view_list if i[\'id\']==\'module_view\']"\n + tal:condition="module_view_list">\n + <tal:block tal:repeat="action module_view_list">\n + <option tal:content="action/name"\n + tal:attributes="value python: \'object %s\' % (action[\'url\'],)"\n + i18n:translate="" i18n:domain="ui" />\n + </tal:block>\n + </tal:block>\n + <tal:block tal:replace=\'nothing\'>\n + <!-- XXX folder actions is inherited from CMF, but not used in ERP5 (for now) -->\n + <option disabled="disabled">-- <tal:block i18n:translate="" i18n:domain="ui">folder</tal:block> --</option>\n + <tal:block tal:repeat="action actions/folder">\n + <option tal:content="action/name"\n + tal:attributes="value python: \'folder %s\' % (action[\'url\'], )"\n + i18n:translate="" i18n:domain="ui" />\n + </tal:block>\n </tal:block>\n - </tal:block>\n - </select>\n - <button type="submit" name="Base_doAction:method" title="Action"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description">Action</span>\n - </button>\n - </span>\n + </select>\n + <button type="submit" name="Base_doAction:method" title="Action"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description">Action</span>\n + </button>\n + </span>\n \n \n - <span class="tool_buttons" metal:define-macro="tool_buttons">\n + <span class="tool_buttons" metal:define-macro="tool_buttons">\n \n - <!-- XXX: exchange_actions seems to be bad condition -->\n - <span class="first"\n - tal:define="search_actions actions/object_search | nothing;\n - exchange_actions actions/object_exchange | nothing;\n - report_actions actions/object_report | nothing;\n - button_actions actions/object_button | nothing;\n - sort_actions actions/object_sort | nothing;\n - ui_actions actions/object_ui | nothing;\n - print_actions actions/object_print | nothing;\n - list_mode list_mode | nothing">\n - <span class="separator"></span>\n - <tal:block tal:condition="list_mode | nothing">\n - <button class="cut" type="submit" name="Folder_cut:method" title="Cut"\n + <!-- XXX: exchange_actions seems to be bad condition -->\n + <span class="first"\n + tal:define="search_actions actions/object_search | nothing;\n + exchange_actions actions/object_exchange | nothing;\n + report_actions actions/object_report | nothing;\n + button_actions actions/object_button | nothing;\n + sort_actions actions/object_sort | nothing;\n + ui_actions actions/object_ui | nothing;\n + print_actions actions/object_print | nothing;\n + list_mode list_mode | nothing">\n + <span class="separator"></span>\n + <tal:block tal:condition="list_mode | nothing">\n + <button class="cut" type="submit" name="Folder_cut:method" title="Cut"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description" i18n:translate="" i18n:domain="ui">Cut</span>\n + </button>\n + <button class="copy" type="submit" name="Folder_copy:method" title="Copy"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description" i18n:translate="" i18n:domain="ui">Copy</span>\n + </button>\n + <button class="paste" type="submit" name="Folder_paste:method" title="Paste"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description" i18n:translate="" i18n:domain="ui">Paste</span>\n + </button>\n + <span class="separator"></span>\n + </tal:block>\n + <button tal:condition="print_actions" class="print" type="submit" name="Folder_print:method" title="Print"\n i18n:attributes="title" i18n:domain="ui">\n <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">Cut</span>\n + <span class="description" i18n:translate="" i18n:domain="ui">Print</span>\n </button>\n - <button class="copy" type="submit" name="Folder_copy:method" title="Copy"\n + <button class="new" type="submit" title="New"\n + tal:attributes="name python: list_mode and \'Folder_create:method\' or \'Base_createNewDocument:method\'"\n i18n:attributes="title" i18n:domain="ui">\n <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">Copy</span>\n + <span class="description" i18n:translate="" i18n:domain="ui">New</span>\n </button>\n - <button class="paste" type="submit" name="Folder_paste:method" title="Paste"\n + <button tal:condition="list_mode" class="delete" type="submit" name="Folder_deleteObjectList:method" title="Delete"\n i18n:attributes="title" i18n:domain="ui">\n <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">Paste</span>\n + <span class="description" i18n:translate="" i18n:domain="ui">Delete</span>\n </button>\n - <span class="separator"></span>\n - </tal:block>\n - <button tal:condition="print_actions" class="print" type="submit" name="Folder_print:method" title="Print"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">Print</span>\n - </button>\n - <button class="new" type="submit" title="New"\n - tal:attributes="name python: list_mode and \'Folder_create:method\' or \'Base_createNewDocument:method\'"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">New</span>\n - </button>\n - <button tal:condition="list_mode" class="delete" type="submit" name="Folder_deleteObjectList:method" title="Delete"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">Delete</span>\n - </button>\n - <tal:block tal:condition="not: list_mode">\n - <tal:block tal:condition="request/selection_index | nothing">\n + <tal:block tal:condition="not: list_mode">\n + <tal:block tal:condition="request/selection_index | nothing">\n + <span class="separator"></span>\n + <a class="jump_first" title="First"\n + tal:attributes="href python: \'portal_selections/viewFirst?%s\' % (http_parameters, )"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description" i18n:translate="" i18n:domain="ui">First</span>\n + </a>\n + <a class="jump_previous" title="Previous"\n + tal:attributes="href python: \'portal_selections/viewPrevious?%s\' % (http_parameters, )"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description" i18n:translate="" i18n:domain="ui">Previous</span>\n + </a>\n + <a class="list_mode" title="List Mode" tal:attributes="href python: here.portal_selections.getSelectionListUrlFor(request[\'selection_name\'])"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description" i18n:translate="" i18n:domain="ui">List Mode</span>\n + </a>\n + <a class="jump_next" title="Next"\n + tal:attributes="href python: \'portal_selections/viewNext?%s\' % (http_parameters, )"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description" i18n:translate="" i18n:domain="ui">Next</span>\n + </a>\n + <a class="jump_last" title="Last"\n + tal:attributes="href python: \'portal_selections/viewLast?%s\' % (http_parameters, )"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description" i18n:translate="" i18n:domain="ui">Last</span>\n + </a>\n + </tal:block>\n + </tal:block>\n + <tal:block tal:condition="list_mode">\n <span class="separator"></span>\n - <a class="jump_first" title="First"\n - tal:attributes="href python: \'portal_selections/viewFirst?%s\' % (http_parameters, )"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">First</span>\n - </a>\n - <a class="jump_previous" title="Previous"\n - tal:attributes="href python: \'portal_selections/viewPrevious?%s\' % (http_parameters, )"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">Previous</span>\n - </a>\n - <a class="list_mode" title="List Mode" tal:attributes="href python: here.portal_selections.getSelectionListUrlFor(request[\'selection_name\'])"\n + <a tal:condition="search_actions" class="find" title="Find"\n + tal:attributes="href python: here.ERP5Site_renderCustomLink(search_actions[0][\'url\'], http_parameter_list, dialog_category=\'object_search\')"\n i18n:attributes="title" i18n:domain="ui">\n <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">List Mode</span>\n + <span class="description" i18n:translate="" i18n:domain="ui">Find</span>\n </a>\n - <a class="jump_next" title="Next"\n - tal:attributes="href python: \'portal_selections/viewNext?%s\' % (http_parameters, )"\n - i18n:attributes="title" i18n:domain="ui">\n + <button class="show_all" type="submit" name="Folder_show:method" title="Show All"\n + i18n:attributes="title" i18n:domain="ui">\n <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">Next</span>\n - </a>\n - <a class="jump_last" title="Last"\n - tal:attributes="href python: \'portal_selections/viewLast?%s\' % (http_parameters, )"\n - i18n:attributes="title" i18n:domain="ui">\n + <span class="description" i18n:translate="" i18n:domain="ui">Show All</span>\n + </button>\n + <button type="submit" name="Folder_filter:method" title="Filter"\n + tal:attributes="class python: here.portal_selections.getSelectionInvertModeFor(request[\'selection_name\']) and \'filter_on\' or \'filter\';"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description" i18n:translate="" i18n:domain="ui">Filter</span>\n + </button>\n + <a tal:condition="sort_actions" class="sort" title="Sort"\n + tal:attributes="href python: here.ERP5Site_renderCustomLink(sort_actions[0][\'url\'], http_parameter_list, dialog_category=\'object_sort\')"\n + i18n:attributes="title" i18n:domain="ui">\n <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">Last</span>\n + <span class="description" i18n:translate="" i18n:domain="ui">Sort</span>\n </a>\n </tal:block>\n - </tal:block>\n - <tal:block tal:condition="list_mode">\n - <span class="separator"></span>\n - <a tal:condition="search_actions" class="find" title="Find"\n - tal:attributes="href python: here.ERP5Site_renderCustomLink(search_actions[0][\'url\'], http_parameter_list, dialog_category=\'object_search\')"\n + <span tal:condition="exchange_actions | report_actions"\n + class="separator"></span>\n + <a tal:condition="exchange_actions" class="import_export" title="Import / Export"\n + tal:attributes="href python: here.ERP5Site_renderCustomLink(exchange_actions[0][\'url\'], http_parameter_list, dialog_category=\'object_exchange\')"\n i18n:attributes="title" i18n:domain="ui">\n <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">Find</span>\n + <span class="description" i18n:translate="" i18n:domain="ui">Import / Export</span>\n </a>\n - <button class="show_all" type="submit" name="Folder_show:method" title="Show All"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">Show All</span>\n - </button>\n - <button type="submit" name="Folder_filter:method" title="Filter"\n - tal:attributes="class python: here.portal_selections.getSelectionInvertModeFor(request[\'selection_name\']) and \'filter_on\' or \'filter\';"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">Filter</span>\n - </button>\n - <a tal:condition="sort_actions" class="sort" title="Sort"\n - tal:attributes="href python: here.ERP5Site_renderCustomLink(sort_actions[0][\'url\'], http_parameter_list, dialog_category=\'object_sort\')"\n + <a tal:condition="report_actions" class="report" title="Report"\n + tal:attributes="href python: here.ERP5Site_renderCustomLink(report_actions[0][\'url\'], http_parameter_list, dialog_category=\'object_report\')"\n i18n:attributes="title" i18n:domain="ui">\n <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">Sort</span>\n + <span class="description" i18n:translate="" i18n:domain="ui">Report</span>\n </a>\n - </tal:block>\n - <span tal:condition="exchange_actions | report_actions"\n - class="separator"></span>\n - <a tal:condition="exchange_actions" class="import_export" title="Import / Export"\n - tal:attributes="href python: here.ERP5Site_renderCustomLink(exchange_actions[0][\'url\'], http_parameter_list, dialog_category=\'object_exchange\')"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">Import / Export</span>\n - </a>\n - <a tal:condition="report_actions" class="report" title="Report"\n - tal:attributes="href python: here.ERP5Site_renderCustomLink(report_actions[0][\'url\'], http_parameter_list, dialog_category=\'object_report\')"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">Report</span>\n - </a>\n - <tal:block tal:condition="button_actions">\n - <span class="separator"></span>\n - <tal:block tal:repeat="button_action button_actions">\n - <a tal:attributes="href python: \'%s%s%s\' % (button_action[\'url\'], \'?\' in button_action[\'url\'] and \'&\' or \'?\', http_parameters)">\n - <img i18n:attributes="title" i18n:domain="ui"\n - tal:attributes="src python:button_action[\'icon\'];\n - title python:button_action[\'name\'];\n - alt python:button_action[\'name\']"/>\n - </a>\n - </tal:block>\n - </tal:block>\n - <tal:block tal:condition="list_mode">\n - <tal:block tal:condition="ui_actions">\n + <tal:block tal:condition="button_actions">\n <span class="separator"></span>\n - <a class="configure" title="Configure"\n - tal:attributes="href python: here.ERP5Site_renderCustomLink(ui_actions[0][\'url\'], http_parameter_list, dialog_category=\'object_ui\')"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">Configure</span>\n - </a>\n + <tal:block tal:repeat="button_action button_actions">\n + <a tal:attributes="href python: \'%s%s%s\' % (button_action[\'url\'], \'?\' in button_action[\'url\'] and \'&\' or \'?\', http_parameters)">\n + <img i18n:attributes="title" i18n:domain="ui"\n + tal:attributes="src python:button_action[\'icon\'];\n + title python:button_action[\'name\'];\n + alt python:button_action[\'name\']" />\n + </a>\n + </tal:block>\n </tal:block>\n - </tal:block>\n - </span>\n + <tal:block tal:condition="list_mode">\n + <tal:block tal:condition="ui_actions">\n + <span class="separator"></span>\n + <a class="configure" title="Configure"\n + tal:attributes="href python: here.ERP5Site_renderCustomLink(ui_actions[0][\'url\'], http_parameter_list, dialog_category=\'object_ui\')"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description" i18n:translate="" i18n:domain="ui">Configure</span>\n + </a>\n + </tal:block>\n + </tal:block>\n + </span>\n \n - <span class="second">\n - <a tal:condition="preferred_html_style_contextual_help"\n - class="jump_help" title="Help"\n - tal:attributes="href python: here.ERP5Site_getHelpUrl(current_action=current_action, current_form_id=current_form_id, workflow_action=request.get(\'workflow_action\'))"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">Help</span>\n - </a>\n - <a tal:condition="preferred_html_style_developper_mode"\n - class="inspect_object" title="Inspect object" href="Base_viewInspectionReport"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">Inspect object</span>\n - </a>\n - <a tal:condition="here/hasActivity | nothing" class="activity_pending"\n - title="Activity Pending"\n - tal:attributes="href python: here.portal_membership.checkPermission(\'View management screens\', here.portal_activities) and \'%s%s/manageActivities\' % (here.REQUEST[\'SERVER_URL\'],here.portal_activities.getUrl(), ) or \'#\'"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">Activity Pending</span>\n - </a>\n + <span class="second">\n + <a tal:condition="preferred_html_style_contextual_help"\n + class="jump_help" title="Help"\n + tal:attributes="href python: here.ERP5Site_getHelpUrl(current_action=current_action, current_form_id=current_form_id, workflow_action=request.get(\'workflow_action\'))"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description" i18n:translate="" i18n:domain="ui">Help</span>\n + </a>\n + <a tal:condition="preferred_html_style_developper_mode"\n + class="inspect_object" title="Inspect object" href="Base_viewInspectionReport"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description" i18n:translate="" i18n:domain="ui">Inspect object</span>\n + </a>\n + <a tal:condition="here/hasActivity | nothing" class="activity_pending"\n + title="Activity Pending"\n + tal:attributes="href python: here.portal_membership.checkPermission(\'View management screens\', here.portal_activities) and \'%s%s/manageActivities\' % (here.REQUEST[\'SERVER_URL\'],here.portal_activities.getUrl(), ) or \'#\'"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description" i18n:translate="" i18n:domain="ui">Activity Pending</span>\n + </a>\n + </span>\n </span>\n - </span>\n - <p class="clear"></p>\n -</tal:block> + <p class="clear"></p>\n + </tal:block>\n +</tal:block>\n + ]]></string> </value> </item> diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/developper_shortcut_render.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/developper_shortcut_render.xml index 931e9e9bcac0eb56acabab3025eb5592ce780e0b..d3a2d59d0615f095509389aab982434fc65e78c1 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/developper_shortcut_render.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/developper_shortcut_render.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.PageTemplates.ZopePageTemplate</string> - <string>ZopePageTemplate</string> - </tuple> - <none/> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + <tuple/> </tuple> </pickle> <pickle> @@ -54,84 +51,57 @@ <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 +<tal:block 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) 2007 Nexedi SA and Contributors. All Rights Reserved.\n - Vincent Pelletier <vincent@nexedi.com>\n - Christophe Dumez <christophe@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 -\n -\n -<tal:block metal:define-macro="edit_link">\n - <a disabled="disabled" tal:condition="python: hasattr(object, \'meta_type\')"\n - tal:attributes="href python: \'%s/manage_main\' % (\'/\'.join(object.getPhysicalPath()[len(object.getPortalObject().getPhysicalPath()):])) # XXX: quick hack to get path;\n - title info;"><img tal:attributes="src python: \'%s/images/%s\' % (portal_path, image);\n - alt info;"/></a>\n -</tal:block>\n -\n -\n -<tal:block metal:define-macro="translate_link">\n - <a disabled="disabled" tal:define="image image | python: \'translate.png\'"\n - tal:attributes="href python: \'%s/manage_messages?regex=^%s%%24&lang=%s\' % (\'/\'.join(here.Localizer.erp5_ui.getPhysicalPath()[len(here.Localizer.erp5_ui.getPortalObject().getPhysicalPath()):]), message.replace(\'(\', \'\\(\').replace(\')\', \'\\)\'), selected_language);\n - title info;"><img tal:attributes="src python: \'%s/images/%s\' % (portal_path, image);\n - alt info;"/></a>\n -</tal:block>\n -\n -\n -<tal:block metal:define-macro="form">\n - <tal:block tal:define="image python: \'editform.png\';\n - info python: \'Edit this form\';\n - object nocall: form;">\n - <tal:block metal:use-macro="developper_shortcut_render/macros/edit_link"/>\n + <tal:block metal:define-macro="edit_link">\n + <a disabled="disabled" tal:condition="python: hasattr(object, \'meta_type\')"\n + tal:attributes="href python: \'%s/manage_main\' % (\'/\'.join(object.getPhysicalPath()[len(object.getPortalObject().getPhysicalPath()):])) # XXX: quick hack to get path;\n + title info;"><img tal:attributes="src python: \'%s/images/%s\' % (portal_path, image);\n + alt info;" /></a>\n </tal:block>\n - <tal:block tal:define="image python: \'editformaction.png\';\n - info python: \'Edit this form\\\'s action\';\n - object python: getattr(here, form.action, None);">\n - <tal:block metal:use-macro="developper_shortcut_render/macros/edit_link"/>\n + <tal:block metal:define-macro="translate_link">\n + <a disabled="disabled" tal:define="image image | python: \'translate.png\'"\n + tal:attributes="href python: \'%s/manage_messages?regex=^%s%%24&lang=%s\' % (\'/\'.join(here.Localizer.erp5_ui.getPhysicalPath()[len(here.Localizer.erp5_ui.getPortalObject().getPhysicalPath()):]), message.replace(\'(\', \'\\(\').replace(\')\', \'\\)\'), selected_language);\n + title info;"><img tal:attributes="src python: \'%s/images/%s\' % (portal_path, image);\n + alt info;" /></a>\n </tal:block>\n -</tal:block>\n -\n -\n -<tal:block metal:define-macro="field_developper">\n - <tal:block tal:define="image python: \'editfield.png\';\n - info python: \'Edit this field\';\n - object nocall: field;">\n - <tal:block metal:use-macro="developper_shortcut_render/macros/edit_link"/>\n + <tal:block metal:define-macro="form">\n + <tal:block tal:define="image python: \'editform.png\';\n + info python: \'Edit this form\';\n + object nocall: form;">\n + <tal:block metal:use-macro="developper_shortcut_render/macros/edit_link" />\n + </tal:block>\n + <tal:block tal:define="image python: \'editformaction.png\';\n + info python: \'Edit this form\\\'s action\';\n + object python: getattr(here, form.action, None);">\n + <tal:block metal:use-macro="developper_shortcut_render/macros/edit_link" />\n + </tal:block>\n </tal:block>\n -</tal:block>\n -<tal:block metal:define-macro="field_translator">\n - <tal:block tal:define="info python: \'Translate this field title\';\n - message python: field[\'title\'];\n - image python: \'translate.png\'">\n - <tal:block metal:use-macro="developper_shortcut_render/macros/translate_link"/>\n + <tal:block metal:define-macro="field_developper">\n + <tal:block tal:define="image python: \'editfield.png\';\n + info python: \'Edit this field\';\n + object nocall: field;">\n + <tal:block metal:use-macro="developper_shortcut_render/macros/edit_link" />\n + </tal:block>\n </tal:block>\n - <tal:block tal:condition="field_description | nothing">\n - <tal:block tal:define="message field_description;\n - info python: \'Translate this field description\';\n - image python: \'translate_tooltip.png\'"\n - tal:condition="python: message not in (None, \'\')">\n - <tal:block metal:use-macro="developper_shortcut_render/macros/translate_link"/>\n + <tal:block metal:define-macro="field_translator">\n + <tal:block tal:define="info python: \'Translate this field title\';\n + message python: field[\'title\'];\n + image python: \'translate.png\'">\n + <tal:block metal:use-macro="developper_shortcut_render/macros/translate_link" />\n + </tal:block>\n + <tal:block tal:condition="field_description | nothing">\n + <tal:block tal:define="message field_description;\n + info python: \'Translate this field description\';\n + image python: \'translate_tooltip.png\'"\n + tal:condition="python: message not in (None, \'\')">\n + <tal:block metal:use-macro="developper_shortcut_render/macros/translate_link" />\n + </tal:block>\n </tal:block>\n </tal:block>\n -</tal:block> +</tal:block>\n + ]]></string> </value> </item> diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/dialog_main.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/dialog_main.xml index c4cb66eb2a169afb37ac03e6bf7a3d582c282d79..511b15d397f6f797cafe70b4bfcf475e5e18a5dd 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/dialog_main.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/dialog_main.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.PageTemplates.ZopePageTemplate</string> - <string>ZopePageTemplate</string> - </tuple> - <none/> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + <tuple/> </tuple> </pickle> <pickle> @@ -54,58 +51,38 @@ <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 +<tal:block 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@nexedi.com>\n - Christophe Dumez <christophe@nexedi.com>\n + <tal:block metal:define-macro="master">\n + <tal:block tal:define="form_action string:Base_callDialogMethod;\n + dialog_id form/id | template/id;\n + form_id request/form_id | string:view;\n + dialog_method form/action | dialog_id;\n + update_action form/update_action;\n + global dialog_category request/dialog_category | nothing;\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:define-macro="master">\n - <tal:block tal:define="form_action string:Base_callDialogMethod;\n - dialog_id form/id | template/id;\n - form_id request/form_id | string:view;\n - dialog_method form/action | dialog_id;\n - update_action form/update_action;\n - global dialog_category request/dialog_category | nothing;\n -\n - local_parameter_list local_parameter_list | python: {};\n - dummy python: local_parameter_list.update({\'dialog_id\': dialog_id, \'dialog_method\': dialog_method, \'update_method\': update_action, \'dialog_category\': dialog_category, \'cancel_url\': request.get(\'cancel_url\'), \'form_id\': form_id});\n - title python: here.Base_translateString(here.Base_getFormViewDialogActionButtonTitle(form))">\n - <tal:block metal:use-macro="here/main_template/macros/master">\n - <tal:block metal:fill-slot="main">\n - <div class="list_dialog">\n - <tal:block metal:define-slot="main" />\n - <tal:block metal:define-slot="bottom" />\n - </div>\n - <input tal:condition="cancel_url|request/cancel_url|nothing"\n - i18n:attributes="value" i18n:domain="ui" value="Cancel Action"\n - id="dialog_cancel_button" name="Base_cancel:method" type="submit" />\n - <input i18n:attributes="value" i18n:domain="ui" value="Update"\n - tal:condition="python: form.update_action!=\'\'"\n - id="dialog_update_button"\n - name="Base_showUpdateDialog:method" type="submit" />\n - <input tal:attributes="value python: here.Base_getFormViewDialogActionButtonTitle(form);\n - name string:${form_action}:method"\n - i18n:attributes="value" i18n:domain="ui" accesskey="V"\n - id="dialog_submit_button" type="submit" />\n + local_parameter_list local_parameter_list | python: {};\n + dummy python: local_parameter_list.update({\'dialog_id\': dialog_id, \'dialog_method\': dialog_method, \'update_method\': update_action, \'dialog_category\': dialog_category, \'cancel_url\': request.get(\'cancel_url\'), \'form_id\': form_id});\n + title python: here.Base_translateString(here.Base_getFormViewDialogActionButtonTitle(form))">\n + <tal:block metal:use-macro="here/main_template/macros/master">\n + <tal:block metal:fill-slot="main">\n + <div class="list_dialog">\n + <tal:block metal:define-slot="main" />\n + <tal:block metal:define-slot="bottom" />\n + </div>\n + <input tal:condition="cancel_url|request/cancel_url|nothing"\n + i18n:attributes="value" i18n:domain="ui" value="Cancel Action"\n + id="dialog_cancel_button" name="Base_cancel:method" type="submit" />\n + <input i18n:attributes="value" i18n:domain="ui" value="Update"\n + tal:condition="python: form.update_action!=\'\'"\n + id="dialog_update_button"\n + name="Base_showUpdateDialog:method" type="submit" />\n + <input tal:attributes="value python: here.Base_getFormViewDialogActionButtonTitle(form);\n + name string:${form_action}:method"\n + i18n:attributes="value" i18n:domain="ui" accesskey="V"\n + id="dialog_submit_button" type="submit" />\n + </tal:block>\n </tal:block>\n </tal:block>\n </tal:block>\n diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/documentation_template.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/documentation_template.xml index 5d21f9e53d46823347c0943d0dad336f3e354e0c..059c1577e281a85c12aac92dfc704c123afee94c 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/documentation_template.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/documentation_template.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.PageTemplates.ZopePageTemplate</string> - <string>ZopePageTemplate</string> - </tuple> - <none/> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + <tuple/> </tuple> </pickle> <pickle> @@ -48,84 +45,66 @@ <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 +<tal:block 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 + <tal:block tal:replace="nothing">\n <!--\n -Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n - Vincent Pelletier <vincent@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 XXX: for now, curent action is passed as a parameter to the right form, which is gathered from the action.\n A good way might be to centralize all action in a single page template that would fill itself (metal:use-macro) according to the action id it was given.\n -->\n -</tal:block>\n -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n -<tal:block metal:define-macro="render_listbox">\n - <tal:block tal:define="field_names field_names | python: ();\n - toggleable_field_name toggleable_field_name | python: nothing;\n - zope_structured_text_field_names zope_structured_text_field_names | python: ();\n - structured_text_field_names structured_text_field_names | python: ();\n - structured_text_field_names python: structured_text_field_names+zope_structured_text_field_names;">\n - <tal:block tal:repeat="field_name field_names">\n - <tal:block tal:condition="python: form.has_field(field_name)">\n - <tal:block tal:define="listbox python: form.get_field(field_name);\n - listboxline_list python: listbox.get_value(\'default\', render_format=\'list\', REQUEST=request);">\n - <div class="frame">\n - <div tal:attributes="class listbox/css_class">\n - <div class="frame_title" tal:content="listbox/title"></div>\n - <div class="listbox_description" tal:content="python: listbox.get_value(\'description\')"></div>\n - <tal:block tal:condition="python: len(listboxline_list) > 1">\n - <tal:block tal:repeat="listboxline python: listboxline_list">\n - <tal:block tal:define="lineid python: \'%s_%s\' % (listbox.id,repeat[\'listboxline\'].index)">\n - <div class="listbox_titleline" tal:condition="python: listboxline.isTitleLine()">\n - <tal:block tal:repeat="column_id python: listboxline.getColumnItemList()">\n - <div tal:content="python: column_id[1]"\n - tal:attributes="class python: column_id[0]"/>\n - </tal:block>\n - </div>\n - <div class="listbox_dataline" tal:condition="python: listboxline.isDataLine()"\n - tal:attributes="onclick python: toggleable_field_name and \'toggle(\\\'%s\\\')\' % (lineid) or nothing;\n - id python: \'toggle_%s_%s\' % (listbox.id, repeat[\'listboxline\'].index);">\n - <tal:block tal:repeat="column_id python: listboxline.getColumnItemList()">\n - <tal:block tal:define="is_structured_text python: column_id[0] in structured_text_field_names;\n - is_toggleable python: column_id[0] == toggleable_field_name;\n - content python: (column_id[1] is None) and (\' \') or (column_id[1]);\n - content python: column_id[0] in zope_structured_text_field_names and modules[\'Products\'].PythonScripts.standard.structured_text(content) or content;">\n - <div tal:attributes="class python: column_id[0]; id python: is_toggleable and lineid or None; name python: is_toggleable and \'toggleable\' or None"><tal:block tal:condition="is_structured_text"><a tal:condition="repeat/column_id/start" class="anchor" tal:content="structure content" tal:attributes="id python: \'a_%s_%s\' % (listbox.id, repeat[\'listboxline\'].index)"></a><tal:block tal:condition="not: repeat/column_id/start" tal:replace="structure content"/></tal:block><tal:block tal:condition="not: is_structured_text"><a tal:condition="repeat/column_id/start" class="anchor" tal:content="content" tal:attributes="id python: \'a_%s_%s\' % (listbox.id, repeat[\'listboxline\'].index)"></a><tal:block tal:condition="not: repeat/column_id/start" tal:replace="content"/></tal:block></div>\n + </tal:block>\n + <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n + <tal:block metal:define-macro="render_listbox">\n + <tal:block tal:define="field_names field_names | python: ();\n + toggleable_field_name toggleable_field_name | python: nothing;\n + zope_structured_text_field_names zope_structured_text_field_names | python: ();\n + structured_text_field_names structured_text_field_names | python: ();\n + structured_text_field_names python: structured_text_field_names+zope_structured_text_field_names;">\n + <tal:block tal:repeat="field_name field_names">\n + <tal:block tal:condition="python: form.has_field(field_name)">\n + <tal:block tal:define="listbox python: form.get_field(field_name);\n + listboxline_list python: listbox.get_value(\'default\', render_format=\'list\', REQUEST=request);">\n + <div class="frame">\n + <div tal:attributes="class listbox/css_class">\n + <div class="frame_title" tal:content="listbox/title"></div>\n + <div class="listbox_description" tal:content="python: listbox.get_value(\'description\')"></div>\n + <tal:block tal:condition="python: len(listboxline_list) > 1">\n + <tal:block tal:repeat="listboxline python: listboxline_list">\n + <tal:block tal:define="lineid python: \'%s_%s\' % (listbox.id,repeat[\'listboxline\'].index)">\n + <div class="listbox_titleline" tal:condition="python: listboxline.isTitleLine()">\n + <tal:block tal:repeat="column_id python: listboxline.getColumnItemList()">\n + <div tal:content="python: column_id[1]"\n + tal:attributes="class python: column_id[0]" />\n </tal:block>\n - </tal:block>\n - </div>\n + </div>\n + <div class="listbox_dataline" tal:condition="python: listboxline.isDataLine()"\n + tal:attributes="onclick python: toggleable_field_name and \'toggle(\\\'%s\\\')\' % (lineid) or nothing;\n + id python: \'toggle_%s_%s\' % (listbox.id, repeat[\'listboxline\'].index);">\n + <tal:block tal:repeat="column_id python: listboxline.getColumnItemList()">\n + <tal:block tal:define="is_structured_text python: column_id[0] in structured_text_field_names;\n + is_toggleable python: column_id[0] == toggleable_field_name;\n + content python: (column_id[1] is None) and (\' \') or (column_id[1]);\n + content python: column_id[0] in zope_structured_text_field_names and modules[\'Products\'].PythonScripts.standard.structured_text(content) or content;">\n + <div tal:attributes="class python: column_id[0]; id python: is_toggleable and lineid or None; name python: is_toggleable and \'toggleable\' or None"><tal:block tal:condition="is_structured_text"><a tal:condition="repeat/column_id/start" class="anchor" tal:content="structure content" tal:attributes="id python: \'a_%s_%s\' % (listbox.id, repeat[\'listboxline\'].index)"></a><tal:block tal:condition="not: repeat/column_id/start" tal:replace="structure content" /></tal:block><tal:block tal:condition="not: is_structured_text"><a tal:condition="repeat/column_id/start" class="anchor" tal:content="content" tal:attributes="id python: \'a_%s_%s\' % (listbox.id, repeat[\'listboxline\'].index)"></a><tal:block tal:condition="not: repeat/column_id/start" tal:replace="content" /></tal:block></div>\n + </tal:block>\n + </tal:block>\n + </div>\n + </tal:block>\n </tal:block>\n </tal:block>\n - </tal:block>\n + </div>\n </div>\n - </div>\n + </tal:block>\n </tal:block>\n </tal:block>\n </tal:block>\n </tal:block>\n -</tal:block>\n -<html>\n - <tal:block metal:use-macro="here/global_definitions/macros/header_definitions" />\n - <head>\n - <title></title>\n - <style type="text/css">\n + <html>\n + <tal:block metal:use-macro="here/global_definitions/macros/header_definitions" />\n + <head>\n + <title></title>\n + <style type="text/css">\n a img {\n border: none;\n }\n @@ -273,94 +252,96 @@ div.listbox_dataline:hover {\n border-color: #999;\n }\n </style>\n - </head>\n - <body onload="toggle_all()">\n - <script type="text/javascript">\n - function toggle_all() {\n - my_elements = document.getElementsByName("toggleable");\n - for(i=0; i<my_elements.length; i++) {\n - toggle(my_elements[i].id);\n + </head>\n + <body onload="toggle_all()">\n + <script type="text/javascript"><!--\n + function toggle_all() {\n + my_elements = document.getElementsByName("toggleable");\n + for(i=0; i<my_elements.length; i++) {\n + toggle(my_elements[i].id);\n + }\n }\n - }\n - function toggle(id) {\n - with(document.getElementById(id).style) {\n - if (display == "") {\n - display = "none";\n - with(document.getElementById("toggle_"+id).style) {\n - backgroundColor = "";\n - borderColor = "";\n - }\n - } else {\n - display = "";\n - with(document.getElementById("toggle_"+id).style) {\n - backgroundColor = "#EEE";\n - borderColor = "#999";\n + function toggle(id) {\n + with(document.getElementById(id).style) {\n + if (display == "") {\n + display = "none";\n + with(document.getElementById("toggle_"+id).style) {\n + backgroundColor = "";\n + borderColor = "";\n + }\n + } else {\n + display = "";\n + with(document.getElementById("toggle_"+id).style) {\n + backgroundColor = "#EEE";\n + borderColor = "#999";\n + }\n }\n }\n }\n - }\n - </script>\n - <span class="toggle" onclick="toggle_all()">Toggle all</span>\n - <tal:block tal:define="field_errors python: request.get(\'field_errors\',{});\n - dummy python: request.set(\'here\',here)">\n - <div class="frame">\n - <div class="frame_title">General information</div>\n - <table>\n - <tal:block tal:repeat="field_name python: (\'my_title\', \'argument_list\', \'inheritance_list\', \'my_type\', \'my_source_path\', \'my_description\')">\n - <tal:block tal:condition="python: form.has_field(field_name)">\n - <tal:block tal:define="field python: form.get_field(field_name)">\n - <tal:block metal:use-macro="here/field_render/macros/field_render"/>\n + //--></script>\n + <span class="toggle" onclick="toggle_all()">Toggle all</span>\n + <tal:block tal:define="field_errors python: request.get(\'field_errors\',{});\n + dummy python: request.set(\'here\',here)">\n + <div class="frame">\n + <div class="frame_title">General information</div>\n + <table>\n + <tal:block tal:repeat="field_name python: (\'my_title\', \'argument_list\', \'inheritance_list\', \'my_type\', \'my_source_path\', \'my_description\')">\n + <tal:block tal:condition="python: form.has_field(field_name)">\n + <tal:block tal:define="field python: form.get_field(field_name)">\n + <tal:block metal:use-macro="here/field_render/macros/field_render" />\n + </tal:block>\n </tal:block>\n </tal:block>\n + </table>\n + </div>\n + <div class="frame">\n + <div class="frame_title">Quick links</div>\n + <tal:block tal:repeat="field_name python: (\'my_static_property_list\', \'my_dynamic_property_list\', \'my_dynamic_category_list\', \'my_static_method_list\', \'my_dynamic_method_list\', \'my_dynamic_accessor_list\')">\n + <tal:block tal:condition="python: form.has_field(field_name)">\n + <div class="quick_links_group" tal:define="field python: form.get_field(field_name)">\n + <div tal:content="field/title"></div>\n + <ul>\n + <li tal:repeat="item python: field.get_value(\'list_method\')()">\n + <a tal:attributes="href python: \'#a_%s_%s\' % (field_name,repeat[\'item\'].index+1)"\n + tal:content="item/getTitle"></a>\n + </li>\n + </ul>\n + </div>\n + </tal:block>\n </tal:block>\n - </table>\n - </div>\n - <div class="frame">\n - <div class="frame_title">Quick links</div>\n - <tal:block tal:repeat="field_name python: (\'my_static_property_list\', \'my_dynamic_property_list\', \'my_dynamic_category_list\', \'my_static_method_list\', \'my_dynamic_method_list\', \'my_dynamic_accessor_list\')">\n - <tal:block tal:condition="python: form.has_field(field_name)">\n - <div class="quick_links_group" tal:define="field python: form.get_field(field_name)">\n - <div tal:content="field/title"></div>\n - <ul>\n - <li tal:repeat="item python: field.get_value(\'list_method\')()">\n - <a tal:attributes="href python: \'#a_%s_%s\' % (field_name,repeat[\'item\'].index+1)"\n - tal:content="item/getTitle"></a>\n - </li>\n - </ul>\n - </div>\n - </tal:block>\n + </div>\n + <tal:block tal:define="field_names python: (\'my_static_property_list\',);\n + structured_text_field_names python: (\'title\',);">\n + <tal:block metal:use-macro="here/documentation_template/macros/render_listbox" />\n + </tal:block>\n + <tal:block tal:define="field_names python: (\'my_dynamic_property_list\',);\n + structured_text_field_names python: (\'title\',);">\n + <tal:block metal:use-macro="here/documentation_template/macros/render_listbox" />\n + </tal:block>\n + <tal:block tal:define="field_names python: (\'my_dynamic_category_list\',)">\n + <tal:block metal:use-macro="here/documentation_template/macros/render_listbox" />\n + </tal:block>\n + <tal:block tal:define="field_names python: (\'my_static_method_list\',);\n + structured_text_field_names python: (\'title\',);\n + zope_structured_text_field_names python: (\'description\',);\n + toggleable_field_name python: \'source_code\';">\n + <tal:block metal:use-macro="here/documentation_template/macros/render_listbox" />\n + </tal:block>\n + <tal:block tal:define="field_names python: (\'my_dynamic_method_list\',);\n + structured_text_field_names python: (\'title\',);\n + zope_structured_text_field_names python: (\'description\',);">\n + <tal:block metal:use-macro="here/documentation_template/macros/render_listbox" />\n + </tal:block>\n + <tal:block tal:define="field_names python: (\'my_dynamic_accessor_list\',);\n + structured_text_field_names python: (\'accessors\',);\n + toggleable_field_name python: \'accessors\';">\n + <tal:block metal:use-macro="here/documentation_template/macros/render_listbox" />\n </tal:block>\n - </div>\n - <tal:block tal:define="field_names python: (\'my_static_property_list\',);\n - structured_text_field_names python: (\'title\',);">\n - <tal:block metal:use-macro="here/documentation_template/macros/render_listbox"/>\n - </tal:block>\n - <tal:block tal:define="field_names python: (\'my_dynamic_property_list\',);\n - structured_text_field_names python: (\'title\',);">\n - <tal:block metal:use-macro="here/documentation_template/macros/render_listbox"/>\n - </tal:block>\n - <tal:block tal:define="field_names python: (\'my_dynamic_category_list\',)">\n - <tal:block metal:use-macro="here/documentation_template/macros/render_listbox"/>\n - </tal:block>\n - <tal:block tal:define="field_names python: (\'my_static_method_list\',);\n - structured_text_field_names python: (\'title\',);\n - zope_structured_text_field_names python: (\'description\',);\n - toggleable_field_name python: \'source_code\';">\n - <tal:block metal:use-macro="here/documentation_template/macros/render_listbox"/>\n - </tal:block>\n - <tal:block tal:define="field_names python: (\'my_dynamic_method_list\',);\n - structured_text_field_names python: (\'title\',);\n - zope_structured_text_field_names python: (\'description\',);">\n - <tal:block metal:use-macro="here/documentation_template/macros/render_listbox"/>\n - </tal:block>\n - <tal:block tal:define="field_names python: (\'my_dynamic_accessor_list\',);\n - structured_text_field_names python: (\'accessors\',);\n - toggleable_field_name python: \'accessors\';">\n - <tal:block metal:use-macro="here/documentation_template/macros/render_listbox"/>\n </tal:block>\n - </tal:block>\n - </body>\n -</html> + </body>\n + </html>\n +</tal:block>\n + ]]></string> </value> </item> diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/field_render.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/field_render.xml index 03af6da8d0f727c905f8ba928185e51306601df2..fd594eebe15579e5b18c2c2d233f2c3caca8a503 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/field_render.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/field_render.xml @@ -51,64 +51,45 @@ <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 +<tal:block 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@nexedi.com>\n - Christophe Dumez <christophe@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 ---></tal:block>\n -\n -<tal:block metal:define-macro="field_render">\n - <tal:block tal:condition="python: field.meta_type != \'HiddenStringField\'"\n - tal:define="field_id field/id;\n - value python: request.get(field_id, None);\n - field_errors python: request.get(\'field_errors\', {});\n - field_has_error python: field_errors.has_key(field_id);\n - global form_id form_id | form/id | nothing;\n - field_description field/Field_getDescription;\n - is_web_mode is_web_mode | nothing">\n - <div tal:define="html_render python: field.render_htmlgrid(value, request)"\n - tal:attributes="title field_description;\n - class python: \' \'.join([x for x in [\'field\', field.is_required() and \'required\' or None, field_has_error and \'error\' or None, field.get_value(\'css_class\') or None] if x is not None])"\n - i18n:attributes="title" i18n:domain="ui">\n - <tal:block tal:repeat="html_tuple html_render">\n - <label>\n - <tal:block tal:content="structure python: html_tuple[0]"\n - i18n:translate="" i18n:domain="ui"/>\n - <tal:block tal:condition="preferred_html_style_developper_mode">\n - <tal:block metal:use-macro="developper_shortcut_render/macros/field_developper"/>\n - </tal:block>\n - <tal:block tal:condition="preferred_html_style_translator_mode">\n - <tal:block metal:use-macro="developper_shortcut_render/macros/field_translator"/>\n - </tal:block>\n - </label>\n - <div class="input" tal:content="structure python: html_tuple[1]"/>\n - <span tal:condition="python: field_has_error"\n - class="error"\n - tal:content="python: field_errors[field_id].error_text"\n - i18n:translate="" i18n:domain="ui"/>\n - <p class="clear" tal:condition="not:is_web_mode"></p>\n - </tal:block>\n - </div>\n + <tal:block metal:define-macro="field_render">\n + <tal:block tal:condition="python: field.meta_type != \'HiddenStringField\'"\n + tal:define="field_id field/id;\n + value python: request.get(field_id, None);\n + field_errors python: request.get(\'field_errors\', {});\n + field_has_error python: field_errors.has_key(field_id);\n + global form_id form_id | form/id | nothing;\n + field_description field/Field_getDescription;\n + is_web_mode is_web_mode | nothing">\n + <div tal:define="html_render python: field.render_htmlgrid(value, request)"\n + tal:attributes="title field_description;\n + class python: \' \'.join([x for x in [\'field\', field.is_required() and \'required\' or None, field_has_error and \'error\' or None, field.get_value(\'css_class\') or None] if x is not None])"\n + i18n:attributes="title" i18n:domain="ui">\n + <tal:block tal:repeat="html_tuple html_render">\n + <label>\n + <tal:block tal:content="structure python: html_tuple[0]"\n + i18n:translate="" i18n:domain="ui" />\n + <tal:block tal:condition="preferred_html_style_developper_mode">\n + <tal:block metal:use-macro="developper_shortcut_render/macros/field_developper" />\n + </tal:block>\n + <tal:block tal:condition="preferred_html_style_translator_mode">\n + <tal:block metal:use-macro="developper_shortcut_render/macros/field_translator" />\n + </tal:block>\n + </label>\n + <div class="input" tal:content="structure python: html_tuple[1]" />\n + <span tal:condition="python: field_has_error"\n + class="error"\n + tal:content="python: field_errors[field_id].error_text"\n + i18n:translate="" i18n:domain="ui" />\n + <p class="clear" tal:condition="not:is_web_mode"></p>\n + </tal:block>\n + </div>\n + </tal:block>\n </tal:block>\n -</tal:block> +</tal:block>\n + ]]></string> </value> </item> diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/form_dialog.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/form_dialog.xml index ff061a437ddac7d40b7e7e6c2cd8363eca5eb665..9be0ed5c4a71b9c9f48fe11b16d9005d97d7b9ef 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/form_dialog.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/form_dialog.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.PageTemplates.ZopePageTemplate</string> - <string>ZopePageTemplate</string> - </tuple> - <none/> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + <tuple/> </tuple> </pickle> <pickle> @@ -54,110 +51,90 @@ <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 +<tal:block 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@nexedi.com>\n - Christophe Dumez <christophe@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:define-macro="master"\n - tal:define="editable_mode python: True;\n - dialog_mode python: True;\n - dummy python: request.set(\'editable_mode\', editable_mode)">\n - <tal:block metal:use-macro="here/dialog_main/macros/master">\n - <tal:block metal:fill-slot="main">\n - <tal:block tal:define="field_errors python: request.get(\'field_errors\',{});\n - dummy python: request.set(\'here\', here);\n - left_group python: form.get_fields_in_group(\'left\');\n - right_group python: form.get_fields_in_group(\'right\');\n - center_group python: form.get_fields_in_group(\'center\');\n - dialog_actions python: actions.get(dialog_category, []);\n - field_render here/field_render/macros/field_render;">\n - <tal:block tal:condition="preferred_html_style_developper_mode">\n - <tal:block metal:use-macro="developper_shortcut_render/macros/form" />\n - </tal:block>\n - <div tal:condition="python: len(left_group) or len(right_group) or len(center_group) or len(dialog_actions)>1"\n - class="dialog_box">\n - <div tal:condition="python: len(dialog_actions) > 1"\n + <tal:block metal:define-macro="master"\n + tal:define="editable_mode python: True;\n + dialog_mode python: True;\n + dummy python: request.set(\'editable_mode\', editable_mode)">\n + <tal:block metal:use-macro="here/dialog_main/macros/master">\n + <tal:block metal:fill-slot="main">\n + <tal:block tal:define="field_errors python: request.get(\'field_errors\',{});\n + dummy python: request.set(\'here\', here);\n + left_group python: form.get_fields_in_group(\'left\');\n + right_group python: form.get_fields_in_group(\'right\');\n + center_group python: form.get_fields_in_group(\'center\');\n + dialog_actions python: actions.get(dialog_category, []);\n + field_render here/field_render/macros/field_render;">\n + <tal:block tal:condition="preferred_html_style_developper_mode">\n + <tal:block metal:use-macro="developper_shortcut_render/macros/form" />\n + </tal:block>\n + <div tal:condition="python: len(left_group) or len(right_group) or len(center_group) or len(dialog_actions)>1"\n + class="dialog_box">\n + <div tal:condition="python: len(dialog_actions) > 1"\n class="dialog_selector">\n - <label for="dialog_selector"\n - tal:content="python: { \'object_exchange\': \'Select Exchange\'\n - , \'object_print\' : \'Select Print\'\n - , \'object_search\' : \'Select Search\'\n - , \'object_report\' : \'Select Report\'\n - }.get(dialog_category, \'Select\')"\n - i18n:translate="" i18n:domain="ui"></label>\n - <select name="select_dialog" id="dialog_selector"\n - tal:attributes="onChange string:submitAction(this.form,\'Base_doDialog\')">\n - <tal:block tal:repeat="action dialog_actions">\n - <option tal:attributes="value action/url;\n - selected python: action is current_action and \'selected\' or None"\n - tal:content="action/name"\n - i18n:translate="" i18n:domain="ui"></option>\n + <label for="dialog_selector"\n + tal:content="python: { \'object_exchange\': \'Select Exchange\'\n + , \'object_print\' : \'Select Print\'\n + , \'object_search\' : \'Select Search\'\n + , \'object_report\' : \'Select Report\'\n + }.get(dialog_category, \'Select\')"\n + i18n:translate="" i18n:domain="ui"></label>\n + <select name="select_dialog" id="dialog_selector"\n + tal:attributes="onChange string:submitAction(this.form,\'Base_doDialog\')">\n + <tal:block tal:repeat="action dialog_actions">\n + <option tal:attributes="value action/url;\n + selected python: action is current_action and \'selected\' or None"\n + tal:content="action/name"\n + i18n:translate="" i18n:domain="ui"></option>\n + </tal:block>\n + </select>\n + <button type="submit" name="Base_doDialog:method">\n + <span class="image"></span>\n + <span class="description"\n + i18n:translate="" i18n:domain="ui">Go</span>\n + </button>\n + </div>\n + <div class="content"\n + tal:define="group_list python: form.Form_getGroupTitleAndId();\n + gid_list python: \' \'.join([x[\'gid\'] for x in group_list if x not in (\'bottom\', \'hidden\')]);">\n + <tal:block tal:repeat="group group_list">\n + <tal:block tal:define="gid group/gid">\n + <fieldset tal:condition="python: \'hidden\' not in gid and \'bottom\' not in gid"\n + tal:attributes="class gid;\n + id python: \'fieldset_\' + gid.replace(\' \', \'_\');">\n + <legend tal:content="group/gtitle" class="group_title" />\n + <tal:block tal:repeat="field python: form.get_fields_in_group(group[\'goid\'])">\n + <tal:block metal:use-macro="field_render" />\n + </tal:block>\n + </fieldset>\n + </tal:block>\n </tal:block>\n - </select>\n - <button type="submit" name="Base_doDialog:method">\n - <span class="image"></span>\n - <span class="description"\n - i18n:translate="" i18n:domain="ui">Go</span>\n - </button>\n + <p class="clear"></p>\n + </div>\n </div>\n - <div class="content"\n - tal:define="group_list python: form.Form_getGroupTitleAndId();\n - gid_list python: \' \'.join([x[\'gid\'] for x in group_list if x not in (\'bottom\', \'hidden\')]);">\n - <tal:block tal:repeat="group group_list">\n - <tal:block tal:define="gid group/gid">\n - <fieldset tal:condition="python: \'hidden\' not in gid and \'bottom\' not in gid"\n - tal:attributes="class gid;\n - id python: \'fieldset_\' + gid.replace(\' \', \'_\');">\n - <legend tal:content="group/gtitle" class="group_title"/>\n - <tal:block tal:repeat="field python: form.get_fields_in_group(group[\'goid\'])">\n - <tal:block metal:use-macro="field_render"/>\n - </tal:block>\n - </fieldset>\n + </tal:block>\n + </tal:block>\n + <tal:block metal:fill-slot="bottom">\n + <tal:block tal:define="field_errors python: request.get(\'field_errors\',{});\n + dummy python: request.set(\'here\', here);\n + bottom_group python: form.get_fields_in_group(\'bottom\')">\n + <div tal:condition="python: len(bottom_group) > 0"\n + class="bottom">\n + <tal:block tal:repeat="field bottom_group">\n + <tal:block tal:condition="preferred_html_style_developper_mode">\n + <tal:block metal:use-macro="developper_shortcut_render/macros/field_developper" />\n + </tal:block>\n + <tal:block tal:define="field_description field/Field_getDescription"\n + tal:condition="preferred_html_style_translator_mode">\n + <tal:block metal:use-macro="developper_shortcut_render/macros/field_translator" />\n </tal:block>\n + <tal:block tal:define="value python:request.get(field.id, None)"\n + tal:replace="structure python:field.render(value, request)" />\n </tal:block>\n - <p class="clear"></p>\n </div>\n - </div>\n - </tal:block>\n - </tal:block>\n - <tal:block metal:fill-slot="bottom">\n - <tal:block tal:define="field_errors python: request.get(\'field_errors\',{});\n - dummy python: request.set(\'here\', here);\n - bottom_group python: form.get_fields_in_group(\'bottom\')">\n - <div tal:condition="python: len(bottom_group) > 0"\n - class="bottom">\n - <tal:block tal:repeat="field bottom_group">\n - <tal:block tal:condition="preferred_html_style_developper_mode">\n - <tal:block metal:use-macro="developper_shortcut_render/macros/field_developper"/>\n - </tal:block>\n - <tal:block tal:define="field_description field/Field_getDescription"\n - tal:condition="preferred_html_style_translator_mode">\n - <tal:block metal:use-macro="developper_shortcut_render/macros/field_translator"/>\n - </tal:block>\n - <tal:block tal:define="value python:request.get(field.id, None)"\n - tal:replace="structure python:field.render(value, request)" />\n - </tal:block>\n - </div>\n + </tal:block>\n </tal:block>\n </tal:block>\n </tal:block>\n diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/form_list.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/form_list.xml index fad347746af1e41984ccc938a24724436d351759..91fc8d68cf37fde9b1734096ed1e04e96ae0d580 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/form_list.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/form_list.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.PageTemplates.ZopePageTemplate</string> - <string>ZopePageTemplate</string> - </tuple> - <none/> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + <tuple/> </tuple> </pickle> <pickle> @@ -48,35 +45,16 @@ <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 +<tal:block 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@nexedi.com>\n - Christophe Dumez <christophe@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/list_main/macros/master">\n - <tal:block metal:fill-slot="main">\n - <tal:block metal:use-macro="here/form_render/macros/master" />\n + <tal:block metal:use-macro="here/list_main/macros/master">\n + <tal:block metal:fill-slot="main">\n + <tal:block metal:use-macro="here/form_render/macros/master" />\n + </tal:block>\n </tal:block>\n -</tal:block> +</tal:block>\n + ]]></string> </value> </item> diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/form_render.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/form_render.xml index d4547b57abf82d6f3b863035b4ad32fb308b2fc6..ea589c3aa3bc91711ab6dfa539db475e620f75c1 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/form_render.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/form_render.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.PageTemplates.ZopePageTemplate</string> - <string>ZopePageTemplate</string> - </tuple> - <none/> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + <tuple/> </tuple> </pickle> <pickle> @@ -54,29 +51,11 @@ <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 +<tal:block 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 + <tal:block tal:replace="nothing">\n <!--\n -Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n - Vincent Pelletier <vincent@nexedi.com>\n - Christophe Dumez <christophe@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 XXX: each case must be handled separatelly in this precise representation :\n - both top fields must be in the same div, so they must be identified\n strictly by their name.\n @@ -98,36 +77,36 @@ It is possible to specify a group id and a group title by naming a group followi class and as tag id. The group title will be used as a legend for the fieldset. If no group\n title is found, we use group id as title.\n -->\n -</tal:block>\n -\n -\n -<tal:block metal:define-macro="master">\n - <tal:block\n - tal:define="field_errors python: request.get(\'field_errors\', {});\n - dummy python: request.set(\'here\', here);\n - group_list python: form.Form_getGroupTitleAndId();\n - gid_list python: \' \'.join([x[\'gid\'] for x in group_list if x!=\'hidden\']);\n - field_render nocall: here/field_render/macros/field_render">\n + </tal:block>\n \n - <tal:block tal:condition="preferred_html_style_developper_mode">\n - <tal:block metal:use-macro="developper_shortcut_render/macros/form"/>\n - </tal:block>\n + <tal:block metal:define-macro="master">\n + <tal:block\n + tal:define="field_errors python: request.get(\'field_errors\', {});\n + dummy python: request.set(\'here\', here);\n + group_list python: form.Form_getGroupTitleAndId();\n + gid_list python: \' \'.join([x[\'gid\'] for x in group_list if x!=\'hidden\']);\n + field_render nocall: here/field_render/macros/field_render">\n + <tal:block tal:condition="preferred_html_style_developper_mode">\n + <tal:block metal:use-macro="developper_shortcut_render/macros/form" />\n + </tal:block>\n \n - <tal:block tal:repeat="group group_list">\n - <tal:block tal:define="gid group/gid;">\n - <fieldset tal:condition="python: gid.find(\'hidden\') < 0"\n - tal:attributes="class gid;\n - id python: \'fieldset_%s\' % (gid.replace(\' \', \'_\'), );">\n - <legend tal:condition="group/gtitle" tal:content="group/gtitle" class="group_title"/>\n - <tal:block tal:repeat="field python: form.get_fields_in_group(group[\'goid\'])">\n - <tal:block metal:use-macro="field_render"/>\n - </tal:block>\n - </fieldset>\n + <tal:block tal:repeat="group group_list">\n + <tal:block tal:define="gid group/gid;">\n + <fieldset tal:condition="python: gid.find(\'hidden\') < 0"\n + tal:attributes="class gid;\n + id python: \'fieldset_%s\' % (gid.replace(\' \', \'_\'), );">\n + <legend tal:condition="group/gtitle" tal:content="group/gtitle" class="group_title"></legend>\n + <tal:block tal:repeat="field python: form.get_fields_in_group(group[\'goid\'])">\n + <tal:block metal:use-macro="field_render" />\n + </tal:block>\n + </fieldset>\n + </tal:block>\n </tal:block>\n + <p class="clear"></p>\n </tal:block>\n - <p class="clear"></p>\n </tal:block>\n -</tal:block> +</tal:block>\n + ]]></string> </value> </item> diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/form_report.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/form_report.xml index d4fb230e46651e0c14da0c19986ef4b141e44caf..e3519e74ed575d132a49e9679f0e97f5de3abbcb 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/form_report.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/form_report.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.PageTemplates.ZopePageTemplate</string> - <string>ZopePageTemplate</string> - </tuple> - <none/> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + <tuple/> </tuple> </pickle> <pickle> @@ -54,31 +51,13 @@ <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 +<tal:block 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) 2007 Nexedi SARL and Contributors. All Rights Reserved.\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/list_report/macros/master">\n - <tal:block metal:fill-slot="main">\n - <tal:block metal:use-macro="here/form_render/macros/master" />\n + <tal:block metal:use-macro="here/list_report/macros/master">\n + <tal:block metal:fill-slot="main">\n + <tal:block metal:use-macro="here/form_render/macros/master" />\n + </tal:block>\n </tal:block>\n </tal:block>\n diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/form_view.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/form_view.xml index 8fa0ba32664b023eaf48000fb5cee4c68903cbcb..75404b50c51820d9e10c18f1f1a0da2ea17d4d12 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/form_view.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/form_view.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.PageTemplates.ZopePageTemplate</string> - <string>ZopePageTemplate</string> - </tuple> - <none/> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + <tuple/> </tuple> </pickle> <pickle> @@ -48,37 +45,18 @@ <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 +<tal:block 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@nexedi.com>\n - Christophe Dumez <christophe@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:define-macro="master">\n - <tal:block metal:use-macro="here/view_main/macros/master">\n - <tal:block metal:fill-slot="main">\n - <tal:block metal:use-macro="here/form_render/macros/master" />\n + <tal:block metal:define-macro="master">\n + <tal:block metal:use-macro="here/view_main/macros/master">\n + <tal:block metal:fill-slot="main">\n + <tal:block metal:use-macro="here/form_render/macros/master" />\n + </tal:block>\n </tal:block>\n </tal:block>\n -</tal:block> +</tal:block>\n + ]]></string> </value> </item> diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml index f7b8d73e1413b9344d45a26f1cc802ea9f85f3f3..6140248e9be79ca3458ed545ad818b4554d9aab4 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml @@ -51,48 +51,46 @@ <key> <string>_text</string> </key> <value> <string encoding="cdata"><![CDATA[ -<tal:block metal:define-macro="header_definitions">\n - <tal:block tal:define="\n - global portal here/portal_url/getPortalObject;\n - global portal_path portal/absolute_url;\n - local_parameter_list local_parameter_list | python: {};\n -\n - global actions python: here.Base_filterDuplicateActions(portal.portal_actions.listFilteredActionsFor(here));\n - global url here/absolute_url;\n - global current_form_id python: local_parameter_list.get(\'dialog_id\', local_parameter_list.get(\'form_id\', \'view\'));\n +<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 + <tal:block metal:define-macro="header_definitions">\n + <tal:block tal:define="\n + global portal here/portal_url/getPortalObject;\n + global portal_path portal/absolute_url;\n + local_parameter_list local_parameter_list | python: {};\n + global actions python: here.Base_filterDuplicateActions(portal.portal_actions.listFilteredActionsFor(here));\n + global url here/absolute_url;\n + global current_form_id python: local_parameter_list.get(\'dialog_id\', local_parameter_list.get(\'form_id\', \'view\'));\n dummy python: request.set(\'current_form_id\', current_form_id);\n - global current_url python: \'%s/%s\' % (url, current_form_id);\n - global current_action python: portal.ERP5Site_getCurrentAction(current_url, actions);\n + global current_url python: \'%s/%s\' % (url, current_form_id);\n + global current_action python: portal.ERP5Site_getCurrentAction(current_url, actions);\n cancel_url request/cancel_url | current_url;\n dummy python: local_parameter_list.update({\'cancel_url\': cancel_url});\n -\n dummy python: request.RESPONSE.setHeader(\'Content-Type\', \'text/html;; charset=utf-8\');\n dummy python: request.set(\'here\', here);\n -\n - global css_list css_list | python: [];\n + global css_list css_list | python: [];\n css_list_template css_list_template | python: [\'%s/erp5.css\' % (portal_path, )];\n dummy python: css_list.extend(css_list_template);\n - global js_list js_list | python: [\'%s/erp5_xhtml_appearance.js\' % portal_path,];\n - global js_list python:[\'%s/MochiKit/MochiKit.js\' % portal_path,\n - \'%s/erp5.js\' % portal_path, ] + js_list;\n -\n - global http_parameter_list python: portal.ERP5Site_filterParameterList(request.form);\n + global js_list js_list | python: [\'%s/erp5_xhtml_appearance.js\' % portal_path,];\n + global js_list python:[\'%s/MochiKit/MochiKit.js\' % portal_path,\n + \'%s/erp5.js\' % portal_path, ] + js_list;\n + global http_parameter_list python: portal.ERP5Site_filterParameterList(request.form);\n dummy python: http_parameter_list.update(local_parameter_list);\n - global http_parameters python: portal.ERP5Site_renderHTTPParameterList(http_parameter_list);\n - global form nocall:form | nothing;\n + global http_parameters python: portal.ERP5Site_renderHTTPParameterList(http_parameter_list);\n + global form nocall:form | nothing;\n portal_preferences python: portal.portal_preferences;\n - global preferred_html_style_developper_mode portal_preferences/getPreferredHtmlStyleDevelopperMode;\n - global preferred_html_style_translator_mode portal_preferences/getPreferredHtmlStyleTranslatorMode;\n - global preferred_html_style_contextual_help portal_preferences/getPreferredHtmlStyleContextualHelp;\n - global developper_shortcut_render python: (preferred_html_style_developper_mode or preferred_html_style_translator_mode) and portal.developper_shortcut_render;\n - global selected_language portal/Localizer/get_selected_language;\n - "/>\n -</tal:block>\n -\n -<!-- ============================================================== -->\n -\n -<tal:block metal:define-macro="http_definitions">\n - <tal:block tal:replace="structure python: modules[\'ZTUtils\'].make_hidden_input(**http_parameter_list).replace(\'>\', \' />\')"/>\n + global preferred_html_style_developper_mode portal_preferences/getPreferredHtmlStyleDevelopperMode;\n + global preferred_html_style_translator_mode portal_preferences/getPreferredHtmlStyleTranslatorMode;\n + global preferred_html_style_contextual_help portal_preferences/getPreferredHtmlStyleContextualHelp;\n + global developper_shortcut_render python: (preferred_html_style_developper_mode or preferred_html_style_translator_mode) and portal.developper_shortcut_render;\n + global selected_language portal/Localizer/get_selected_language;\n + " />\n + </tal:block>\n + <tal:block metal:define-macro="http_definitions">\n + <tal:block tal:replace="structure python: modules[\'ZTUtils\'].make_hidden_input(**http_parameter_list).replace(\'>\', \' />\')" />\n + </tal:block>\n </tal:block>\n diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/index_html.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/index_html.xml index 5b04f12c6f7f0f697f1eab789ae9562880a2e718..8baddfac30f284083eca81c85570defebb7895b3 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/index_html.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/index_html.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.PageTemplates.ZopePageTemplate</string> - <string>ZopePageTemplate</string> - </tuple> - <none/> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + <tuple/> </tuple> </pickle> <pickle> @@ -48,58 +45,38 @@ <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 +<tal:block 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@nexedi.com>\n - Christophe Dumez <christophe@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 tal:define="title here/Title">\n -<tal:block metal:use-macro="here/main_template/macros/master">\n - <tal:block metal:fill-slot="main">\n - <tal:block tal:condition="here/portal_membership/isAnonymousUser">\n - <tal:block tal:define="dummy python: request.RESPONSE.redirect(\'%s/login_form\' % url)" />\n - </tal:block>\n - <div tal:condition="python: not here.portal_membership.isAnonymousUser()"\n - class="index_html">\n - <h2 i18n:translate="" i18n:domain="ui">Welcome to ERP5</h2>\n - <table border="1">\n - <tr tal:define="module_list here/ERP5Site_getModuleItemList;\n - module_len python: len(module_list);\n - col_size python: 12;\n - col_len python: module_len % col_size and (module_len + col_size) / col_size or (module_len) / col_size">\n - <td><a href="http://www.erp5.org/"><img src="images/erp5_logo.png" alt="ERP5 Logo" /></a></td>\n - <tal:block tal:repeat="col_no python:range(col_len)">\n - <td valign="top" class="ModuleShortcut">\n - <tal:block tal:repeat="module python:module_list[col_size*col_no:min(col_size*(col_no+1),module_len)] ">\n - <div><a tal:content="python: module[0]"\n - tal:attributes="href python: module[1] + \'/view\'"></a></div>\n + <tal:block tal:define="title here/Title">\n + <tal:block metal:use-macro="here/main_template/macros/master">\n + <tal:block metal:fill-slot="main">\n + <tal:block tal:condition="here/portal_membership/isAnonymousUser">\n + <tal:block tal:define="dummy python: request.RESPONSE.redirect(\'%s/login_form\' % url)" />\n + </tal:block>\n + <div tal:condition="python: not here.portal_membership.isAnonymousUser()"\n + class="index_html">\n + <h2 i18n:translate="" i18n:domain="ui">Welcome to ERP5</h2>\n + <table border="1">\n + <tr tal:define="module_list here/ERP5Site_getModuleItemList;\n + module_len python: len(module_list);\n + col_size python: 12;\n + col_len python: module_len % col_size and (module_len + col_size) / col_size or (module_len) / col_size">\n + <td><a href="http://www.erp5.org/"><img src="images/erp5_logo.png" alt="ERP5 Logo" /></a></td>\n + <tal:block tal:repeat="col_no python:range(col_len)">\n + <td valign="top" class="ModuleShortcut">\n + <tal:block tal:repeat="module python:module_list[col_size*col_no:min(col_size*(col_no+1),module_len)] ">\n + <div><a tal:content="python: module[0]"\n + tal:attributes="href python: module[1] + \'/view\'"></a></div>\n + </tal:block>\n + </td>\n </tal:block>\n - </td>\n - </tal:block>\n - </tr>\n - </table>\n - </div>\n + </tr>\n + </table>\n + </div>\n + </tal:block>\n + </tal:block>\n </tal:block>\n -</tal:block>\n </tal:block> ]]></string> </value> diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/list_dialog.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/list_dialog.xml index 52db31b5f3681bb8ab4264ab1852605023c504cc..73f19bbed7944f3873fc563a6d8071d6eca663df 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/list_dialog.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/list_dialog.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.PageTemplates.ZopePageTemplate</string> - <string>ZopePageTemplate</string> - </tuple> - <none/> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + <tuple/> </tuple> </pickle> <pickle> @@ -54,19 +51,23 @@ <key> <string>_text</string> </key> <value> <string encoding="cdata"><![CDATA[ -<tal:block metal:define-macro="master">\n - <tal:block tal:define="form_id form/id;\n - list_mode python: True;\n - listmode_default_listbox python: form.Form_getListbox();\n - selection_name listmode_default_listbox/selection_name;\n - selection_index request/selection_index | python:0;\n - dummy python: selection_name and request.set(\'selection_name\', selection_name);\n -\n - local_parameter_list local_parameter_list | python: {};\n - dummy python: local_parameter_list.update({\'selection_name\': selection_name, \'selection_index\': selection_index, \'form_id\': form_id});">\n - <tal:block metal:use-macro="here/form_dialog/macros/master"/>\n +<tal:block 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 + <tal:block metal:define-macro="master">\n + <tal:block tal:define="form_id form/id;\n + list_mode python: True;\n + listmode_default_listbox python: form.Form_getListbox();\n + selection_name listmode_default_listbox/selection_name;\n + selection_index request/selection_index | python:0;\n + dummy python: selection_name and request.set(\'selection_name\', selection_name);\n + local_parameter_list local_parameter_list | python: {};\n + dummy python: local_parameter_list.update({\'selection_name\': selection_name, \'selection_index\': selection_index, \'form_id\': form_id});">\n + <tal:block metal:use-macro="here/form_dialog/macros/master" />\n + </tal:block>\n </tal:block>\n -</tal:block> +</tal:block>\n + ]]></string> </value> </item> diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/list_main.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/list_main.xml index ae9dc12f2f68d94b2eae394a48640b1e339cda29..fefdac11bcbabab9ed96d2b8e6cf35c73cbb1e4f 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/list_main.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/list_main.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.PageTemplates.ZopePageTemplate</string> - <string>ZopePageTemplate</string> - </tuple> - <none/> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + <tuple/> </tuple> </pickle> <pickle> @@ -54,48 +51,27 @@ <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 +<tal:block 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@nexedi.com>\n - Christophe Dumez <christophe@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:define-macro="master">\n - <tal:block tal:define="form_action string:Base_doSelect;\n - form_id form/id;\n - list_mode python: True;\n - listmode_default_listbox python:form.listbox;\n - selection_name listmode_default_listbox/selection_name;\n - selection_index request/selection_index | python:0;\n - dummy python: selection_name and request.set(\'selection_name\', selection_name);\n -\n - local_parameter_list local_parameter_list | python: {};\n - dummy python: local_parameter_list.update({\'selection_name\': selection_name, \'selection_index\': selection_index, \'form_id\': form_id});\n - title here/getTranslatedTitle | here/Title">\n - <tal:block metal:use-macro="here/main_template/macros/master">\n - <tal:block metal:fill-slot="context_bar">\n - <tal:block metal:use-macro="here/context_box_render/macros/master" />\n - </tal:block>\n - <tal:block metal:fill-slot="main">\n - <tal:block metal:define-slot="main" />\n + <tal:block metal:define-macro="master">\n + <tal:block tal:define="form_action string:Base_doSelect;\n + form_id form/id;\n + list_mode python: True;\n + listmode_default_listbox python:form.listbox;\n + selection_name listmode_default_listbox/selection_name;\n + selection_index request/selection_index | python:0;\n + dummy python: selection_name and request.set(\'selection_name\', selection_name);\n + local_parameter_list local_parameter_list | python: {};\n + dummy python: local_parameter_list.update({\'selection_name\': selection_name, \'selection_index\': selection_index, \'form_id\': form_id});\n + title here/getTranslatedTitle | here/Title">\n + <tal:block metal:use-macro="here/main_template/macros/master">\n + <tal:block metal:fill-slot="context_bar">\n + <tal:block metal:use-macro="here/context_box_render/macros/master" />\n + </tal:block>\n + <tal:block metal:fill-slot="main">\n + <tal:block metal:define-slot="main" />\n + </tal:block>\n </tal:block>\n </tal:block>\n </tal:block>\n diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/list_report.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/list_report.xml index a944bf094e1093e00993844b0aa82bdba3792b4a..667c29c764abe27674dbc31f6b81a97361c85d6b 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/list_report.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/list_report.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.PageTemplates.ZopePageTemplate</string> - <string>ZopePageTemplate</string> - </tuple> - <none/> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + <tuple/> </tuple> </pickle> <pickle> @@ -54,62 +51,44 @@ <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 +<tal:block 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) 2007 Nexedi SARL and Contributors. All Rights Reserved.\n + <tal:block metal:define-macro="master">\n + <tal:block tal:define="form_id form/id;\n + local_parameter_list python: {\'form_id\': form_id};\n + form_action python: form and form.action not in (\'\', None) and form.action or nothing;\n + title here/getTranslatedTitle | here/Title">\n + <tal:block metal:use-macro="here/main_template/macros/master">\n + <tal:block metal:fill-slot="context_bar">\n + <tal:block metal:use-macro="here/context_box_render/macros/master" />\n + </tal:block>\n + <tal:block metal:fill-slot="main">\n + <div class="document" tal:define="actions python: []">\n + <div class="actions"\n + tal:condition="python: (not is_web_mode or editable_mode)">\n + <button tal:condition="python: not is_web_mode and form_action"\n + type="submit" class="save" title="Save"\n + tal:attributes="name string:${form_action}:method;\n + onClick string:javascript:clickSaveButton(\'${form_action}\');"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description" i18n:translate="" i18n:domain="ui">Save</span>\n + </button>\n + <ul>\n + <li tal:repeat="action actions"\n + tal:attributes="class python: action == current_action and \'selected\' or \'not_selected\'">\n + <a tal:attributes="href python: \'%s%s%s\' % (action[\'url\'], \'?\' in action[\'url\'] and \'&\' or \'?\', http_parameters)"\n + tal:content="action/name"\n + i18n:translate="" i18n:domain="ui" />\n + </li>\n + </ul>\n + </div>\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:define-macro="master">\n - <tal:block tal:define="form_id form/id;\n - local_parameter_list python: {\'form_id\': form_id};\n - form_action python: form and form.action not in (\'\', None) and form.action or nothing;\n - title here/getTranslatedTitle | here/Title">\n - <tal:block metal:use-macro="here/main_template/macros/master">\n - <tal:block metal:fill-slot="context_bar">\n - <tal:block metal:use-macro="here/context_box_render/macros/master" />\n - </tal:block>\n - <tal:block metal:fill-slot="main">\n - <div class="document" tal:define="actions python: []">\n - <div class="actions"\n - tal:condition="python: (not is_web_mode or editable_mode)">\n - <button tal:condition="python: not is_web_mode and form_action"\n - type="submit" class="save" title="Save"\n - tal:attributes="name string:${form_action}:method;\n - onClick string:javascript:clickSaveButton(\'${form_action}\');"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">Save</span>\n - </button>\n - <ul>\n - <li tal:repeat="action actions"\n - tal:attributes="class python: action == current_action and \'selected\' or \'not_selected\'">\n - <a tal:attributes="href python: \'%s%s%s\' % (action[\'url\'], \'?\' in action[\'url\'] and \'&\' or \'?\', http_parameters)"\n - tal:content="action/name"\n - i18n:translate="" i18n:domain="ui"/>\n - </li>\n - </ul>\n + <tal:block metal:define-slot="main" />\n </div>\n -\n -\n - <tal:block metal:define-slot="main" />\n - </div>\n + </tal:block>\n </tal:block>\n </tal:block>\n </tal:block>\n diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/logged_in.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/logged_in.xml index 3b9d30da134e3552f524748d1bb203e5b5f62cff..a49c496a81e769674273b2093cd4fd1eeeeae4cd 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/logged_in.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/logged_in.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.PageTemplates.ZopePageTemplate</string> - <string>ZopePageTemplate</string> - </tuple> - <none/> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + <tuple/> </tuple> </pickle> <pickle> @@ -54,22 +51,27 @@ <key> <string>_text</string> </key> <value> <string encoding="cdata"><![CDATA[ -<tal:block tal:condition="here/portal_skins/updateSkinCookie | nothing"\n - tal:define="dummy here/setupCurrentSkin;" />\n -<tal:block tal:define="response request/RESPONSE;\n - mtool here/portal_membership;\n - isAnon mtool/isAnonymousUser|nothing;">\n - <tal:block tal:condition="isAnon">\n - <tal:block tal:define="dummy python: response.expireCookie(\'__ac\', path=\'/\');\n - url python: \'%s/login_form?portal_status_message=%s\' % (here.absolute_url(), here.getPortalObject().Localizer.translate(\'ui\', \'Login+and/or+password+is+incorrect.\'));\n - url python: request.get(\'came_from\') and \'%s&came_from=%s\' % (url, request[\'came_from\']) or url;\n - dummy python: response.redirect(url);"/>\n +<tal:block 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 + <tal:block tal:condition="here/portal_skins/updateSkinCookie | nothing"\n + tal:define="dummy here/setupCurrentSkin;" />\n + <tal:block tal:define="response request/RESPONSE;\n + mtool here/portal_membership;\n + isAnon mtool/isAnonymousUser|nothing;">\n + <tal:block tal:condition="isAnon">\n + <tal:block tal:define="dummy python: response.expireCookie(\'__ac\', path=\'/\');\n + url python: \'%s/login_form?portal_status_message=%s\' % (here.absolute_url(), here.getPortalObject().Localizer.translate(\'ui\', \'Login+and/or+password+is+incorrect.\'));\n + url python: request.get(\'came_from\') and \'%s&came_from=%s\' % (url, request[\'came_from\']) or url;\n + dummy python: response.redirect(url);" />\n + </tal:block>\n + <tal:block tal:condition="not: isAnon">\n + <tal:block tal:define="came_from python: request.get(\'came_from\') or here.absolute_url() + \'/view\';\n + dummy python: response.redirect(came_from);" />\n + </tal:block>\n </tal:block>\n - <tal:block tal:condition="not: isAnon">\n - <tal:block tal:define="came_from python: request.get(\'came_from\') or here.absolute_url() + \'/view\';\n - dummy python: response.redirect(came_from);" />\n - </tal:block>\n -</tal:block> +</tal:block>\n + ]]></string> </value> </item> diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/logged_out.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/logged_out.xml index 47a2b6a1035479ea00e59836c30e7052422226e3..fe0ee5feec5a01bb7e3d1765fa5a9dad39413453 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/logged_out.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/logged_out.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.PageTemplates.ZopePageTemplate</string> - <string>ZopePageTemplate</string> - </tuple> - <none/> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + <tuple/> </tuple> </pickle> <pickle> @@ -48,37 +45,21 @@ <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 +<tal:block 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 + <tal:block replace="nothing">\n <!--\n -Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n - Vincent Pelletier <vincent@nexedi.com>\n - Christophe Dumez <christophe@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 XXX: this page is just for backward compatibility. The log_out action sould lead to the login page with the correct transition message.\n -->\n -</tal:block>\n -<tal:block metal:use-macro="here/main_template/macros/master">\n - <tal:block metal:fill-slot="main">\n - <tal:block tal:define="dummy python:request.RESPONSE.redirect(\'%s/login_form?portal_status_message=%s\' % (url, here.Base_translateString(\'You have been logged out.\')))" />\n </tal:block>\n -</tal:block> + <tal:block metal:use-macro="here/main_template/macros/master">\n + <tal:block metal:fill-slot="main">\n + <tal:block tal:define="dummy python:request.RESPONSE.redirect(\'%s/login_form?portal_status_message=%s\' % (url, here.Base_translateString(\'You have been logged out.\')))" />\n + </tal:block>\n + </tal:block>\n +</tal:block>\n + ]]></string> </value> </item> diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/login_form.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/login_form.xml index 3e4b54fa62eb7284575c031b30cb401f4ed35607..8a6584e107aea5e861451b0683c6c724217ac304 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/login_form.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/login_form.xml @@ -57,92 +57,66 @@ <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 +<tal:block 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@nexedi.com>\n - Christophe Dumez <christophe@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 tal:define="form_action string:logged_in;\n - global form_id string:login_form;\n - js_list python: [\'%s/login_form.js\' % (here.portal_url(), )]">\n -<tal:block metal:use-macro="here/main_template/macros/master">\n - <tal:block metal:fill-slot="main">\n - <div class="content login">\n -\n - <tal:block tal:condition="python: request.get(\'came_from\', None) is None">\n - <h1 i18n:translate="" i18n:domain="ui">Log in</h1>\n - </tal:block>\n -\n - <tal:block tal:condition="python: request.get(\'came_from\', None) is not None">\n - <h1 i18n:translate="" i18n:domain="ui">You don\'t have enough permissions to access this page</h1>\n - <p i18n:translate="" i18n:domain="ui">You can log in with another user name or\n - <a href="javascript:history.back();">go back</a>.\n - </p>\n - </tal:block>\n -\n - <input tal:condition="exists: request/came_from"\n - type="hidden" name="came_from"\n - tal:attributes="value request/came_from" />\n -\n - <fieldset id="fieldset_left" class="left">\n - <div class="field">\n - <label for="name" class="required" i18n:translate="" i18n:domain="ui">Name</label>\n - <div class="input"><input type="text" name="__ac_name" id="name" tal:attributes="value python: request.get(\'__ac_name\') or \'\'"/></div>\n - </div>\n - <div class="field">\n - <label for="password" i18n:translate="" i18n:domain="ui">Password</label>\n - <div class="input"><input type="password" name="__ac_password" id="password"/></div>\n - </div>\n - <div class="field">\n - <label for="cb_remember" i18n:translate="" i18n:domain="ui">Remember my name</label>\n - <div class="input"><input type="checkbox" name="__ac_persistent" value="1" checked="checked" id="cb_remember"/></div>\n + <tal:block tal:define="form_action string:logged_in;\n + global form_id string:login_form;\n + js_list python: [\'%s/login_form.js\' % (here.portal_url(), )]">\n + <tal:block metal:use-macro="here/main_template/macros/master">\n + <tal:block metal:fill-slot="main">\n + <div class="content login">\n + <tal:block tal:condition="python: request.get(\'came_from\', None) is None">\n + <h1 i18n:translate="" i18n:domain="ui">Log in</h1>\n + </tal:block>\n + <tal:block tal:condition="python: request.get(\'came_from\', None) is not None">\n + <h1 i18n:translate="" i18n:domain="ui">You don\'t have enough permissions to access this page</h1>\n + <p i18n:translate="" i18n:domain="ui">You can log in with another user name or\n + <a href="javascript:history.back();">go back</a>.\n + </p>\n + </tal:block>\n + <input tal:condition="exists: request/came_from"\n + type="hidden" name="came_from"\n + tal:attributes="value request/came_from" />\n + <fieldset id="fieldset_left" class="left">\n + <div class="field">\n + <label for="name" class="required" i18n:translate="" i18n:domain="ui">Name</label>\n + <div class="input"><input type="text" name="__ac_name" id="name" tal:attributes="value python: request.get(\'__ac_name\') or \'\'" /></div>\n + </div>\n + <div class="field">\n + <label for="password" i18n:translate="" i18n:domain="ui">Password</label>\n + <div class="input"><input type="password" name="__ac_password" id="password" /></div>\n + </div>\n + <div class="field">\n + <label for="cb_remember" i18n:translate="" i18n:domain="ui">Remember my name</label>\n + <div class="input"><input type="checkbox" name="__ac_persistent" value="1" checked="checked" id="cb_remember" /></div>\n + </div>\n + <div class="field">\n + <label> </label>\n + <div class="input">\n + <input type="submit" value="Login" class="submit"\n + tal:attributes="name python: \'%s:method\' % (form_action, )"\n + i18n:attributes="value" i18n:domain="ui" />\n + </div>\n + </div>\n + <div class="field">\n + <label> </label>\n + <div class="input">\n + <a tal:attributes="href string:${here/portal_url}/mail_password_form"\n + i18n:translate="" i18n:domain="ui">I forgot my password!</a>\n + </div>\n + </div>\n + </fieldset>\n + <script type="text/javascript">setFocus()</script>\n + <p i18n:translate="" i18n:domain="ui">Having trouble logging in? Make sure to enable cookies in your web browser.</p>\n + <p i18n:translate="" i18n:domain="ui">Don\'t forget to logout or exit your browser when you\'re done.</p>\n + <p i18n:translate="" i18n:domain="ui">Setting the \'Remember my name\' option will set a cookie with your username, so that when you next log in, your user name will already be filled in for you.</p>\n </div>\n - <div class="field">\n - <label> </label>\n - <div class="input">\n - <input type="submit" value="Login" class="submit"\n - tal:attributes="name python: \'%s:method\' % (form_action, )"\n - i18n:attributes="value" i18n:domain="ui"/>\n - </div>\n - </div>\n - <div class="field">\n - <label> </label>\n - <div class="input">\n - <a tal:attributes="href string:${here/portal_url}/mail_password_form"\n - i18n:translate="" i18n:domain="ui">I forgot my password!</a>\n - </div>\n - </div>\n - </fieldset>\n -\n - <script type="text/javascript">setFocus()</script>\n -\n - <p i18n:translate="" i18n:domain="ui">Having trouble logging in? Make sure to enable cookies in your web browser.</p>\n - <p i18n:translate="" i18n:domain="ui">Don\'t forget to logout or exit your browser when you\'re done.</p>\n - <p i18n:translate="" i18n:domain="ui">Setting the \'Remember my name\' option will set a cookie with your username, so that when you next log in, your user name will already be filled in for you.</p>\n -\n - </div>\n + </tal:block>\n + </tal:block>\n </tal:block>\n </tal:block>\n -</tal:block> + ]]></string> </value> </item> diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/main_template.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/main_template.xml index 28d081c767de05f96ce8044d0911cc921d5da5db..7743e28fbd4025fb764b5fd69e11c92af9287129 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/main_template.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/main_template.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.PageTemplates.ZopePageTemplate</string> - <string>ZopePageTemplate</string> - </tuple> - <none/> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + <tuple/> </tuple> </pickle> <pickle> @@ -54,56 +51,40 @@ <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 +<tal:block 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 + <tal:block tal:replace="nothing">\n <!--\n -Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n - Vincent Pelletier <vincent@nexedi.com>\n - Christophe Dumez <christophe@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 IDEAS:\n - Add callbacks to ERP5Form object (selection ?) to gather needed fields -> put them in http_parameter_list.\n -->\n -</tal:block>\n -<tal:block metal:define-macro="master">\n - <tal:block\n - tal:define="ignore_layout request/ignore_layout | nothing;\n - layout_form_id request/layout_form_id | here/getApplicableLayout | nothing;\n - layout_form python: layout_form_id and getattr(here, layout_form_id, None) or None;\n - is_web_mode python: (layout_form is not None) and (not ignore_layout);\n - editable_mode python: (not is_web_mode) or request.get(\'editable_mode\', False);\n - editable_mode_backup editable_mode;\n - dummy python: request.set(\'editable_mode\', editable_mode);\n - dummy python: request.set(\'is_web_mode\', is_web_mode);\n - page_template python: is_web_mode and ((layout_form.meta_type==\'Page Template\' and layout_form.id) or getattr(layout_form, \'pt\', None)) or \'template_erp5_xhtml_style\';">\n - <tal:block metal:use-macro="python: getattr(here, page_template).macros[\'master\']">\n - <tal:block metal:fill-slot="context_bar">\n - <tal:block metal:define-slot="context_bar"/>\n - </tal:block>\n - <tal:block metal:fill-slot="main"\n - tal:define="editable_mode editable_mode_backup;\n - dummy python: request.set(\'editable_mode\', editable_mode);">\n - <tal:block metal:define-slot="main"/>\n + </tal:block>\n + <tal:block metal:define-macro="master">\n + <tal:block\n + tal:define="ignore_layout request/ignore_layout | nothing;\n + layout_form_id request/layout_form_id | here/getApplicableLayout | nothing;\n + layout_form python: layout_form_id and getattr(here, layout_form_id, None) or None;\n + is_web_mode python: (layout_form is not None) and (not ignore_layout);\n + editable_mode python: (not is_web_mode) or request.get(\'editable_mode\', False);\n + editable_mode_backup editable_mode;\n + dummy python: request.set(\'editable_mode\', editable_mode);\n + dummy python: request.set(\'is_web_mode\', is_web_mode);\n + page_template python: is_web_mode and ((layout_form.meta_type==\'Page Template\' and layout_form.id) or getattr(layout_form, \'pt\', None)) or \'template_erp5_xhtml_style\';">\n + <tal:block metal:use-macro="python: getattr(here, page_template).macros[\'master\']">\n + <tal:block metal:fill-slot="context_bar">\n + <tal:block metal:define-slot="context_bar" />\n + </tal:block>\n + <tal:block metal:fill-slot="main"\n + tal:define="editable_mode editable_mode_backup;\n + dummy python: request.set(\'editable_mode\', editable_mode);">\n + <tal:block metal:define-slot="main" />\n + </tal:block>\n </tal:block>\n </tal:block>\n </tal:block>\n -</tal:block> +</tal:block>\n + ]]></string> </value> </item> diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/navigation_box_render.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/navigation_box_render.xml index e5f6b8dca392a38620bd2d03a32d4ed806e77650..02c4c8635eec3cb6078f804740780fb98c72412b 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/navigation_box_render.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/navigation_box_render.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.PageTemplates.ZopePageTemplate</string> - <string>ZopePageTemplate</string> - </tuple> - <none/> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + <tuple/> </tuple> </pickle> <pickle> @@ -54,95 +51,100 @@ <key> <string>_text</string> </key> <value> <string encoding="cdata"><![CDATA[ -<tal:block tal:define="actions python: here.getPortalObject().portal_actions.listFilteredActionsFor(here)">\n - <span class="first">\n - <span id="favourites">\n - <select name="select_favorite"\n - tal:define="ordered_global_actions python:here.getOrderedGlobalActionList(actions[\'global\']);\n - user_actions actions/user;"\n - tal:attributes="onChange string:submitAction(this.form,\'Base_doFavorite\')">\n - <option selected="selected" value=""\n - i18n:translate="" i18n:domain="ui">My favourites</option>\n - <tal:block tal:repeat="action ordered_global_actions">\n - <option tal:condition="action/disabled"\n - disabled="disabled">-- <tal:block tal:content="action/title" i18n:translate="" i18n:domain="ui" /> --</option>\n - <tal:block tal:condition="not:action/disabled"\n - tal:define="name python: action.get(\'name\', \'\');\n - index python: name.find(\' (\');">\n - <option tal:condition="python: index >= 0"\n - tal:attributes="value action/url"><tal:block tal:content="python: name[:index]" i18n:translate="" i18n:domain="ui"></tal:block><tal:block tal:replace="python: name[index:]" /></option>\n - <option tal:condition="python: index < 0"\n - tal:attributes="value action/url"\n +<tal:block 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 + <tal:block tal:define="actions python: here.getPortalObject().portal_actions.listFilteredActionsFor(here)">\n + <span class="first">\n + <span id="favourites">\n + <select name="select_favorite"\n + tal:define="ordered_global_actions python:here.getOrderedGlobalActionList(actions[\'global\']);\n + user_actions actions/user;"\n + tal:attributes="onChange string:submitAction(this.form,\'Base_doFavorite\')">\n + <option selected="selected" value=""\n + i18n:translate="" i18n:domain="ui">My favourites</option>\n + <tal:block tal:repeat="action ordered_global_actions">\n + <option tal:condition="action/disabled"\n + disabled="disabled">-- <tal:block tal:content="action/title" i18n:translate="" i18n:domain="ui" /> --</option>\n + <tal:block tal:condition="not:action/disabled"\n + tal:define="name python: action.get(\'name\', \'\');\n + index python: name.find(\' (\');">\n + <option tal:condition="python: index >= 0"\n + tal:attributes="value action/url"><tal:block tal:content="python: name[:index]" i18n:translate="" i18n:domain="ui"></tal:block><tal:block tal:replace="python: name[index:]" /></option>\n + <option tal:condition="python: index < 0"\n + tal:attributes="value action/url"\n + tal:content="action/name"\n + i18n:translate="" i18n:domain="ui"></option>\n + </tal:block>\n + </tal:block>\n + <tal:block tal:condition="user_actions">\n + <option disabled="disabled">-- <tal:block i18n:translate="" i18n:domain="ui">User</tal:block> --</option>\n + <option tal:repeat="action user_actions"\n tal:content="action/name"\n + tal:attributes="value action/url"\n i18n:translate="" i18n:domain="ui"></option>\n </tal:block>\n - </tal:block>\n - <tal:block tal:condition="user_actions">\n - <option disabled="disabled">-- <tal:block i18n:translate="" i18n:domain="ui">User</tal:block> --</option>\n - <option tal:repeat="action user_actions"\n - tal:content="action/name"\n - tal:attributes="value action/url"\n - i18n:translate="" i18n:domain="ui"></option>\n - </tal:block>\n - </select>\n - <button type="submit" name="Base_doFavorite:method" title="Select Favorite"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description"\n - i18n:translate="" i18n:domain="ui">Select Favorite</span>\n - </button>\n + </select>\n + <button type="submit" name="Base_doFavorite:method" title="Select Favorite"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description"\n + i18n:translate="" i18n:domain="ui">Select Favorite</span>\n + </button>\n + </span>\n + <span class="separator"></span>\n + <span id="modules">\n + <select name="select_module"\n + tal:define="module_list here/ERP5Site_getModuleItemList;"\n + tal:attributes="onChange string:submitAction(this.form,\'Base_doModule\')">\n + <option selected="selected" value="" i18n:translate="" i18n:domain="ui">ERP5 Modules</option>\n + <option tal:repeat="module module_list"\n + tal:attributes="value python: module[1]"\n + tal:content="python: module[0]"\n + tal:omit-tag="nothing" />\n + </select>\n + <button type="submit" name="Base_doModule:method" title="Select Module"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description"\n + i18n:translate="" i18n:domain="ui">Select Module</span>\n + </button>\n + </span>\n </span>\n - <span class="separator"></span>\n - <span id="modules">\n - <select name="select_module"\n - tal:define="module_list here/ERP5Site_getModuleItemList;"\n - tal:attributes="onChange string:submitAction(this.form,\'Base_doModule\')">\n - <option selected="selected" value="" i18n:translate="" i18n:domain="ui">ERP5 Modules</option>\n - <option tal:repeat="module module_list"\n - tal:attributes="value python: module[1]"\n - tal:content="python: module[0]"\n - tal:omit-tag="nothing"/>\n - </select>\n - <button type="submit" name="Base_doModule:method" title="Select Module"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description"\n - i18n:translate="" i18n:domain="ui">Select Module</span>\n - </button>\n + <span class="second">\n + <span id="language">\n + <select name="select_language"\n + tal:attributes="onChange string:submitAction(this.form,\'Base_doLanguage\')">\n + <option value=""\n + i18n:translate="" i18n:domain="ui">My language</option>\n + <option tal:repeat="language python: here.Localizer.get_languages_map()"\n + tal:omit-tag="nothing"\n + tal:attributes="value language/id;\n + selected python: language[\'selected\'] and \'selected\' or nothing;"\n + tal:content="python: here.Localizer.erp5_ui.gettext(language[\'title\'], lang=language[\'id\'])" />\n + </select>\n + <button type="submit" name="Base_doLanguage:method" title="Select Language"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description"\n + i18n:translate="" i18n:domain="ui">Select Language</span>\n + </button>\n + </span>\n + <span class="separator"></span>\n + <span id="search">\n + <input type="text" name="field_your_search_text" />\n + <button type="submit" name="Base_searchResultList:method" title="Search"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description"\n + i18n:translate="" i18n:domain="ui">Search</span>\n + </button>\n + </span>\n </span>\n - </span>\n - <span class="second">\n - <span id="language">\n - <select name="select_language"\n - tal:attributes="onChange string:submitAction(this.form,\'Base_doLanguage\')">\n - <option value=""\n - i18n:translate="" i18n:domain="ui">My language</option>\n - <option tal:repeat="language python: here.Localizer.get_languages_map()"\n - tal:omit-tag="nothing"\n - tal:attributes="value language/id;\n - selected python: language[\'selected\'] and \'selected\' or nothing;"\n - tal:content="python: here.Localizer.erp5_ui.gettext(language[\'title\'], lang=language[\'id\'])" />\n - </select>\n - <button type="submit" name="Base_doLanguage:method" title="Select Language"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description"\n - i18n:translate="" i18n:domain="ui">Select Language</span>\n - </button>\n - </span>\n - <span class="separator"></span>\n - <span id="search">\n - <input type="text" name="field_your_search_text"/>\n - <button type="submit" name="Base_searchResultList:method" title="Search"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description"\n - i18n:translate="" i18n:domain="ui">Search</span>\n - </button>\n - </span>\n - </span>\n - <p class="clear"></p>\n -</tal:block> + <p class="clear"></p>\n + </tal:block>\n +</tal:block>\n + ]]></string> </value> </item> diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/planning_content.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/planning_content.xml index 2cd01e68294e6db5fb0d8a3cf6c368442895851b..9665a53f6b228525769b538a8b4ba6ccffeef6bd 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/planning_content.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/planning_content.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.PageTemplates.ZopePageTemplate</string> - <string>ZopePageTemplate</string> - </tuple> - <none/> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + <tuple/> </tuple> </pickle> <pickle> @@ -54,382 +51,347 @@ <key> <string>_text</string> </key> <value> <string encoding="cdata"><![CDATA[ -<!--\n -Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n - Thomas Bernard <thomas@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 -\n +<tal:block 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 + <tal:block tal:replace="nothing">\n <!--\n This Page template is aimed to generate the HTML code necessary to display correctly the\n PlaningBox. The process is based on the strucutre passed in parameter (i.e options/struct)\n Beware this only generates the HTML code, no CSS generation is done in this script\n -->\n + </tal:block>\n + <tal:block tal:define=" basic options/basic;\n + planning options/planning;\n + address python:basic.context.getUrl()">\n + <!-- hidden fields holding some usefull data-->\n + <input type="hidden" name="list_selection_name" value="PlanningView" tal:attributes="value python:basic.field.get_value(\'selection_name\')" />\n + <!-- setPage needs \'listbox_uid:list\'-->\n + <input type="hidden" name="listbox_uid:list" />\n + <!-- block_moved_list -->\n + <input type="hidden" name="previous_block_moved" value="None"\n + tal:attributes="value python:basic.REQUEST.get(\'previous_block_moved\',\'\')" />\n + <input type="hidden" name="block_moved" />\n + <!-- Planning\'s header -->\n + <div class="planning_box">\n + <table>\n + <tr>\n + <td>\n + <h3 i18n:translate="" i18n:domain="ui">\n + <tal:block tal:replace="structure python:basic.field.get_value(\'title\')" /> </h3>\n + </td>\n + <b tal:replace="nothing"><!-- report path selection --></b>\n + <td>\n + <select name="report_root_url" onChange="submitAction(this.form,\'/setReportRoot\')"\n + tal:attributes="onChange string:submitAction(this.form,\'${address}/setReportRoot\')">\n + <tal:block tal:condition="python:basic.selection is None"\n + tal:define="global selection_report_path python:basic.report_root_list[0][0]" />\n + <tal:block tal:condition="python:basic.selection is not None"\n + tal:define="global selection_report_path python:basic.selection.report_path" />\n + <tal:block tal:repeat="report_root_element python:basic.report_root_list">\n + <tal:block tal:condition="python:report_root_element[0]==selection_report_path">\n + <b tal:replace="nothing">actual value is selected</b>\n + <option i18n:translate="" i18n:domain="ui" selected="selected" value="None"\n + tal:attributes="value python:report_root_element[0]"\n + tal:content="structure python:report_root_element[1]">_</option>\n + </tal:block>\n + <tal:block tal:condition="python:report_root_element[0]!=selection_report_path">\n + <b tal:replace="nothing">actual value is not selected</b>\n + <option i18n:translate="" i18n:domain="ui" value="None"\n + tal:attributes="value python:report_root_element[0]"\n + tal:content="structure python:report_root_element[1]">_</option>\n + </tal:block>\n + </tal:block>\n + </select>\n + </td>\n + <td>\n + <tal:block tal:repeat="nb python:range(8)">\n + \n + </tal:block>\n + <tal:block tal:condition="python:planning.main_axis == planning.Y">\n + <tal:block i18n:translate="" i18n:domain="ui"> Y Axis </tal:block>\n + </tal:block>\n + <tal:block tal:condition="python:planning.main_axis != planning.Y">\n + <tal:block i18n:translate="" i18n:domain="ui"> X Axis </tal:block>\n + </tal:block>\n + <tal:block tal:repeat="nb python:range(1)">\n + \n + </tal:block>\n + </td>\n + <td>\n + <b tal:replace="nothing">\n + <!-- page selection need to be implemented here\n + for that will use structure.basic-->\n + </b>\n + <tal:block tal:condition="python:basic.main_axis_info[\'bound_start\']!=0">\n + <b tal:replace="nothing"> previous page exists </b>\n + <input type="image" src="/images/1leftarrowv.png" title="Previous Page" name="" border="0"\n + tal:attributes="src string:${address}/images/1leftarrowv.png;\n + name string:${address}/previousPage:method" />\n + </tal:block>\n + <select name="list_start" title="Change Page" size="1"\n + onChange=""\n + tal:condition="python:basic.main_axis_info[\'bound_page_total\'] > 1"\n + tal:attributes="onChange string:submitAction(this.form,\'${address}/setPage\')">\n + <tal:block tal:repeat="current_page_number python:range(basic.main_axis_info[\'bound_page_total\']+1)[1:]">\n + <tal:block tal:condition="python:current_page_number==basic.main_axis_info[\'bound_page_current\']">\n + <b tal:replace="nothing"> actual page is selected </b>\n + <option selected="selected" value="None"\n + tal:attributes="value python:(current_page_number - 1)*basic.main_axis_info[\'bound_axis_groups\']"\n + tal:content="structure python:str(current_page_number) + \' of \' + str(basic.main_axis_info[\'bound_page_total\'])">page</option>\n + </tal:block>\n + <tal:block tal:condition="python:current_page_number!=basic.main_axis_info[\'bound_page_current\']">\n + <b tal:replace="nothing"> actual page is not selected </b>\n + <option value="None"\n + tal:attributes="value python:(current_page_number - 1)*basic.main_axis_info[\'bound_axis_groups\']"\n + tal:content="structure python:str(current_page_number) + \' of \' + str(basic.main_axis_info[\'bound_page_total\'])">page</option>\n + </tal:block>\n + </tal:block>\n + </select>\n \n -<tal:block tal:define=" basic options/basic;\n - planning options/planning;\n - address python:basic.context.getUrl()">\n -\n -<!-- hidden fields holding some usefull data-->\n -<input type="hidden" name="list_selection_name" value="PlanningView" tal:attributes="value python:basic.field.get_value(\'selection_name\')"/>\n -<!-- setPage needs \'listbox_uid:list\'-->\n -<input type="hidden" name="listbox_uid:list"/>\n -<!-- block_moved_list -->\n -<input type="hidden" name="previous_block_moved" value="None"\n - tal:attributes="value python:basic.REQUEST.get(\'previous_block_moved\',\'\')"/>\n -<input type="hidden" name="block_moved"/>\n -\n -<!-- Planning\'s header -->\n -<div class="planning_box">\n -\n - <table>\n - <tr>\n - <td>\n - <h3 i18n:translate="" i18n:domain="ui">\n - <tal:block tal:replace="structure python:basic.field.get_value(\'title\')"/> </h3>\n - </td>\n - <b tal:replace="nothing"><!-- report path selection --></b>\n - <td>\n - <select name="report_root_url" onChange="submitAction(this.form,\'/setReportRoot\')"\n - tal:attributes="onChange string:submitAction(this.form,\'${address}/setReportRoot\')">\n - <tal:block tal:condition="python:basic.selection is None"\n - tal:define="global selection_report_path python:basic.report_root_list[0][0]"/>\n - <tal:block tal:condition="python:basic.selection is not None"\n - tal:define="global selection_report_path python:basic.selection.report_path"/>\n - <tal:block tal:repeat="report_root_element python:basic.report_root_list">\n - <tal:block tal:condition="python:report_root_element[0]==selection_report_path">\n - <b tal:replace="nothing">actual value is selected</b>\n - <option i18n:translate="" i18n:domain="ui" selected="selected" value="None"\n - tal:attributes="value python:report_root_element[0]"\n - tal:content="structure python:report_root_element[1]">_</option>\n - </tal:block>\n - <tal:block tal:condition="python:report_root_element[0]!=selection_report_path">\n - <b tal:replace="nothing">actual value is not selected</b>\n - <option i18n:translate="" i18n:domain="ui" value="None"\n - tal:attributes="value python:report_root_element[0]"\n - tal:content="structure python:report_root_element[1]">_</option>\n - </tal:block>\n - </tal:block>\n - </select>\n - </td>\n -\n - <td>\n - <tal:block tal:repeat="nb python:range(8)">\n - \n - </tal:block>\n - <tal:block tal:condition="python:planning.main_axis == planning.Y">\n - <tal:block i18n:translate="" i18n:domain="ui"> Y Axis </tal:block>\n - </tal:block>\n - <tal:block tal:condition="python:planning.main_axis != planning.Y">\n - <tal:block i18n:translate="" i18n:domain="ui"> X Axis </tal:block>\n - </tal:block>\n - <tal:block tal:repeat="nb python:range(1)">\n - \n - </tal:block>\n - </td>\n + <tal:block tal:condition="python:basic.main_axis_info[\'bound_stop\']!=basic.main_axis_info[\'bound_end\']">\n + <b tal:replace="nothing"> next page exists </b>\n + <input type="image" src="/images/1rightarrowv.png" title="Next Page" name="" border="0"\n + tal:attributes="src string:${address}/images/1rightarrowv.png;\n + name string:${address}/nextPage:method" />\n + </tal:block>\n + </td>\n \n - <td>\n - <b tal:replace="nothing">\n - <!-- page selection need to be implemented here\n - for that will use structure.basic-->\n - </b>\n - <tal:block tal:condition="python:basic.main_axis_info[\'bound_start\']!=0">\n - <b tal:replace="nothing"> previous page exists </b>\n - <input type="image" src="/images/1leftarrowv.png" title="Previous Page" name="" border="0"\n - tal:attributes="src string:${address}/images/1leftarrowv.png;\n - name string:${address}/previousPage:method"/>\n - </tal:block>\n + <td>\n + <tal:block tal:repeat="nb python:range(8)">\n + \n + </tal:block>\n + <tal:block tal:condition="python:planning.main_axis == planning.Y">\n + <tal:block i18n:translate="" i18n:domain="ui"> X Axis </tal:block>\n + </tal:block>\n + <tal:block tal:condition="python:planning.main_axis != planning.Y">\n + <tal:block i18n:translate="" i18n:domain="ui"> Y Axis </tal:block>\n + </tal:block>\n + <tal:block tal:repeat="nb python:range(1)">\n + \n + </tal:block>\n + </td>\n + <td>\n \n - <select name="list_start" title="Change Page" size="1"\n - onChange=""\n - tal:condition="python:basic.main_axis_info[\'bound_page_total\'] > 1"\n - tal:attributes="onChange string:submitAction(this.form,\'${address}/setPage\')">\n - <tal:block tal:repeat="current_page_number python:range(basic.main_axis_info[\'bound_page_total\']+1)[1:]">\n - <tal:block tal:condition="python:current_page_number==basic.main_axis_info[\'bound_page_current\']">\n - <b tal:replace="nothing"> actual page is selected </b>\n - <option selected="selected" value="None"\n - tal:attributes="value python:(current_page_number - 1)*basic.main_axis_info[\'bound_axis_groups\']"\n - tal:content="structure python:str(current_page_number) + \' of \' + str(basic.main_axis_info[\'bound_page_total\'])">page</option>\n - </tal:block>\n - <tal:block tal:condition="python:current_page_number!=basic.main_axis_info[\'bound_page_current\']">\n - <b tal:replace="nothing"> actual page is not selected </b>\n - <option value="None"\n - tal:attributes="value python:(current_page_number - 1)*basic.main_axis_info[\'bound_axis_groups\']"\n - tal:content="structure python:str(current_page_number) + \' of \' + str(basic.main_axis_info[\'bound_page_total\'])">page</option>\n + <!-- processing zoom level select -->\n + <select name="zoom_level" title="Change Zoom Level" size="1"\n + onChange=""\n + tal:attributes="onChange string:submitAction(this.form,\'${address}/setZoomLevel\')">\n + <tal:block tal:condition="python:not basic.field.get_value(\'use_date_zoom\')">\n + <tal:block tal:repeat="current_zoom_level python:[0.1,0.25,0.5,1,2,3,4,8,12,16,32,64]">\n + <tal:block tal:condition="python:current_zoom_level==basic.secondary_axis_info[\'zoom_level\']">\n + <b tal:replace="nothing"> current zoom level is selected </b>\n + <option selected="selected" value="None"\n + tal:attributes="value python:current_zoom_level"\n + tal:content="structure python:\'Zoom %sx\' % current_zoom_level">Zoom level</option>\n + </tal:block>\n + <tal:block tal:condition="python:current_zoom_level!=basic.secondary_axis_info[\'zoom_level\']">\n + <b tal:replace="nothing"> current zoom level is not selected </b>\n + <option value="None"\n + tal:attributes="value python:current_zoom_level"\n + tal:content="structure python:\'Zoom %sx\' % current_zoom_level">Zoom level</option>\n + </tal:block>\n + </tal:block>\n + </tal:block>\n + <tal:block tal:condition="python:basic.field.get_value(\'use_date_zoom\')">\n + <!-- Defining Date Zoom Level -->\n + <!-- XXX This part has to be improved -->\n + <tal:block tal:repeat="current_zoom_level python:[ [i.getTitle() , i.getIntIndex() ] for i in context.portal_categories.zoom.contentValues(sort_on=\'int_index\') ]">\n + <tal:block tal:condition="python:current_zoom_level[1]==basic.secondary_axis_info[\'zoom_level\']">\n + <b tal:replace="nothing"> current zoom level is selected </b>\n + <option selected="selected" value="None"\n + tal:attributes="value python:current_zoom_level[1]"\n + i18n:translate="" i18n:domain="ui"\n + tal:content="structure python:str(current_zoom_level[0])">Zoom level</option>\n + </tal:block>\n + <tal:block tal:condition="python:current_zoom_level[1]!=basic.secondary_axis_info[\'zoom_level\']">\n + <b tal:replace="nothing"> current zoom level is not selected </b>\n + <option value="None"\n + tal:attributes="value python:current_zoom_level[1]"\n + i18n:translate="" i18n:domain="ui"\n + tal:content="structure python:str(current_zoom_level[0])">Zoom level</option>\n + </tal:block>\n + </tal:block>\n + </tal:block>\n + </select>\n + <tal:block tal:condition="python:basic.field.get_value(\'use_date_zoom\')"\n + tal:define="form_id python:\'%s\' % (basic.form.id);\n + selection_name python:basic.field.get_value(\'selection_name\');\n + zoom_level python:basic.secondary_axis_info[\'zoom_level\'];\n + today python:\'%s/%s/%s\' % (str(DateTime().year()), str(DateTime().month()),str(DateTime().day()))">\n + <a tal:attributes="href python: \'%s/setZoomLevel?form_id=%s&list_selection_name=%s&zoom_date_start=%s\'\n + % (context.absolute_url(), form_id,selection_name,today)">\n + <img src="/images/jump.png" title="Jump to Current Day" name="JumpToCurrentDay"\n + tal:attributes="src string:${address}/images/jump.png;" />\n + </a>\n + </tal:block>\n + </td>\n + </tr>\n + </table>\n + <!-- div class="planning_box" -->\n + <!-- planning structure (axis and group representation)-->\n + <div tal:repeat="axis python:(planning.main_axis,planning.secondary_axis)"\n + tal:attributes="id python:axis.name">\n + <!-- groups of the current axis-->\n + <tal:block tal:repeat="axis_group python:axis.axis_group">\n + <div tal:attributes="id python:axis_group.name;\n + title python:axis_group.tooltip">\n + <!-- title of the current group-->\n + <a tal:attributes="href python:axis_group.info_title.link;\n + id python:axis_group.name + \'_info\'">\n + <tal:block tal:content="python:axis_group.info_title.title" />\n + </a>\n + </div>\n + <!-- depth of the current group -->\n + <div tal:repeat="depth python:range(axis_group.depth)"\n + tal:attributes="id python: axis_group.name + \'_depth_\' + str(depth)">\n + </div>\n </tal:block>\n - </tal:block>\n - </select>\n -\n - <tal:block tal:condition="python:basic.main_axis_info[\'bound_stop\']!=basic.main_axis_info[\'bound_end\']">\n - <b tal:replace="nothing"> next page exists </b>\n - <input type="image" src="/images/1rightarrowv.png" title="Next Page" name="" border="0"\n - tal:attributes="src string:${address}/images/1rightarrowv.png;\n - name string:${address}/nextPage:method"/>\n - </tal:block>\n - </td>\n -\n - <td>\n - <tal:block tal:repeat="nb python:range(8)">\n - \n - </tal:block>\n - <tal:block tal:condition="python:planning.main_axis == planning.Y">\n - <tal:block i18n:translate="" i18n:domain="ui"> X Axis </tal:block>\n - </tal:block>\n - <tal:block tal:condition="python:planning.main_axis != planning.Y">\n - <tal:block i18n:translate="" i18n:domain="ui"> Y Axis </tal:block>\n - </tal:block>\n - <tal:block tal:repeat="nb python:range(1)">\n - \n - </tal:block>\n - </td>\n - <td>\n -\n - <!-- processing zoom level select -->\n - <select name="zoom_level" title="Change Zoom Level" size="1"\n - onChange=""\n - tal:attributes="onChange string:submitAction(this.form,\'${address}/setZoomLevel\')">\n - <tal:block tal:condition="python:not basic.field.get_value(\'use_date_zoom\')">\n - <tal:block tal:repeat="current_zoom_level python:[0.1,0.25,0.5,1,2,3,4,8,12,16,32,64]">\n - <tal:block tal:condition="python:current_zoom_level==basic.secondary_axis_info[\'zoom_level\']">\n - <b tal:replace="nothing"> current zoom level is selected </b>\n - <option selected="selected" value="None"\n - tal:attributes="value python:current_zoom_level"\n - tal:content="structure python:\'Zoom %sx\' % current_zoom_level">Zoom level</option>\n + <tal:condition tal:condition="python:axis==planning.X">\n + <tal:block tal:define="global previous_src string:${address}/images/1leftarrowv.png;\n + global next_src string:${address}/images/1rightarrowv.png">\n + </tal:block>\n + </tal:condition>\n + <tal:condition tal:condition="python:axis==planning.Y">\n + <tal:block tal:define="global previous_src string:${address}/images/1toparrow.png;\n + global next_src string:${address}/images/1bottomarrow.png">\n + </tal:block>\n + </tal:condition>\n + <!-- widgets of the current axis -->\n + <tal:block tal:condition="python:axis==planning.main_axis">\n + <!-- current axis is main axis-->\n + <tal:block tal:condition="python:basic.main_axis_info[\'bound_start\']!=0">\n + <!-- previous page exists -->\n + <input type="image" src="/images/1leftarrowv.png" title="Previous Page" name="" border="0"\n + tal:attributes="src previous_src;\n + name string:${address}/previousPage:method;\n + id python:axis.name + \'_previous\'" />\n </tal:block>\n - <tal:block tal:condition="python:current_zoom_level!=basic.secondary_axis_info[\'zoom_level\']">\n - <b tal:replace="nothing"> current zoom level is not selected </b>\n - <option value="None"\n - tal:attributes="value python:current_zoom_level"\n - tal:content="structure python:\'Zoom %sx\' % current_zoom_level">Zoom level</option>\n + <tal:block tal:condition="python:basic.main_axis_info[\'bound_stop\']!=basic.main_axis_info[\'bound_end\']">\n + <!-- next page exists -->\n + <input type="image" src="/images/1rightarrowv.png" title="Next Page" name="" border="0"\n + tal:attributes="src next_src;\n + name string:${address}/nextPage:method;\n + id python:axis.name + \'_next\'" />\n </tal:block>\n + <!-- inserting depth widget -->\n + <div tal:condition= "python:axis==planning.X"\n + tal:define="url python:\'%s/%s\' % (basic.context.absolute_url(),basic.form.id);\n + selection_name python:basic.field.get_value(\'selection_name\')"\n + tal:attributes="id python:axis.name + \'_depth\'">\n + <a tal:repeat="unfold_level python:range(0,4)"\n + tal:attributes="href python:\'%s?selection_index=&selection_name=%s&ignore_layout:int=0&report_depth:int=%s\' % (url,selection_name,unfold_level)"\n + tal:content="structure python:str(unfold_level) + \'<br>\'">\n + 0\n + </a>\n + </div>\n + <div tal:condition= "python:axis==planning.Y"\n + tal:define="url python:\'%s/%s\' % (basic.context.absolute_url(),basic.form.id);\n + selection_name python:basic.field.get_value(\'selection_name\')"\n + tal:attributes="id python:axis.name + \'_depth\'">\n + <a tal:repeat="unfold_level python:range(0,4)"\n + tal:attributes="href python:\'%s?selection_index=&selection_name=%s&ignore_layout:int=0&report_depth:int=%s\' % (url,selection_name,unfold_level)"\n + tal:content="structure python:str(unfold_level) + \' \'">\n + 0\n + </a>\n + </div>\n </tal:block>\n - </tal:block>\n - <tal:block tal:condition="python:basic.field.get_value(\'use_date_zoom\')">\n - <!-- Defining Date Zoom Level -->\n - <!-- XXX This part has to be improved -->\n - <tal:block tal:repeat="current_zoom_level python:[ [i.getTitle() , i.getIntIndex() ] for i in context.portal_categories.zoom.contentValues(sort_on=\'int_index\') ]">\n - <tal:block tal:condition="python:current_zoom_level[1]==basic.secondary_axis_info[\'zoom_level\']">\n - <b tal:replace="nothing"> current zoom level is selected </b>\n - <option selected="selected" value="None"\n - tal:attributes="value python:current_zoom_level[1]"\n - i18n:translate="" i18n:domain="ui"\n - tal:content="structure python:str(current_zoom_level[0])">Zoom level</option>\n - </tal:block>\n - <tal:block tal:condition="python:current_zoom_level[1]!=basic.secondary_axis_info[\'zoom_level\']">\n - <b tal:replace="nothing"> current zoom level is not selected </b>\n - <option value="None"\n - tal:attributes="value python:current_zoom_level[1]"\n - i18n:translate="" i18n:domain="ui"\n - tal:content="structure python:str(current_zoom_level[0])">Zoom level</option>\n - </tal:block>\n + <tal:block tal:condition="python:axis==planning.secondary_axis">\n + <!-- Zoom page-->\n + <!-- tal:block tal:condition="python:basic.secondary_axis_info[\'zoom_start\']!=0" -->\n + <!-- previous page exists -->\n + <input type="image" src="/images/1leftarrowv.png" title="Previous Zoom Page" name="" border="0"\n + tal:attributes="src previous_src;\n + name string:${address}/previousZoom:method;\n + id python:axis.name + \'_previous\'" />\n + <!-- /tal:block -->\n + <!-- tal:block tal:condition="python:basic.secondary_axis_info[\'zoom_start\']!=(basic.secondary_axis_info[\'zoom_level\'] - 1) and basic.secondary_axis_info[\'zoom_level\'] > 1" -->\n + <!-- next page exists -->\n + <input type="image" src="/images/1rightarrowv.png" title="Next Zoom Page" name="" border="0"\n + tal:attributes="src next_src;\n + name string:${address}/nextZoom:method;\n + id python:axis.name + \'_next\'" />\n + <!-- /tal:block -->\n </tal:block>\n - </tal:block>\n - </select>\n - <tal:block tal:condition="python:basic.field.get_value(\'use_date_zoom\')"\n - tal:define="form_id python:\'%s\' % (basic.form.id);\n - selection_name python:basic.field.get_value(\'selection_name\');\n - zoom_level python:basic.secondary_axis_info[\'zoom_level\'];\n - today python:\'%s/%s/%s\' % (str(DateTime().year()), str(DateTime().month()),str(DateTime().day()))">\n - <a tal:attributes="href python: \'%s/setZoomLevel?form_id=%s&list_selection_name=%s&zoom_date_start=%s\'\n - % (context.absolute_url(), form_id,selection_name,today)">\n - <img src="/images/jump.png" title="Jump to Current Day" name="JumpToCurrentDay" \n - tal:attributes="src string:${address}/images/jump.png;" />\n - </a> \n - </tal:block> \n - </td>\n - </tr>\n -</table>\n -\n -<!-- div class="planning_box" -->\n -<!-- planning structure (axis and group representation)-->\n -<div tal:repeat="axis python:(planning.main_axis,planning.secondary_axis)"\n - tal:attributes="id python:axis.name">\n - <!-- groups of the current axis-->\n - <tal:block tal:repeat="axis_group python:axis.axis_group">\n - <div tal:attributes="id python:axis_group.name;\n - title python:axis_group.tooltip">\n - <!-- title of the current group-->\n - <a tal:attributes="href python:axis_group.info_title.link;\n - id python:axis_group.name + \'_info\'">\n - <tal:block tal:content="python:axis_group.info_title.title" />\n - </a>\n - </div>\n -\n - <!-- depth of the current group -->\n - <div tal:repeat="depth python:range(axis_group.depth)"\n - tal:attributes="id python: axis_group.name + \'_depth_\' + str(depth)">\n - </div>\n - </tal:block>\n -\n - <tal:condition tal:condition="python:axis==planning.X">\n - <tal:block tal:define="global previous_src string:${address}/images/1leftarrowv.png;\n - global next_src string:${address}/images/1rightarrowv.png">\n - </tal:block>\n - </tal:condition>\n - <tal:condition tal:condition="python:axis==planning.Y">\n - <tal:block tal:define="global previous_src string:${address}/images/1toparrow.png;\n - global next_src string:${address}/images/1bottomarrow.png">\n - </tal:block>\n - </tal:condition>\n -\n - <!-- widgets of the current axis -->\n - <tal:block tal:condition="python:axis==planning.main_axis">\n - <!-- current axis is main axis-->\n - <tal:block tal:condition="python:basic.main_axis_info[\'bound_start\']!=0">\n - <!-- previous page exists -->\n - <input type="image" src="/images/1leftarrowv.png" title="Previous Page" name="" border="0"\n - tal:attributes="src previous_src;\n - name string:${address}/previousPage:method;\n - id python:axis.name + \'_previous\'"/>\n - </tal:block>\n - <tal:block tal:condition="python:basic.main_axis_info[\'bound_stop\']!=basic.main_axis_info[\'bound_end\']">\n - <!-- next page exists -->\n - <input type="image" src="/images/1rightarrowv.png" title="Next Page" name="" border="0"\n - tal:attributes="src next_src;\n - name string:${address}/nextPage:method;\n - id python:axis.name + \'_next\'"/>\n - </tal:block>\n -\n - <!-- inserting depth widget -->\n - <div tal:condition= "python:axis==planning.X"\n - tal:define="url python:\'%s/%s\' % (basic.context.absolute_url(),basic.form.id);\n - selection_name python:basic.field.get_value(\'selection_name\')"\n - tal:attributes="id python:axis.name + \'_depth\'">\n - <a tal:repeat="unfold_level python:range(0,4)"\n - tal:attributes="href python:\'%s?selection_index=&selection_name=%s&ignore_layout:int=0&report_depth:int=%s\' % (url,selection_name,unfold_level)"\n - tal:content="structure python:str(unfold_level) + \'<br>\'">\n - 0\n - </a>\n - </div>\n -\n - <div tal:condition= "python:axis==planning.Y"\n - tal:define="url python:\'%s/%s\' % (basic.context.absolute_url(),basic.form.id);\n - selection_name python:basic.field.get_value(\'selection_name\')"\n - tal:attributes="id python:axis.name + \'_depth\'">\n - <a tal:repeat="unfold_level python:range(0,4)"\n - tal:attributes="href python:\'%s?selection_index=&selection_name=%s&ignore_layout:int=0&report_depth:int=%s\' % (url,selection_name,unfold_level)"\n - tal:content="structure python:str(unfold_level) + \' \'">\n - 0\n - </a>\n - </div>\n -\n - </tal:block>\n - <tal:block tal:condition="python:axis==planning.secondary_axis">\n - <!-- Zoom page-->\n - <!-- tal:block tal:condition="python:basic.secondary_axis_info[\'zoom_start\']!=0" -->\n - <!-- previous page exists -->\n - <input type="image" src="/images/1leftarrowv.png" title="Previous Zoom Page" name="" border="0"\n - tal:attributes="src previous_src;\n - name string:${address}/previousZoom:method;\n - id python:axis.name + \'_previous\'"/>\n - <!-- /tal:block -->\n - <!-- tal:block tal:condition="python:basic.secondary_axis_info[\'zoom_start\']!=(basic.secondary_axis_info[\'zoom_level\'] - 1) and basic.secondary_axis_info[\'zoom_level\'] > 1" -->\n - <!-- next page exists -->\n - <input type="image" src="/images/1rightarrowv.png" title="Next Zoom Page" name="" border="0"\n - tal:attributes="src next_src;\n - name string:${address}/nextZoom:method;\n - id python:axis.name + \'_next\'"/>\n - <!-- /tal:block -->\n - </tal:block>\n -</div>\n -\n -<!-- planning content-->\n -<div class="planning_content">\n - <!-- display main axis lines -->\n - <tal:block tal:repeat="axis_group python:planning.main_axis.axis_group">\n - <div tal:attributes="id python:axis_group.name + \'_line\'"></div>\n - <b tal:replace="nothing">\n - <!-- display main axis sub_lines if necessary --></b>\n - <tal:block tal:condition="python:axis_group.axis_element_number > 1">\n - <div tal:repeat="axis_element_number python:range(axis_group.axis_element_number)[1:]"\n - tal:attributes="id python:axis_group.name + \'_line_\' + str(axis_element_number)">\n - </div>\n - </tal:block>\n -\n - </tal:block>\n -\n - <!-- display secondary axis lines -->\n - <div tal:repeat="axis_group python:planning.secondary_axis.axis_group"\n - tal:attributes="id python:axis_group.name + \'_line\'"></div>\n -\n - <!-- display blocks -->\n - <tal:block tal:repeat="block python:planning.content">\n - <div tal:condition="python:block.property_dict[\'stat\']== 0"\n - tal:attributes="id python:block.name;\n - ondblclick string:showGrips();\n - title python:block.title;\n - style python:\'text-align:center\'">\n - <tal:block tal:condition="python:block.zone == 1">\n - <tal:block tal:repeat="area python:block.info.keys()">\n - <tal:block tal:define="info_area python:area.split(\'_\')[1]">\n - <!-- tal:attributes="id python:info_area"> <! python:block.name + \'_\' + area"-->\n - <tal:block tal:condition="python:block.info[area].info != \'\'">\n - <tal:block tal:condition="python:info_area!=\'center\'">\n - <a tal:condition="python:block.info[area].info != \'__\'"\n - tal:content="python:block.info[area].info"\n - tal:attributes="href python:block.info[area].link;\n - class python:\'planning_box_\' + info_area">\n - </a>\n - \n - <a tal:condition="python:block.info[area].info == \'__\'"\n - tal:attributes="href python:block.info[area].link;\n - class python:\'planning_box_\' + info_area">\n - <img tal:attributes="src python:basic.context.getUrl() + \'/images/question.png\'"\n - height="15" width="15">\n - </a>\n - </tal:block>\n - <tal:block tal:condition="python:info_area==\'center\'" >\n - <div tal:attributes="class python:\'planning_box_\' + info_area">\n - <a tal:condition="python:block.info[area].info != \'__\'"\n - tal:content="python:block.info[area].info"\n - tal:attributes="href python:block.info[area].link">\n - </a>\n - <a tal:condition="python:block.info[area].info == \'__\'"\n - tal:attributes="href python:block.info[area].link"\n - tal:content="python:\'.\'">\n - <!-- not used any more\n - <img tal:attributes="src python:basic.here.getUrl() + \'/images/question.png\'"\n - height="15" width="15">\n - -->\n - </a>\n - </div>\n - </tal:block>\n + </div>\n + <!-- planning content-->\n + <div class="planning_content">\n + <!-- display main axis lines -->\n + <tal:block tal:repeat="axis_group python:planning.main_axis.axis_group">\n + <div tal:attributes="id python:axis_group.name + \'_line\'"></div>\n + <b tal:replace="nothing">\n + <!-- display main axis sub_lines if necessary --></b>\n + <tal:block tal:condition="python:axis_group.axis_element_number > 1">\n + <div tal:repeat="axis_element_number python:range(axis_group.axis_element_number)[1:]"\n + tal:attributes="id python:axis_group.name + \'_line_\' + str(axis_element_number)">\n + </div>\n </tal:block>\n </tal:block>\n - </tal:block>\n - </tal:block>\n - </div>\n - <div tal:condition="python:block.property_dict[\'stat\']== 1"\n - tal:attributes="id python:block.name;\n - title python:block.title">\n + <!-- display secondary axis lines -->\n + <div tal:repeat="axis_group python:planning.secondary_axis.axis_group"\n + tal:attributes="id python:axis_group.name + \'_line\'"></div>\n + <!-- display blocks -->\n + <tal:block tal:repeat="block python:planning.content">\n + <div tal:condition="python:block.property_dict[\'stat\']== 0"\n + tal:attributes="id python:block.name;\n + ondblclick string:showGrips();\n + title python:block.title;\n + style python:\'text-align:center\'">\n + <tal:block tal:condition="python:block.zone == 1">\n + <tal:block tal:repeat="area python:block.info.keys()">\n + <tal:block tal:define="info_area python:area.split(\'_\')[1]">\n + <!-- tal:attributes="id python:info_area"> <! python:block.name + \'_\' + area"-->\n + <tal:block tal:condition="python:block.info[area].info != \'\'">\n + <tal:block tal:condition="python:info_area!=\'center\'">\n + <a tal:condition="python:block.info[area].info != \'__\'"\n + tal:content="python:block.info[area].info"\n + tal:attributes="href python:block.info[area].link;\n + class python:\'planning_box_\' + info_area">\n + </a>\n + <a tal:condition="python:block.info[area].info == \'__\'"\n + tal:attributes="href python:block.info[area].link;\n + class python:\'planning_box_\' + info_area">\n + <img tal:attributes="src python:basic.context.getUrl() + \'/images/question.png\'"\n + height="15" width="15" />\n + </a>\n + </tal:block>\n + <tal:block tal:condition="python:info_area==\'center\'">\n + <div tal:attributes="class python:\'planning_box_\' + info_area">\n + <a tal:condition="python:block.info[area].info != \'__\'"\n + tal:content="python:block.info[area].info"\n + tal:attributes="href python:block.info[area].link">\n + </a>\n + <a tal:condition="python:block.info[area].info == \'__\'"\n + tal:attributes="href python:block.info[area].link"\n + tal:content="python:\'.\'">\n + <!-- not used any more\n + <img tal:attributes="src python:basic.here.getUrl() + \'/images/question.png\'"\n + height="15" width="15" />\n + -->\n + </a>\n + </div>\n + </tal:block>\n + </tal:block>\n + </tal:block>\n + </tal:block>\n + </tal:block>\n + </div>\n + <div tal:condition="python:block.property_dict[\'stat\']== 1"\n + tal:attributes="id python:block.name;\n + title python:block.title">\n + </div>\n + </tal:block>\n + </div>\n + <!-- generic div used for redimensionning-->\n + <div id="top" style="position:absolute; width:5px;height:5px; background:#a45d10"></div>\n + <div id="right" style="position:absolute; width:5px;height:5px; background:#a45d10"></div>\n + <div id="bottom" style="position:absolute; width:5px;height:5px; background:#a45d10"></div>\n + <div id="left" style="position:absolute; width:5px;height:5px; background:#a45d10"></div>\n + <!-- declaring DTML properties -->\n + <tal:block tal:replace="structure python:context.planning_dhtml(planning=planning)" />\n + <!--/div-->\n </div>\n </tal:block>\n -</div>\n -\n -<!-- generic div used for redimensionning-->\n -<div id="top" style="position:absolute; width:5px;height:5px; background:#a45d10"></div>\n -<div id="right" style="position:absolute; width:5px;height:5px; background:#a45d10"></div>\n -<div id="bottom" style="position:absolute; width:5px;height:5px; background:#a45d10"></div>\n -<div id="left" style="position:absolute; width:5px;height:5px; background:#a45d10"></div>\n -\n -<!-- declaring DTML properties -->\n -<tal:block tal:replace="structure python:context.planning_dhtml(planning=planning)"/>\n -\n -<!--/div-->\n -</div>\n </tal:block>\n diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/quad_form_view.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/quad_form_view.xml index dc29686ce2082fb0f8e7a7cf49151b84eb917bcd..37c12c2aa30d13b268dfbbfe9a7792967552d086 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/quad_form_view.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/quad_form_view.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.PageTemplates.ZopePageTemplate</string> - <string>ZopePageTemplate</string> - </tuple> - <none/> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + <tuple/> </tuple> </pickle> <pickle> @@ -54,85 +51,66 @@ <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 +<tal:block 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@nexedi.com>\n - Christophe Dumez <christophe@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_main/macros/master">\n - <tal:block metal:fill-slot="main">\n - <tal:block tal:define="field_errors python: request.get(\'field_errors\',{});\n - dummy python: request.set(\'here\', here);\n - left_group python: form.get_fields_in_group(\'left\');\n - right_group python: form.get_fields_in_group(\'right\');\n - center_left_group python: form.get_fields_in_group(\'center_left\');\n - center_right_group python: form.get_fields_in_group(\'center_right\');\n - bottom_group python: form.get_fields_in_group(\'bottom\');\n - field_render nocall: here/field_render/macros/field_render">\n - <tal:block tal:condition="preferred_html_style_developper_mode">\n - <tal:block metal:use-macro="developper_shortcut_render/macros/form" />\n - </tal:block>\n - <div tal:condition="python: len(left_group) > 0 or len(right_group) > 0"\n - class="top_group">\n - <fieldset tal:condition="python: len(left_group) > 0"\n - class="left">\n - <tal:block tal:repeat="field left_group">\n - <tal:block metal:use-macro="field_render" />\n - </tal:block>\n - </fieldset>\n - <fieldset tal:condition="python: len(right_group) > 0"\n - class="right">\n - <tal:block tal:repeat="field right_group">\n - <tal:block metal:use-macro="field_render" />\n - </tal:block>\n - </fieldset>\n - <p class="clear"></p>\n - </div>\n - <div tal:condition="python: len(center_left_group) > 0 or len(center_right_group) > 0"\n - class="top_group">\n - <fieldset tal:condition="python: len(center_left_group) > 0"\n - class="left">\n - <tal:block tal:repeat="field center_left_group">\n - <tal:block metal:use-macro="field_render" />\n - </tal:block>\n - </fieldset>\n - <fieldset tal:condition="python: len(center_right_group) > 0"\n - class="right">\n - <tal:block tal:repeat="field center_right_group">\n + <tal:block metal:use-macro="here/view_main/macros/master">\n + <tal:block metal:fill-slot="main">\n + <tal:block tal:define="field_errors python: request.get(\'field_errors\',{});\n + dummy python: request.set(\'here\', here);\n + left_group python: form.get_fields_in_group(\'left\');\n + right_group python: form.get_fields_in_group(\'right\');\n + center_left_group python: form.get_fields_in_group(\'center_left\');\n + center_right_group python: form.get_fields_in_group(\'center_right\');\n + bottom_group python: form.get_fields_in_group(\'bottom\');\n + field_render nocall: here/field_render/macros/field_render">\n + <tal:block tal:condition="preferred_html_style_developper_mode">\n + <tal:block metal:use-macro="developper_shortcut_render/macros/form" />\n + </tal:block>\n + <div tal:condition="python: len(left_group) > 0 or len(right_group) > 0"\n + class="top_group">\n + <fieldset tal:condition="python: len(left_group) > 0"\n + class="left">\n + <tal:block tal:repeat="field left_group">\n + <tal:block metal:use-macro="field_render" />\n + </tal:block>\n + </fieldset>\n + <fieldset tal:condition="python: len(right_group) > 0"\n + class="right">\n + <tal:block tal:repeat="field right_group">\n + <tal:block metal:use-macro="field_render" />\n + </tal:block>\n + </fieldset>\n + <p class="clear"></p>\n + </div>\n + <div tal:condition="python: len(center_left_group) > 0 or len(center_right_group) > 0"\n + class="top_group">\n + <fieldset tal:condition="python: len(center_left_group) > 0"\n + class="left">\n + <tal:block tal:repeat="field center_left_group">\n + <tal:block metal:use-macro="field_render" />\n + </tal:block>\n + </fieldset>\n + <fieldset tal:condition="python: len(center_right_group) > 0"\n + class="right">\n + <tal:block tal:repeat="field center_right_group">\n + <tal:block metal:use-macro="field_render" />\n + </tal:block>\n + </fieldset>\n + <p class="clear"></p>\n + </div>\n + <fieldset tal:condition="python: len(bottom_group) > 0"\n + class="center">\n + <tal:block tal:repeat="field python: form.get_fields_in_group(\'bottom\')">\n <tal:block metal:use-macro="field_render" />\n </tal:block>\n + <p class="clear"></p>\n </fieldset>\n - <p class="clear"></p>\n - </div>\n - <fieldset tal:condition="python: len(bottom_group) > 0"\n - class="center">\n - <tal:block tal:repeat="field python: form.get_fields_in_group(\'bottom\')">\n - <tal:block metal:use-macro="field_render" />\n - </tal:block>\n - <p class="clear"></p>\n - </fieldset>\n + </tal:block>\n </tal:block>\n </tal:block>\n -</tal:block> +</tal:block>\n + ]]></string> </value> </item> diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/relation_form.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/relation_form.xml index e7f20e1a0ce11f0ea34028d219a5f72c53b85732..6b77fa0f8ef0d8af945c9b8dd6d284ff1c9c0fac 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/relation_form.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/relation_form.xml @@ -51,34 +51,14 @@ <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 +<tal:block 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@nexedi.com>\n - Christophe Dumez <christophe@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:define-macro="master">\n - <tal:block tal:define="local_parameter_list local_parameter_list | python: {};\n - dummy python: local_parameter_list.update({\'field_id\': request[\'field_id\'], \'form_pickle\': request[\'form_pickle\'], \'form_signature\': request[\'form_signature\']});">\n - <tal:block metal:use-macro="here/form_dialog/macros/master" />\n + <tal:block metal:define-macro="master">\n + <tal:block tal:define="local_parameter_list local_parameter_list | python: {};\n + dummy python: local_parameter_list.update({\'field_id\': request[\'field_id\'], \'form_pickle\': request[\'form_pickle\'], \'form_signature\': request[\'form_signature\']});">\n + <tal:block metal:use-macro="here/form_dialog/macros/master" />\n + </tal:block>\n </tal:block>\n </tal:block>\n diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/report_view.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/report_view.xml index 31e034e7876481ebf481362486e2d7e460d9b5dd..14945c0bf8b7306577fd2c13ab4ec5e703acbe88 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/report_view.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/report_view.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.PageTemplates.ZopePageTemplate</string> - <string>ZopePageTemplate</string> - </tuple> - <none/> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + <tuple/> </tuple> </pickle> <pickle> @@ -54,47 +51,27 @@ <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 +<tal:block 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@nexedi.com>\n - Christophe Dumez <christophe@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 tal:define="title string:${template/title_or_id} - ${here/Title}">\n - <tal:block metal:use-macro="here/view_main/macros/master">\n - <tal:block metal:fill-slot="main">\n - <tal:block metal:use-macro="here/form_render/macros/master" />\n - <tal:block tal:define="portal_object here/getPortalObject">\n - <tal:block tal:repeat="report_item report_method">\n - <tal:block tal:define="here python: report_item.getObject(portal_object);\n - dummy python: report_item.pushReport(portal_object)">\n - <span tal:condition="report_item/getTitle"\n - tal:content="report_item/getTitle"\n - tal:attributes="class string:report_title_level_${report_item/getLevel}"/>\n - <tal:block tal:condition="report_item/getFormId">\n - <tal:block tal:define="form python:getattr(here,report_item.getFormId())" >\n - <tal:block metal:use-macro="here/form_render/macros/master" />\n + <tal:block tal:define="title string:${template/title_or_id} - ${here/Title}">\n + <tal:block metal:use-macro="here/view_main/macros/master">\n + <tal:block metal:fill-slot="main">\n + <tal:block metal:use-macro="here/form_render/macros/master" />\n + <tal:block tal:define="portal_object here/getPortalObject">\n + <tal:block tal:repeat="report_item report_method">\n + <tal:block tal:define="here python: report_item.getObject(portal_object);\n + dummy python: report_item.pushReport(portal_object)">\n + <span tal:condition="report_item/getTitle"\n + tal:content="report_item/getTitle"\n + tal:attributes="class string:report_title_level_${report_item/getLevel}" />\n + <tal:block tal:condition="report_item/getFormId">\n + <tal:block tal:define="form python:getattr(here,report_item.getFormId())" >\n + <tal:block metal:use-macro="here/form_render/macros/master" />\n + </tal:block>\n </tal:block>\n + <tal:block tal:define="dummy python:report_item.popReport(portal_object)" />\n </tal:block>\n - <tal:block tal:define="dummy python:report_item.popReport(portal_object)" />\n </tal:block>\n </tal:block>\n </tal:block>\n diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/sort_list_dialog.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/sort_list_dialog.xml index 287047dce7351d859aab01733b700b55c2bcbcbe..26dbeafa0c0044e17612e7fa005e772d3b8841d8 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/sort_list_dialog.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/sort_list_dialog.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.PageTemplates.ZopePageTemplate</string> - <string>ZopePageTemplate</string> - </tuple> - <none/> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + <tuple/> </tuple> </pickle> <pickle> @@ -54,90 +51,70 @@ <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 +<tal:block 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@nexedi.com>\n - Christophe Dumez <christophe@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:define-macro="master">\n - <tal:block metal:use-macro="here/dialog_main/macros/master">\n - <tal:block metal:fill-slot="main">\n - <div class="dialog_box">\n - <tal:block tal:condition="preferred_html_style_developper_mode">\n - <tal:block metal:use-macro="developper_shortcut_render/macros/form"/>\n - </tal:block>\n - <div class="content"\n - tal:define="items python:here.portal_selections.getSelectionSortOrder(request[\'selection_name\'], REQUEST=request);\n - base_form python:getattr(here,request[\'form_id\']);\n - groups base_form/get_groups;\n - listbox python:base_form.Form_getListbox();\n - columns python:listbox.get_value(\'all_columns\');\n - global row_index python:0;\n - global row_keys python:[\'None\'];\n - all_columns python: [(\'None\',\'\')] + columns;">\n - <div tal:repeat="item items"\n - class="field">\n - <label tal:define="global row_index python:row_index+1">\n - <tal:block i18n:translate="" i18n:domain="ui">Sort</tal:block>\n - <tal:block tal:replace="row_index" />\n - </label>\n - <div class="input" tal:attributes="id string:sort_${row_index}"\n - tal:define="sort_type python:((len(item) > 2) and item[2]) or \'\'">\n - <select name="field_sort_on">\n - <tal:block tal:repeat="option all_columns">\n - <option tal:content="python:option[1]"\n - tal:attributes="value python:option[0];\n - selected python:option[0]==item[0] and \'selected\' or nothing"\n - i18n:translate="" i18n:domain="ui"></option>\n - </tal:block>\n - </select>\n - <tal:block tal:replace="structure python:form.sort_order.render(item[1], request)" />\n - <tal:block tal:replace="structure python:form.sort_type.render(sort_type, request)" />\n - </div>\n - <p class="clear"></p>\n - </div>\n - <div tal:repeat="item columns"\n - class="field">\n - <tal:block tal:condition="python: item[0] not in row_keys">\n + <tal:block metal:define-macro="master">\n + <tal:block metal:use-macro="here/dialog_main/macros/master">\n + <tal:block metal:fill-slot="main">\n + <div class="dialog_box">\n + <tal:block tal:condition="preferred_html_style_developper_mode">\n + <tal:block metal:use-macro="developper_shortcut_render/macros/form" />\n + </tal:block>\n + <div class="content"\n + tal:define="items python:here.portal_selections.getSelectionSortOrder(request[\'selection_name\'], REQUEST=request);\n + base_form python:getattr(here,request[\'form_id\']);\n + groups base_form/get_groups;\n + listbox python:base_form.Form_getListbox();\n + columns python:listbox.get_value(\'all_columns\');\n + global row_index python:0;\n + global row_keys python:[\'None\'];\n + all_columns python: [(\'None\',\'\')] + columns;">\n + <div tal:repeat="item items"\n + class="field">\n <label tal:define="global row_index python:row_index+1">\n <tal:block i18n:translate="" i18n:domain="ui">Sort</tal:block>\n <tal:block tal:replace="row_index" />\n </label>\n - <div class="input" tal:attributes="id string:sort_${row_index}">\n + <div class="input" tal:attributes="id string:sort_${row_index}"\n + tal:define="sort_type python:((len(item) > 2) and item[2]) or \'\'">\n <select name="field_sort_on">\n - <option selected="selected" value="None"></option>\n - <option tal:repeat="option columns"\n - tal:content="python:option[1]"\n - tal:attributes="value python:option[0]"\n - i18n:translate="" i18n:domain="ui"></option>\n + <tal:block tal:repeat="option all_columns">\n + <option tal:content="python:option[1]"\n + tal:attributes="value python:option[0];\n + selected python:option[0]==item[0] and \'selected\' or nothing"\n + i18n:translate="" i18n:domain="ui"></option>\n + </tal:block>\n </select>\n - <span tal:replace="structure python:form.sort_order.render(\'\', request)" />\n - <tal:block tal:replace="structure python:form.sort_type.render(\'\', request)" />\n + <tal:block tal:replace="structure python:form.sort_order.render(item[1], request)" />\n + <tal:block tal:replace="structure python:form.sort_type.render(sort_type, request)" />\n </div>\n - </tal:block>\n - <p class="clear"></p>\n + <p class="clear"></p>\n + </div>\n + <div tal:repeat="item columns"\n + class="field">\n + <tal:block tal:condition="python: item[0] not in row_keys">\n + <label tal:define="global row_index python:row_index+1">\n + <tal:block i18n:translate="" i18n:domain="ui">Sort</tal:block>\n + <tal:block tal:replace="row_index" />\n + </label>\n + <div class="input" tal:attributes="id string:sort_${row_index}">\n + <select name="field_sort_on">\n + <option selected="selected" value="None"></option>\n + <option tal:repeat="option columns"\n + tal:content="python:option[1]"\n + tal:attributes="value python:option[0]"\n + i18n:translate="" i18n:domain="ui"></option>\n + </select>\n + <span tal:replace="structure python:form.sort_order.render(\'\', request)" />\n + <tal:block tal:replace="structure python:form.sort_type.render(\'\', request)" />\n + </div>\n + </tal:block>\n + <p class="clear"></p>\n + </div>\n </div>\n </div>\n - </div>\n + </tal:block>\n </tal:block>\n </tal:block>\n </tal:block>\n diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/template_erp5_xhtml_style.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/template_erp5_xhtml_style.xml index e92c1008759e2ce83f441755b8a2985770dd0b71..2f4edd6cfbc845289acbe14160bcb0e4c8668277 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/template_erp5_xhtml_style.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/template_erp5_xhtml_style.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.PageTemplates.ZopePageTemplate</string> - <string>ZopePageTemplate</string> - </tuple> - <none/> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + <tuple/> </tuple> </pickle> <pickle> @@ -54,127 +51,102 @@ <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 +<tal:block 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 + <tal:block tal:replace="nothing">\n <!--\n -Copyright (c) 2007 Nexedi SA and Contributors. All Rights Reserved.\n - Vincent Pelletier <vincent@nexedi.com>\n - Christophe Dumez <christophe@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 IDEAS:\n - Add callbacks to ERP5Form object (selection ?) to gather needed fields -> put them in http_parameter_list.\n -->\n -</tal:block>\n -<tal:block metal:define-macro="master">\n -<tal:block tal:define="global_definitions_macros here/global_definitions/macros">\n -<tal:block metal:use-macro="global_definitions_macros/header_definitions"/>\n -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">\n - <head>\n - <base tal:attributes="href python: \'%s/\' % (url, )"/>\n - <meta name="generator" content="ERP5"/>\n - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>\n - <meta http-equiv="Content-Script-Type" content="text/javascript" />\n - <meta http-equiv="Content-Style-Type" content="text/css" />\n - <title tal:define="title title | string:ERP5"\n - tal:content="python: \'%s | %s\' % (title, here.getPortalObject().title_or_id())"/>\n - <tal:block tal:repeat="css css_list">\n - <link tal:attributes="href css" type="text/css" rel="stylesheet"/>\n - </tal:block>\n -\n - <tal:block tal:replace="nothing">\n - <!-- Render each field\'s css and javascript. -->\n - </tal:block>\n - <tal:block tal:condition="python: form is not None">\n - <tal:block tal:repeat="group python: [x for x in form.get_groups(include_empty=0) if x != \'hidden\']">\n - <tal:block tal:repeat="field python: form.get_fields_in_group(group)">\n -\n - <tal:block tal:define="css python: field.render_css(REQUEST=request)">\n - <style tal:condition="python: css is not None" \n - tal:content="css"\n - tal:attributes="type python:\'text/css\'">\n - </style>\n + </tal:block>\n + <tal:block metal:define-macro="master">\n + <tal:block tal:define="global_definitions_macros here/global_definitions/macros">\n + <tal:block metal:use-macro="global_definitions_macros/header_definitions" />\n + <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n + <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">\n + <head>\n + <base tal:attributes="href python: \'%s/\' % (url, )" />\n + <meta name="generator" content="ERP5" />\n + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n + <meta http-equiv="Content-Script-Type" content="text/javascript" />\n + <meta http-equiv="Content-Style-Type" content="text/css" />\n + <title tal:define="title title | string:ERP5"\n + tal:content="python: \'%s | %s\' % (title, here.getPortalObject().title_or_id())"></title>\n + <tal:block tal:repeat="css css_list">\n + <link tal:attributes="href css" type="text/css" rel="stylesheet" />\n </tal:block>\n -\n - <tal:block tal:define="dummy python: js_list.extend(field.get_javascript_list(REQUEST=request))" />\n -\n - </tal:block>\n - </tal:block>\n - </tal:block>\n -\n -\n - <!-- May need to remove duplicates -->\n - <tal:block tal:repeat="js js_list">\n - <script tal:attributes="src js" type="text/javascript"></script>\n - </tal:block>\n -\n - <link rel="icon" tal:attributes="href string:${portal/portal_url}/favicon.ico" type="image/x-icon"/>\n - <link rel="shortcut icon" tal:attributes="href string:${portal/portal_url}/favicon.ico" type="image/x-icon"/>\n -\n - </head>\n - <body>\n - <form id="main_form"\n - tal:attributes="enctype form/Form_getEnctype | enctype | nothing;\n - action url;\n - method python:str(path(\'form/method | string:post\')).lower()">\n - <fieldset id="hidden_fieldset">\n - <!-- Hidden button as explained in http://ppewww.ph.gla.ac.uk/~flavell/www/formquestion.html -->\n - <!-- We should probably call the default method instead -->\n - <input tal:condition="form_action | nothing"\n - id="hidden_button" type="submit" value="dummy"\n - tal:attributes="name string:${form_action}:method" />\n - <tal:block metal:use-macro="global_definitions_macros/http_definitions"/>\n - </fieldset>\n - <tal:block metal:define-slot="layout">\n - <div id="bars">\n - <div id="main_bar"\n - tal:content="structure here/ERP5Site_renderCachedNavigationBox">\n - </div>\n - <div id="context_bar">\n - <tal:block metal:define-slot="context_bar"/>\n - </div>\n - </div>\n - <div id="status">\n - <div id="breadcrumb">\n - <tal:block tal:repeat="item here/breadcrumbs">\n - <a tal:condition="python: repeat[\'item\'].index < 2" tal:attributes="href item/url" tal:content="item/title" i18n:translate="" i18n:domain="ui"/>\n - <a tal:condition="python: repeat[\'item\'].index >= 2" tal:attributes="href item/url" tal:content="item/title"/>\n - /\n + <tal:block tal:replace="nothing">\n + <!-- Render each field\'s css and javascript. -->\n </tal:block>\n - </div>\n - <div id="logged_in_as">\n - <tal:block tal:condition="not: here/portal_membership/isAnonymousUser">\n - <span class="logged_txt" i18n:translate="" i18n:domain="ui">Logged In as :</span>\n - <tal:block tal:replace="python:here.portal_membership.getAuthenticatedMember().getUserName()"/>\n + <tal:block tal:condition="python: form is not None">\n + <tal:block tal:repeat="group python: [x for x in form.get_groups(include_empty=0) if x != \'hidden\']">\n + <tal:block tal:repeat="field python: form.get_fields_in_group(group)">\n + <tal:block tal:define="css python: field.render_css(REQUEST=request)">\n + <style tal:condition="python: css is not None"\n + tal:content="css"\n + tal:attributes="type python:\'text/css\'">\n + </style>\n + </tal:block>\n + <tal:block tal:define="dummy python: js_list.extend(field.get_javascript_list(REQUEST=request))" />\n + </tal:block>\n + </tal:block>\n </tal:block>\n - </div>\n - <p class="clear"></p>\n - <div tal:content="request/portal_status_message | nothing" id="transition_message"/>\n - </div>\n - <div id="master">\n - <tal:block metal:define-slot="main"/>\n - </div>\n - </tal:block>\n - </form>\n - </body>\n -</html>\n -</tal:block>\n + <!-- May need to remove duplicates -->\n + <tal:block tal:repeat="js js_list">\n + <script tal:attributes="src js" type="text/javascript"></script>\n + </tal:block>\n + <link rel="icon" tal:attributes="href string:${portal/portal_url}/favicon.ico" type="image/x-icon" />\n + <link rel="shortcut icon" tal:attributes="href string:${portal/portal_url}/favicon.ico" type="image/x-icon" />\n + </head>\n + <body>\n + <form id="main_form"\n + tal:attributes="enctype form/Form_getEnctype | enctype | nothing;\n + action url;\n + method python:str(path(\'form/method | string:post\')).lower()">\n + <fieldset id="hidden_fieldset">\n + <!-- Hidden button as explained in http://ppewww.ph.gla.ac.uk/~flavell/www/formquestion.html -->\n + <!-- We should probably call the default method instead -->\n + <input tal:condition="form_action | nothing"\n + id="hidden_button" type="submit" value="dummy"\n + tal:attributes="name string:${form_action}:method" />\n + <tal:block metal:use-macro="global_definitions_macros/http_definitions" />\n + </fieldset>\n + <tal:block metal:define-slot="layout">\n + <div id="bars">\n + <div id="main_bar"\n + tal:content="structure here/ERP5Site_renderCachedNavigationBox">\n + </div>\n + <div id="context_bar">\n + <tal:block metal:define-slot="context_bar" />\n + </div>\n + </div>\n + <div id="status">\n + <div id="breadcrumb">\n + <tal:block tal:repeat="item here/breadcrumbs">\n + <a tal:condition="python: repeat[\'item\'].index < 2" tal:attributes="href item/url" tal:content="item/title" i18n:translate="" i18n:domain="ui" />\n + <a tal:condition="python: repeat[\'item\'].index >= 2" tal:attributes="href item/url" tal:content="item/title" />\n + /\n + </tal:block>\n + </div>\n + <div id="logged_in_as">\n + <tal:block tal:condition="not: here/portal_membership/isAnonymousUser">\n + <span class="logged_txt" i18n:translate="" i18n:domain="ui">Logged In as :</span>\n + <tal:block tal:replace="python:here.portal_membership.getAuthenticatedMember().getUserName()" />\n + </tal:block>\n + </div>\n + <p class="clear"></p>\n + <div tal:content="request/portal_status_message | nothing" id="transition_message" />\n + </div>\n + <div id="master">\n + <tal:block metal:define-slot="main" />\n + </div>\n + </tal:block>\n + </form>\n + </body>\n + </html>\n + </tal:block>\n + </tal:block>\n </tal:block>\n diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/view_main.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/view_main.xml index fdfdf41a490c7635126ea5329a15e7f7ab553642..3959e39ca912a5eff906bc689d2c43295849cbba 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/view_main.xml +++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/view_main.xml @@ -51,91 +51,71 @@ <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 +<tal:block 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@nexedi.com>\n - Christophe Dumez <christophe@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:define-macro="master">\n - <tal:block\n - tal:define="object_uid here/getUid | nothing;\n - object_path here/getPath | nothing;\n - form nocall: form | nothing;\n - form_id form/id | template/title_or_id | nothing;\n - form_action python: form and form.action not in (\'\', None) and here.portal_membership.checkPermission(\'Modify portal content\', here) and form.action or nothing;\n - local_parameter_list local_parameter_list | python: {};\n - dummy python: local_parameter_list.update({\'object_uid\': object_uid, \'object_path\': object_path, \'form_id\': form_id});\n - title python: \'%s - %s\' % (here.Base_translateString(template.title_or_id()), here.title_or_id());\n - ">\n - <tal:block metal:use-macro="here/main_template/macros/master">\n - <tal:block metal:fill-slot="context_bar">\n - <tal:block metal:use-macro="here/context_box_render/macros/master" />\n - </tal:block>\n - <tal:block metal:fill-slot="main">\n - <div class="document"\n - tal:define="actions actions/object_view | python: []">\n - <div class="actions"\n - tal:condition="python: (not is_web_mode or editable_mode) and len(actions)">\n - <button tal:condition="python: not is_web_mode and form_action"\n - type="submit" class="save" title="Save"\n - tal:attributes="name string:${form_action}:method;\n - onClick string:javascript:clickSaveButton(\'${form_action}\');"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">Save</span>\n - </button>\n - <ul>\n - <li tal:repeat="action actions"\n - tal:attributes="class python: action == current_action and \'selected\' or \'not_selected\'">\n - <a tal:attributes="href python: \'%s%s%s\' % (action[\'url\'], \'?\' in action[\'url\'] and \'&\' or \'?\', http_parameters)"\n - i18n:translate="" i18n:domain="ui"><span tal:content="action/name">action_name</span></a>\n - </li>\n - </ul>\n - </div>\n - <div tal:attributes="class python: editable_mode and \'content editable\' or \'content\'">\n - <tal:block metal:define-slot="main"/>\n - </div>\n - <div class="bottom_actions"\n - tal:condition="python: is_web_mode and editable_mode and len(actions) and form_action">\n - <input type="hidden" name="form_action" value=""\n - tal:attributes="value form_action"/>\n - <input type="hidden" name="edit_document_url" value=""\n - tal:attributes="value python:\'%s/%s\' % (here.absolute_url(), form_id)"/>\n - <input type="hidden" name="view_document_url" value=""\n - tal:attributes="value python:\'%s/%s\' % (here.absolute_url(), \'view\')"/>\n - <button type="submit" class="saveView" title="Save & View"\n - name="Base_editAndViewAsWeb:method"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">Save & View</span>\n - </button>\n - <button type="submit" class="saveEdit" title="Save & Edit"\n - name="Base_editAndEditAsWeb:method"\n - i18n:attributes="title" i18n:domain="ui">\n - <span class="image"></span>\n - <span class="description" i18n:translate="" i18n:domain="ui">Save & Edit</span>\n - </button>\n + <tal:block metal:define-macro="master">\n + <tal:block\n + tal:define="object_uid here/getUid | nothing;\n + object_path here/getPath | nothing;\n + form nocall: form | nothing;\n + form_id form/id | template/title_or_id | nothing;\n + form_action python: form and form.action not in (\'\', None) and here.portal_membership.checkPermission(\'Modify portal content\', here) and form.action or nothing;\n + local_parameter_list local_parameter_list | python: {};\n + dummy python: local_parameter_list.update({\'object_uid\': object_uid, \'object_path\': object_path, \'form_id\': form_id});\n + title python: \'%s - %s\' % (here.Base_translateString(template.title_or_id()), here.title_or_id());\n + ">\n + <tal:block metal:use-macro="here/main_template/macros/master">\n + <tal:block metal:fill-slot="context_bar">\n + <tal:block metal:use-macro="here/context_box_render/macros/master" />\n + </tal:block>\n + <tal:block metal:fill-slot="main">\n + <div class="document"\n + tal:define="actions actions/object_view | python: []">\n + <div class="actions"\n + tal:condition="python: (not is_web_mode or editable_mode) and len(actions)">\n + <button tal:condition="python: not is_web_mode and form_action"\n + type="submit" class="save" title="Save"\n + tal:attributes="name string:${form_action}:method;\n + onClick string:javascript:clickSaveButton(\'${form_action}\');"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description" i18n:translate="" i18n:domain="ui">Save</span>\n + </button>\n + <ul>\n + <li tal:repeat="action actions"\n + tal:attributes="class python: action == current_action and \'selected\' or \'not_selected\'">\n + <a tal:attributes="href python: \'%s%s%s\' % (action[\'url\'], \'?\' in action[\'url\'] and \'&\' or \'?\', http_parameters)"\n + i18n:translate="" i18n:domain="ui"><span tal:content="action/name">action_name</span></a>\n + </li>\n + </ul>\n + </div>\n + <div tal:attributes="class python: editable_mode and \'content editable\' or \'content\'">\n + <tal:block metal:define-slot="main" />\n + </div>\n + <div class="bottom_actions"\n + tal:condition="python: is_web_mode and editable_mode and len(actions) and form_action">\n + <input type="hidden" name="form_action" value=""\n + tal:attributes="value form_action" />\n + <input type="hidden" name="edit_document_url" value=""\n + tal:attributes="value python:\'%s/%s\' % (here.absolute_url(), form_id)" />\n + <input type="hidden" name="view_document_url" value=""\n + tal:attributes="value python:\'%s/%s\' % (here.absolute_url(), \'view\')" />\n + <button type="submit" class="saveView" title="Save & View"\n + name="Base_editAndViewAsWeb:method"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description" i18n:translate="" i18n:domain="ui">Save & View</span>\n + </button>\n + <button type="submit" class="saveEdit" title="Save & Edit"\n + name="Base_editAndEditAsWeb:method"\n + i18n:attributes="title" i18n:domain="ui">\n + <span class="image"></span>\n + <span class="description" i18n:translate="" i18n:domain="ui">Save & Edit</span>\n + </button>\n + </div>\n </div>\n - </div>\n + </tal:block>\n </tal:block>\n </tal:block>\n </tal:block>\n diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/change_log b/product/ERP5/bootstrap/erp5_xhtml_style/bt/change_log index f6939121e941668f712ffc336db9eafd08e21041..fd2c50df5b81b91051e5d53668d429475d5cacef 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/bt/change_log +++ b/product/ERP5/bootstrap/erp5_xhtml_style/bt/change_log @@ -1,3 +1,6 @@ +2007-11-21 kazuhiko +* Make Page Templates themselves valid XML (except DOCTYPE definition). + 2007-11-14 yusei * Fix tab style on konqueror diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision index 66e214a2e83a511dd6fc04f540b10077a1faaca4..1fde7522a771ec6f5d8c6237abe49bac75f547c8 100644 --- a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision +++ b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision @@ -1 +1 @@ -432 \ No newline at end of file +434 \ No newline at end of file