Commit d0fcdcda authored by Kazuhiko Shiozaki's avatar Kazuhiko Shiozaki

* Make Page Templates themselves valid XML (except DOCTYPE definition).


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@17734 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 0a1f2563
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<string>Products.PageTemplates.ZopePageTemplate</string> <tuple/>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -54,83 +51,30 @@ ...@@ -54,83 +51,30 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n <tal:block metal:define-macro="master">\n
Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n <tal:block metal:use-macro="here/dialog_main/macros/master">\n
Vincent Pelletier <vincent@nexedi.com>\n <tal:block metal:fill-slot="main">\n
Christophe Dumez <christophe@nexedi.com>\n <div class="dialog_box">\n
\n <tal:block tal:condition="preferred_html_style_developper_mode">\n
This program is Free Software; you can redistribute it and/or\n <tal:block metal:use-macro="developper_shortcut_render/macros/form" />\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>\n </tal:block>\n
<tal:block tal:repeat="item all_columns">\n <table tal:define="selection_name request/selection_name;\n
<tal:block tal:condition="python: item[0] not in row_keys">\n base_form python: getattr(here, request[\'form_id\']);\n
<tr tal:define="global row_index python:row_index+1"\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 tal:attributes="id string:column_${row_index}">\n
<td>\n <td>\n
<tal:block i18n:translate="" i18n:domain="ui">Column</tal:block>\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 ...@@ -138,15 +82,12 @@ XXX: uses hardcoded indices values to access fields\n
</td>\n </td>\n
<td>\n <td>\n
<select name="field_columns">\n <select name="field_columns">\n
<option selected="selected"\n <tal:block tal:repeat="option python: [(\'None\',\'None\')] + all_columns">\n
value="None"\n <option tal:content="python: option[1]"\n
i18n:translate="" i18n:domain="ui">\n tal:attributes="value python:option[0];\n
None\n selected python: option[0]==item[0] and \'selected\' or nothing"\n
</option>\n i18n:translate="" i18n:domain="ui" />\n
<option tal:repeat="option all_columns"\n </tal:block>\n
tal:content="python:option[1]"\n
tal:attributes="value python:option[0]"\n
i18n:translate="" i18n:domain="ui" />\n
</select>\n </select>\n
</td>\n </td>\n
<td>\n <td>\n
...@@ -154,19 +95,54 @@ XXX: uses hardcoded indices values to access fields\n ...@@ -154,19 +95,54 @@ XXX: uses hardcoded indices values to access fields\n
<tal:block tal:repeat="stat stats">\n <tal:block tal:repeat="stat stats">\n
<option tal:content="stat"\n <option tal:content="stat"\n
tal:attributes="value 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 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 i18n:translate="" i18n:domain="ui" />\n
</tal:block>\n </tal:block>\n
</select>\n </select>\n
</td>\n </td>\n
</tr>\n </tr>\n
</tal:block>\n </tal:block>\n
</tal:block>\n <tal:block tal:repeat="item all_columns">\n
</table>\n <tal:block tal:condition="python: item[0] not in row_keys">\n
</div>\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>\n </tal:block>\n
</tal:block> </tal:block>\n
]]></string> </value> ]]></string> </value>
</item> </item>
......
...@@ -51,307 +51,288 @@ ...@@ -51,307 +51,288 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n <tal:block metal:define-macro="master">\n
Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n <span id="jump" metal:define-macro="jump">\n
Vincent Pelletier <vincent@nexedi.com>\n <select name="select_jump"\n
Christophe Dumez <christophe@nexedi.com>\n tal:attributes="onChange string:submitAction(this.form,\'Base_doJump\')">\n
\n <option selected="selected" value=""\n
This program is Free Software; you can redistribute it and/or\n i18n:translate="" i18n:domain="ui">Jump...</option>\n
modify it under the terms of the GNU General Public License\n <tal:block tal:repeat="jump actions/object_jump | nothing">\n
as published by the Free Software Foundation; either version 2\n <option tal:attributes="value jump/url"\n
of the License, or (at your option) any later version.\n tal:content="jump/name" i18n:translate="" i18n:domain="ui" />\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>\n </tal:block>\n
<tal:block tal:condition="here/portal_workflow/Base_getSourceVisibility">\n <tal:block tal:condition="preferred_html_style_developper_mode">\n
<option value="1" disabled="disabled" i18n:translate="" i18n:domain="ui">-- Workflows --</option>\n <tal:block tal:condition="python: here.getPortalTypeName() in here.portal_types.objectIds() and here.portal_types.getTypeInfo(here).Base_getSourceVisibility()">\n
<tal:block tal:repeat="workflow python: here.portal_workflow.getWorkflowsFor(here)">\n <option value="1" disabled="disabled" i18n:translate="" i18n:domain="ui">-- Developper Mode --</option>\n
<option tal:attributes="value python: \'%s/manage_properties\' % (workflow.absolute_url(), )" tal:content="workflow/title"/>\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 </tal:block>\n
</tal:block>\n </select>\n
</select>\n <button type="submit" name="Base_doJump:method" title="Jump"\n
<button type="submit" name="Base_doJump:method" title="Jump"\n i18n:attributes="title" i18n:domain="ui">\n
i18n:attributes="title" i18n:domain="ui">\n <span class="image"></span>\n
<span class="image"></span>\n <span class="description"\n
<span class="description"\n i18n:translate="" i18n:domain="ui">Jump</span>\n
i18n:translate="" i18n:domain="ui">Jump</span>\n </button>\n
</button>\n </span>\n
</span>\n
\n \n
<span class="separator"></span>\n <span class="separator"></span>\n
\n \n
<span id="action" metal:define-macro="action">\n <span id="action" metal:define-macro="action">\n
<select name="select_action"\n <select name="select_action"\n
onChange="submitAction(this.form,\'Base_doAction\')">\n onChange="submitAction(this.form,\'Base_doAction\')">\n
<option selected="selected" value=""\n <option selected="selected" value=""\n
i18n:translate="" i18n:domain="ui">Action...</option>\n i18n:translate="" i18n:domain="ui">Action...</option>\n
<tal:block tal:define="allowed_content_type_list here/getVisibleAllowedContentTypeList | python:[]">\n <tal:block tal:define="allowed_content_type_list here/getVisibleAllowedContentTypeList | python:[]">\n
<tal:block tal:repeat="content_id allowed_content_type_list">\n <tal:block tal:repeat="content_id allowed_content_type_list">\n
<option tal:attributes="value python: \'add %s\' % (content_id, )"\n <option tal:attributes="value python: \'add %s\' % (content_id, )"\n
i18n:translate="" i18n:domain="ui">\n i18n:translate="" i18n:domain="ui">\n
Add <tal:block tal:content="content_id"\n Add <tal:block tal:content="content_id"\n
i18n:name="portal_type" i18n:translate="" i18n:domain="ui"/>\n i18n:name="portal_type" i18n:translate="" i18n:domain="ui" />\n
</option>\n </option>\n
</tal:block>\n
</tal:block>\n </tal:block>\n
</tal:block>\n <tal:block tal:repeat="action actions/object_add | nothing">\n
<tal:block tal:repeat="action actions/object_add | nothing">\n <option tal:attributes="value string:object ${action/url}"\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
i18n:translate="" i18n:domain="ui">\n i18n:translate="" i18n:domain="ui">\n
Add <tal:block tal:content="document_template/getTitle"\n Add <tal:block tal:content="action/name" i18n:name="portal_type" i18n:translate="" />\n
i18n:name="document_template"/>\n
</option>\n </option>\n
</tal:block>\n </tal:block>\n
</tal:block>\n <tal:block tal:define="document_template_list here/getDocumentTemplateList | nothing"\n
<option disabled="disabled">-- <tal:block i18n:translate="" i18n:domain="ui">Workflows</tal:block> --</option>\n tal:condition="document_template_list">\n
<tal:block tal:repeat="action actions/workflow">\n <option disabled="disabled">-- <tal:block i18n:translate="" i18n:domain="ui">Templates</tal:block> --</option>\n
<option tal:content="action/name"\n <tal:block tal:repeat="document_template document_template_list">\n
tal:attributes="value python: \'workflow %s\' % (action[\'url\'], )"\n <option tal:attributes="value python:\'template %s\' % (document_template.getRelativeUrl(), )"\n
i18n:translate="" i18n:domain="ui"/>\n i18n:translate="" i18n:domain="ui">\n
</tal:block>\n Add <tal:block tal:content="document_template/getTitle"\n
<option disabled="disabled">-- <tal:block i18n:translate="" i18n:domain="ui">Object</tal:block> --</option>\n i18n:name="document_template" />\n
<tal:block tal:repeat="action actions/object_action | nothing">\n </option>\n
<option tal:content="action/name"\n </tal:block>\n
tal:attributes="value python: \'object %s\' % (action[\'url\'], )"\n </tal:block>\n
i18n:translate="" i18n:domain="ui"/>\n <option disabled="disabled">-- <tal:block i18n:translate="" i18n:domain="ui">Workflows</tal:block> --</option>\n
</tal:block>\n <tal:block tal:repeat="action actions/workflow">\n
<tal:block tal:define="object_view_list actions/object_view|nothing;\n <option tal:content="action/name"\n
module_view_list python:[i for i in object_view_list if i[\'id\']==\'module_view\']"\n tal:attributes="value python: \'workflow %s\' % (action[\'url\'], )"\n
tal:condition="module_view_list">\n i18n:translate="" i18n:domain="ui" />\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>\n <option disabled="disabled">-- <tal:block i18n:translate="" i18n:domain="ui">Object</tal:block> --</option>\n
<tal:block tal:replace=\'nothing\'>\n <tal:block tal:repeat="action actions/object_action | 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 <option tal:content="action/name"\n
tal:attributes="value python: \'folder %s\' % (action[\'url\'], )"\n tal:attributes="value python: \'object %s\' % (action[\'url\'], )"\n
i18n:translate="" i18n:domain="ui"/>\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
</tal:block>\n </select>\n
</select>\n <button type="submit" name="Base_doAction:method" title="Action"\n
<button type="submit" name="Base_doAction:method" title="Action"\n i18n:attributes="title" i18n:domain="ui">\n
i18n:attributes="title" i18n:domain="ui">\n <span class="image"></span>\n
<span class="image"></span>\n <span class="description">Action</span>\n
<span class="description">Action</span>\n </button>\n
</button>\n </span>\n
</span>\n
\n \n
\n \n
<span class="tool_buttons" metal:define-macro="tool_buttons">\n <span class="tool_buttons" metal:define-macro="tool_buttons">\n
\n \n
<!-- XXX: exchange_actions seems to be bad condition -->\n <!-- XXX: exchange_actions seems to be bad condition -->\n
<span class="first"\n <span class="first"\n
tal:define="search_actions actions/object_search | nothing;\n tal:define="search_actions actions/object_search | nothing;\n
exchange_actions actions/object_exchange | nothing;\n exchange_actions actions/object_exchange | nothing;\n
report_actions actions/object_report | nothing;\n report_actions actions/object_report | nothing;\n
button_actions actions/object_button | nothing;\n button_actions actions/object_button | nothing;\n
sort_actions actions/object_sort | nothing;\n sort_actions actions/object_sort | nothing;\n
ui_actions actions/object_ui | nothing;\n ui_actions actions/object_ui | nothing;\n
print_actions actions/object_print | nothing;\n print_actions actions/object_print | nothing;\n
list_mode list_mode | nothing">\n list_mode list_mode | nothing">\n
<span class="separator"></span>\n <span class="separator"></span>\n
<tal:block tal:condition="list_mode | nothing">\n <tal:block tal:condition="list_mode | nothing">\n
<button class="cut" type="submit" name="Folder_cut:method" title="Cut"\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 i18n:attributes="title" i18n:domain="ui">\n
<span class="image"></span>\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>\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 i18n:attributes="title" i18n:domain="ui">\n
<span class="image"></span>\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>\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 i18n:attributes="title" i18n:domain="ui">\n
<span class="image"></span>\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 </button>\n
<span class="separator"></span>\n <tal:block tal:condition="not: list_mode">\n
</tal:block>\n <tal:block tal:condition="request/selection_index | nothing">\n
<button tal:condition="print_actions" class="print" type="submit" name="Folder_print:method" title="Print"\n <span class="separator"></span>\n
i18n:attributes="title" i18n:domain="ui">\n <a class="jump_first" title="First"\n
<span class="image"></span>\n tal:attributes="href python: \'portal_selections/viewFirst?%s\' % (http_parameters, )"\n
<span class="description" i18n:translate="" i18n:domain="ui">Print</span>\n i18n:attributes="title" i18n:domain="ui">\n
</button>\n <span class="image"></span>\n
<button class="new" type="submit" title="New"\n <span class="description" i18n:translate="" i18n:domain="ui">First</span>\n
tal:attributes="name python: list_mode and \'Folder_create:method\' or \'Base_createNewDocument:method\'"\n </a>\n
i18n:attributes="title" i18n:domain="ui">\n <a class="jump_previous" title="Previous"\n
<span class="image"></span>\n tal:attributes="href python: \'portal_selections/viewPrevious?%s\' % (http_parameters, )"\n
<span class="description" i18n:translate="" i18n:domain="ui">New</span>\n i18n:attributes="title" i18n:domain="ui">\n
</button>\n <span class="image"></span>\n
<button tal:condition="list_mode" class="delete" type="submit" name="Folder_deleteObjectList:method" title="Delete"\n <span class="description" i18n:translate="" i18n:domain="ui">Previous</span>\n
i18n:attributes="title" i18n:domain="ui">\n </a>\n
<span class="image"></span>\n <a class="list_mode" title="List Mode" tal:attributes="href python: here.portal_selections.getSelectionListUrlFor(request[\'selection_name\'])"\n
<span class="description" i18n:translate="" i18n:domain="ui">Delete</span>\n i18n:attributes="title" i18n:domain="ui">\n
</button>\n <span class="image"></span>\n
<tal:block tal:condition="not: list_mode">\n <span class="description" i18n:translate="" i18n:domain="ui">List Mode</span>\n
<tal:block tal:condition="request/selection_index | nothing">\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 <span class="separator"></span>\n
<a class="jump_first" title="First"\n <a tal:condition="search_actions" class="find" title="Find"\n
tal:attributes="href python: \'portal_selections/viewFirst?%s\' % (http_parameters, )"\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">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 i18n:attributes="title" i18n:domain="ui">\n
<span class="image"></span>\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>\n
<a class="jump_next" title="Next"\n <button class="show_all" type="submit" name="Folder_show:method" title="Show All"\n
tal:attributes="href python: \'portal_selections/viewNext?%s\' % (http_parameters, )"\n i18n:attributes="title" i18n:domain="ui">\n
i18n:attributes="title" i18n:domain="ui">\n
<span class="image"></span>\n <span class="image"></span>\n
<span class="description" i18n:translate="" i18n:domain="ui">Next</span>\n <span class="description" i18n:translate="" i18n:domain="ui">Show All</span>\n
</a>\n </button>\n
<a class="jump_last" title="Last"\n <button type="submit" name="Folder_filter:method" title="Filter"\n
tal:attributes="href python: \'portal_selections/viewLast?%s\' % (http_parameters, )"\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 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="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 </a>\n
</tal:block>\n </tal:block>\n
</tal:block>\n <span tal:condition="exchange_actions | report_actions"\n
<tal:block tal:condition="list_mode">\n class="separator"></span>\n
<span class="separator"></span>\n <a tal:condition="exchange_actions" class="import_export" title="Import / Export"\n
<a tal:condition="search_actions" class="find" title="Find"\n tal:attributes="href python: here.ERP5Site_renderCustomLink(exchange_actions[0][\'url\'], http_parameter_list, dialog_category=\'object_exchange\')"\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 i18n:attributes="title" i18n:domain="ui">\n
<span class="image"></span>\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 </a>\n
<button class="show_all" type="submit" name="Folder_show:method" title="Show All"\n <a tal:condition="report_actions" class="report" title="Report"\n
i18n:attributes="title" i18n:domain="ui">\n tal:attributes="href python: here.ERP5Site_renderCustomLink(report_actions[0][\'url\'], http_parameter_list, dialog_category=\'object_report\')"\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
i18n:attributes="title" i18n:domain="ui">\n i18n:attributes="title" i18n:domain="ui">\n
<span class="image"></span>\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 </a>\n
</tal:block>\n <tal:block tal:condition="button_actions">\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 \'&amp;\' 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
<span class="separator"></span>\n <span class="separator"></span>\n
<a class="configure" title="Configure"\n <tal:block tal:repeat="button_action button_actions">\n
tal:attributes="href python: here.ERP5Site_renderCustomLink(ui_actions[0][\'url\'], http_parameter_list, dialog_category=\'object_ui\')"\n <a tal:attributes="href python: \'%s%s%s\' % (button_action[\'url\'], \'?\' in button_action[\'url\'] and \'&amp;\' or \'?\', http_parameters)">\n
i18n:attributes="title" i18n:domain="ui">\n <img i18n:attributes="title" i18n:domain="ui"\n
<span class="image"></span>\n tal:attributes="src python:button_action[\'icon\'];\n
<span class="description" i18n:translate="" i18n:domain="ui">Configure</span>\n title python:button_action[\'name\'];\n
</a>\n alt python:button_action[\'name\']" />\n
</a>\n
</tal:block>\n
</tal:block>\n </tal:block>\n
</tal:block>\n <tal:block tal:condition="list_mode">\n
</span>\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 \n
<span class="second">\n <span class="second">\n
<a tal:condition="preferred_html_style_contextual_help"\n <a tal:condition="preferred_html_style_contextual_help"\n
class="jump_help" title="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 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 i18n:attributes="title" i18n:domain="ui">\n
<span class="image"></span>\n <span class="image"></span>\n
<span class="description" i18n:translate="" i18n:domain="ui">Help</span>\n <span class="description" i18n:translate="" i18n:domain="ui">Help</span>\n
</a>\n </a>\n
<a tal:condition="preferred_html_style_developper_mode"\n <a tal:condition="preferred_html_style_developper_mode"\n
class="inspect_object" title="Inspect object" href="Base_viewInspectionReport"\n class="inspect_object" title="Inspect object" href="Base_viewInspectionReport"\n
i18n:attributes="title" i18n:domain="ui">\n i18n:attributes="title" i18n:domain="ui">\n
<span class="image"></span>\n <span class="image"></span>\n
<span class="description" i18n:translate="" i18n:domain="ui">Inspect object</span>\n <span class="description" i18n:translate="" i18n:domain="ui">Inspect object</span>\n
</a>\n </a>\n
<a tal:condition="here/hasActivity | nothing" class="activity_pending"\n <a tal:condition="here/hasActivity | nothing" class="activity_pending"\n
title="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 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 i18n:attributes="title" i18n:domain="ui">\n
<span class="image"></span>\n <span class="image"></span>\n
<span class="description" i18n:translate="" i18n:domain="ui">Activity Pending</span>\n <span class="description" i18n:translate="" i18n:domain="ui">Activity Pending</span>\n
</a>\n </a>\n
</span>\n
</span>\n </span>\n
</span>\n <p class="clear"></p>\n
<p class="clear"></p>\n </tal:block>\n
</tal:block> </tal:block>\n
]]></string> </value> ]]></string> </value>
</item> </item>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<string>Products.PageTemplates.ZopePageTemplate</string> <tuple/>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -54,84 +51,57 @@ ...@@ -54,84 +51,57 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n <tal:block metal:define-macro="edit_link">\n
Copyright (c) 2007 Nexedi SA and Contributors. All Rights Reserved.\n <a disabled="disabled" tal:condition="python: hasattr(object, \'meta_type\')"\n
Vincent Pelletier <vincent@nexedi.com>\n tal:attributes="href python: \'%s/manage_main\' % (\'/\'.join(object.getPhysicalPath()[len(object.getPortalObject().getPhysicalPath()):])) # XXX: quick hack to get path;\n
Christophe Dumez <christophe@nexedi.com>\n title info;"><img tal:attributes="src python: \'%s/images/%s\' % (portal_path, image);\n
\n alt info;" /></a>\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&amp;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>\n </tal:block>\n
<tal:block tal:define="image python: \'editformaction.png\';\n <tal:block metal:define-macro="translate_link">\n
info python: \'Edit this form\\\'s action\';\n <a disabled="disabled" tal:define="image image | python: \'translate.png\'"\n
object python: getattr(here, form.action, None);">\n tal:attributes="href python: \'%s/manage_messages?regex=^%s%%24&amp;lang=%s\' % (\'/\'.join(here.Localizer.erp5_ui.getPhysicalPath()[len(here.Localizer.erp5_ui.getPortalObject().getPhysicalPath()):]), message.replace(\'(\', \'\\(\').replace(\')\', \'\\)\'), selected_language);\n
<tal:block metal:use-macro="developper_shortcut_render/macros/edit_link"/>\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
</tal:block>\n <tal:block metal:define-macro="form">\n
\n <tal:block tal:define="image python: \'editform.png\';\n
\n info python: \'Edit this form\';\n
<tal:block metal:define-macro="field_developper">\n object nocall: form;">\n
<tal:block tal:define="image python: \'editfield.png\';\n <tal:block metal:use-macro="developper_shortcut_render/macros/edit_link" />\n
info python: \'Edit this field\';\n </tal:block>\n
object nocall: field;">\n <tal:block tal:define="image python: \'editformaction.png\';\n
<tal:block metal:use-macro="developper_shortcut_render/macros/edit_link"/>\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>\n <tal:block metal:define-macro="field_developper">\n
<tal:block metal:define-macro="field_translator">\n <tal:block tal:define="image python: \'editfield.png\';\n
<tal:block tal:define="info python: \'Translate this field title\';\n info python: \'Edit this field\';\n
message python: field[\'title\'];\n object nocall: field;">\n
image python: \'translate.png\'">\n <tal:block metal:use-macro="developper_shortcut_render/macros/edit_link" />\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:condition="field_description | nothing">\n <tal:block metal:define-macro="field_translator">\n
<tal:block tal:define="message field_description;\n <tal:block tal:define="info python: \'Translate this field title\';\n
info python: \'Translate this field description\';\n message python: field[\'title\'];\n
image python: \'translate_tooltip.png\'"\n image python: \'translate.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: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>\n </tal:block>\n
</tal:block> </tal:block>\n
]]></string> </value> ]]></string> </value>
</item> </item>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<string>Products.PageTemplates.ZopePageTemplate</string> <tuple/>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -54,58 +51,38 @@ ...@@ -54,58 +51,38 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n <tal:block metal:define-macro="master">\n
Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n <tal:block tal:define="form_action string:Base_callDialogMethod;\n
Vincent Pelletier <vincent@nexedi.com>\n dialog_id form/id | template/id;\n
Christophe Dumez <christophe@nexedi.com>\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 \n
This program is Free Software; you can redistribute it and/or\n local_parameter_list local_parameter_list | python: {};\n
modify it under the terms of the GNU General Public License\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
as published by the Free Software Foundation; either version 2\n title python: here.Base_translateString(here.Base_getFormViewDialogActionButtonTitle(form))">\n
of the License, or (at your option) any later version.\n <tal:block metal:use-macro="here/main_template/macros/master">\n
\n <tal:block metal:fill-slot="main">\n
This program is distributed in the hope that it will be useful,\n <div class="list_dialog">\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n <tal:block metal:define-slot="main" />\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n <tal:block metal:define-slot="bottom" />\n
GNU General Public License for more details.\n </div>\n
\n <input tal:condition="cancel_url|request/cancel_url|nothing"\n
You should have received a copy of the GNU General Public License\n i18n:attributes="value" i18n:domain="ui" value="Cancel Action"\n
along with this program; if not, write to the Free Software\n id="dialog_cancel_button" name="Base_cancel:method" type="submit" />\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n <input i18n:attributes="value" i18n:domain="ui" value="Update"\n
-->\n tal:condition="python: form.update_action!=\'\'"\n
</tal:block>\n id="dialog_update_button"\n
<tal:block metal:define-macro="master">\n name="Base_showUpdateDialog:method" type="submit" />\n
<tal:block tal:define="form_action string:Base_callDialogMethod;\n <input tal:attributes="value python: here.Base_getFormViewDialogActionButtonTitle(form);\n
dialog_id form/id | template/id;\n name string:${form_action}:method"\n
form_id request/form_id | string:view;\n i18n:attributes="value" i18n:domain="ui" accesskey="V"\n
dialog_method form/action | dialog_id;\n id="dialog_submit_button" type="submit" />\n
update_action form/update_action;\n </tal:block>\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
</tal:block>\n </tal:block>\n
</tal:block>\n </tal:block>\n
</tal:block>\n </tal:block>\n
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<string>Products.PageTemplates.ZopePageTemplate</string> <tuple/>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -48,84 +45,66 @@ ...@@ -48,84 +45,66 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<tal:block tal:replace="nothing">\n
<!--\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 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 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 -->\n
</tal:block>\n </tal:block>\n
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n <tal:block metal:define-macro="render_listbox">\n
<tal:block metal:define-macro="render_listbox">\n <tal:block tal:define="field_names field_names | python: ();\n
<tal:block tal:define="field_names field_names | python: ();\n toggleable_field_name toggleable_field_name | python: nothing;\n
toggleable_field_name toggleable_field_name | python: nothing;\n zope_structured_text_field_names zope_structured_text_field_names | python: ();\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 structured_text_field_names | python: ();\n structured_text_field_names python: structured_text_field_names+zope_structured_text_field_names;">\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:repeat="field_name field_names">\n <tal:block tal:condition="python: form.has_field(field_name)">\n
<tal:block tal:condition="python: form.has_field(field_name)">\n <tal:block tal:define="listbox python: form.get_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
listboxline_list python: listbox.get_value(\'default\', render_format=\'list\', REQUEST=request);">\n <div class="frame">\n
<div class="frame">\n <div tal:attributes="class listbox/css_class">\n
<div tal:attributes="class listbox/css_class">\n <div class="frame_title" tal:content="listbox/title"></div>\n
<div class="frame_title" tal:content="listbox/title"></div>\n <div class="listbox_description" tal:content="python: listbox.get_value(\'description\')"></div>\n
<div class="listbox_description" tal:content="python: listbox.get_value(\'description\')"></div>\n <tal:block tal:condition="python: len(listboxline_list) &gt; 1">\n
<tal:block tal:condition="python: len(listboxline_list) > 1">\n <tal:block tal:repeat="listboxline python: listboxline_list">\n
<tal:block tal:repeat="listboxline python: listboxline_list">\n <tal:block tal:define="lineid python: \'%s_%s\' % (listbox.id,repeat[\'listboxline\'].index)">\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
<div class="listbox_titleline" tal:condition="python: listboxline.isTitleLine()">\n <tal:block tal:repeat="column_id python: listboxline.getColumnItemList()">\n
<tal:block tal:repeat="column_id python: listboxline.getColumnItemList()">\n <div tal:content="python: column_id[1]"\n
<div tal:content="python: column_id[1]"\n tal:attributes="class python: column_id[0]" />\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 </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 </tal:block>\n
</tal:block>\n </div>\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 </tal:block>\n
</tal:block>\n </tal:block>\n
</tal:block>\n <html>\n
<html>\n <tal:block metal:use-macro="here/global_definitions/macros/header_definitions" />\n
<tal:block metal:use-macro="here/global_definitions/macros/header_definitions" />\n <head>\n
<head>\n <title></title>\n
<title></title>\n <style type="text/css">\n
<style type="text/css">\n
a img {\n a img {\n
border: none;\n border: none;\n
}\n }\n
...@@ -273,94 +252,96 @@ div.listbox_dataline:hover {\n ...@@ -273,94 +252,96 @@ div.listbox_dataline:hover {\n
border-color: #999;\n border-color: #999;\n
}\n }\n
</style>\n </style>\n
</head>\n </head>\n
<body onload="toggle_all()">\n <body onload="toggle_all()">\n
<script type="text/javascript">\n <script type="text/javascript"><!--\n
function toggle_all() {\n function toggle_all() {\n
my_elements = document.getElementsByName("toggleable");\n my_elements = document.getElementsByName("toggleable");\n
for(i=0; i<my_elements.length; i++) {\n for(i=0; i<my_elements.length; i++) {\n
toggle(my_elements[i].id);\n toggle(my_elements[i].id);\n
}\n
}\n }\n
}\n function toggle(id) {\n
function toggle(id) {\n with(document.getElementById(id).style) {\n
with(document.getElementById(id).style) {\n if (display == "") {\n
if (display == "") {\n display = "none";\n
display = "none";\n with(document.getElementById("toggle_"+id).style) {\n
with(document.getElementById("toggle_"+id).style) {\n backgroundColor = "";\n
backgroundColor = "";\n borderColor = "";\n
borderColor = "";\n }\n
}\n } else {\n
} else {\n display = "";\n
display = "";\n with(document.getElementById("toggle_"+id).style) {\n
with(document.getElementById("toggle_"+id).style) {\n backgroundColor = "#EEE";\n
backgroundColor = "#EEE";\n borderColor = "#999";\n
borderColor = "#999";\n }\n
}\n }\n
}\n }\n
}\n }\n
}\n //--></script>\n
</script>\n <span class="toggle" onclick="toggle_all()">Toggle all</span>\n
<span class="toggle" onclick="toggle_all()">Toggle all</span>\n <tal:block tal:define="field_errors python: request.get(\'field_errors\',{});\n
<tal:block tal:define="field_errors python: request.get(\'field_errors\',{});\n dummy python: request.set(\'here\',here)">\n
dummy python: request.set(\'here\',here)">\n <div class="frame">\n
<div class="frame">\n <div class="frame_title">General information</div>\n
<div class="frame_title">General information</div>\n <table>\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: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:condition="python: form.has_field(field_name)">\n <tal:block tal:define="field python: form.get_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 metal:use-macro="here/field_render/macros/field_render"/>\n </tal:block>\n
</tal:block>\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 </tal:block>\n
</table>\n </div>\n
</div>\n <tal:block tal:define="field_names python: (\'my_static_property_list\',);\n
<div class="frame">\n structured_text_field_names python: (\'title\',);">\n
<div class="frame_title">Quick links</div>\n <tal:block metal:use-macro="here/documentation_template/macros/render_listbox" />\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>\n
<tal:block tal:condition="python: form.has_field(field_name)">\n <tal:block tal:define="field_names python: (\'my_dynamic_property_list\',);\n
<div class="quick_links_group" tal:define="field python: form.get_field(field_name)">\n structured_text_field_names python: (\'title\',);">\n
<div tal:content="field/title"></div>\n <tal:block metal:use-macro="here/documentation_template/macros/render_listbox" />\n
<ul>\n </tal:block>\n
<li tal:repeat="item python: field.get_value(\'list_method\')()">\n <tal:block tal:define="field_names python: (\'my_dynamic_category_list\',)">\n
<a tal:attributes="href python: \'#a_%s_%s\' % (field_name,repeat[\'item\'].index+1)"\n <tal:block metal:use-macro="here/documentation_template/macros/render_listbox" />\n
tal:content="item/getTitle"></a>\n </tal:block>\n
</li>\n <tal:block tal:define="field_names python: (\'my_static_method_list\',);\n
</ul>\n structured_text_field_names python: (\'title\',);\n
</div>\n zope_structured_text_field_names python: (\'description\',);\n
</tal:block>\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
</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
</tal:block>\n </body>\n
</body>\n </html>\n
</html> </tal:block>\n
]]></string> </value> ]]></string> </value>
</item> </item>
......
...@@ -51,64 +51,45 @@ ...@@ -51,64 +51,45 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n <tal:block metal:define-macro="field_render">\n
Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n <tal:block tal:condition="python: field.meta_type != \'HiddenStringField\'"\n
Vincent Pelletier <vincent@nexedi.com>\n tal:define="field_id field/id;\n
Christophe Dumez <christophe@nexedi.com>\n value python: request.get(field_id, None);\n
\n field_errors python: request.get(\'field_errors\', {});\n
This program is Free Software; you can redistribute it and/or\n field_has_error python: field_errors.has_key(field_id);\n
modify it under the terms of the GNU General Public License\n global form_id form_id | form/id | nothing;\n
as published by the Free Software Foundation; either version 2\n field_description field/Field_getDescription;\n
of the License, or (at your option) any later version.\n is_web_mode is_web_mode | nothing">\n
\n <div tal:define="html_render python: field.render_htmlgrid(value, request)"\n
This program is distributed in the hope that it will be useful,\n tal:attributes="title field_description;\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\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
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n i18n:attributes="title" i18n:domain="ui">\n
GNU General Public License for more details.\n <tal:block tal:repeat="html_tuple html_render">\n
\n <label>\n
You should have received a copy of the GNU General Public License\n <tal:block tal:content="structure python: html_tuple[0]"\n
along with this program; if not, write to the Free Software\n i18n:translate="" i18n:domain="ui" />\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n <tal:block tal:condition="preferred_html_style_developper_mode">\n
--></tal:block>\n <tal:block metal:use-macro="developper_shortcut_render/macros/field_developper" />\n
\n </tal:block>\n
<tal:block metal:define-macro="field_render">\n <tal:block tal:condition="preferred_html_style_translator_mode">\n
<tal:block tal:condition="python: field.meta_type != \'HiddenStringField\'"\n <tal:block metal:use-macro="developper_shortcut_render/macros/field_translator" />\n
tal:define="field_id field/id;\n </tal:block>\n
value python: request.get(field_id, None);\n </label>\n
field_errors python: request.get(\'field_errors\', {});\n <div class="input" tal:content="structure python: html_tuple[1]" />\n
field_has_error python: field_errors.has_key(field_id);\n <span tal:condition="python: field_has_error"\n
global form_id form_id | form/id | nothing;\n class="error"\n
field_description field/Field_getDescription;\n tal:content="python: field_errors[field_id].error_text"\n
is_web_mode is_web_mode | nothing">\n i18n:translate="" i18n:domain="ui" />\n
<div tal:define="html_render python: field.render_htmlgrid(value, request)"\n <p class="clear" tal:condition="not:is_web_mode"></p>\n
tal:attributes="title field_description;\n </tal:block>\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 </div>\n
i18n:attributes="title" i18n:domain="ui">\n </tal:block>\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> ]]></string> </value>
</item> </item>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<string>Products.PageTemplates.ZopePageTemplate</string> <tuple/>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -54,110 +51,90 @@ ...@@ -54,110 +51,90 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n <tal:block metal:define-macro="master"\n
Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n tal:define="editable_mode python: True;\n
Vincent Pelletier <vincent@nexedi.com>\n dialog_mode python: True;\n
Christophe Dumez <christophe@nexedi.com>\n dummy python: request.set(\'editable_mode\', editable_mode)">\n
\n <tal:block metal:use-macro="here/dialog_main/macros/master">\n
This program is Free Software; you can redistribute it and/or\n <tal:block metal:fill-slot="main">\n
modify it under the terms of the GNU General Public License\n <tal:block tal:define="field_errors python: request.get(\'field_errors\',{});\n
as published by the Free Software Foundation; either version 2\n dummy python: request.set(\'here\', here);\n
of the License, or (at your option) any later version.\n left_group python: form.get_fields_in_group(\'left\');\n
\n right_group python: form.get_fields_in_group(\'right\');\n
This program is distributed in the hope that it will be useful,\n center_group python: form.get_fields_in_group(\'center\');\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n dialog_actions python: actions.get(dialog_category, []);\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n field_render here/field_render/macros/field_render;">\n
GNU General Public License for more details.\n <tal:block tal:condition="preferred_html_style_developper_mode">\n
\n <tal:block metal:use-macro="developper_shortcut_render/macros/form" />\n
You should have received a copy of the GNU General Public License\n </tal:block>\n
along with this program; if not, write to the Free Software\n <div tal:condition="python: len(left_group) or len(right_group) or len(center_group) or len(dialog_actions)>1"\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n class="dialog_box">\n
-->\n <div tal:condition="python: len(dialog_actions) > 1"\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
class="dialog_selector">\n class="dialog_selector">\n
<label for="dialog_selector"\n <label for="dialog_selector"\n
tal:content="python: { \'object_exchange\': \'Select Exchange\'\n tal:content="python: { \'object_exchange\': \'Select Exchange\'\n
, \'object_print\' : \'Select Print\'\n , \'object_print\' : \'Select Print\'\n
, \'object_search\' : \'Select Search\'\n , \'object_search\' : \'Select Search\'\n
, \'object_report\' : \'Select Report\'\n , \'object_report\' : \'Select Report\'\n
}.get(dialog_category, \'Select\')"\n }.get(dialog_category, \'Select\')"\n
i18n:translate="" i18n:domain="ui"></label>\n i18n:translate="" i18n:domain="ui"></label>\n
<select name="select_dialog" id="dialog_selector"\n <select name="select_dialog" id="dialog_selector"\n
tal:attributes="onChange string:submitAction(this.form,\'Base_doDialog\')">\n tal:attributes="onChange string:submitAction(this.form,\'Base_doDialog\')">\n
<tal:block tal:repeat="action dialog_actions">\n <tal:block tal:repeat="action dialog_actions">\n
<option tal:attributes="value action/url;\n <option tal:attributes="value action/url;\n
selected python: action is current_action and \'selected\' or None"\n selected python: action is current_action and \'selected\' or None"\n
tal:content="action/name"\n tal:content="action/name"\n
i18n:translate="" i18n:domain="ui"></option>\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 </tal:block>\n
</select>\n <p class="clear"></p>\n
<button type="submit" name="Base_doDialog:method">\n </div>\n
<span class="image"></span>\n
<span class="description"\n
i18n:translate="" i18n:domain="ui">Go</span>\n
</button>\n
</div>\n </div>\n
<div class="content"\n </tal:block>\n
tal:define="group_list python: form.Form_getGroupTitleAndId();\n </tal:block>\n
gid_list python: \' \'.join([x[\'gid\'] for x in group_list if x not in (\'bottom\', \'hidden\')]);">\n <tal:block metal:fill-slot="bottom">\n
<tal:block tal:repeat="group group_list">\n <tal:block tal:define="field_errors python: request.get(\'field_errors\',{});\n
<tal:block tal:define="gid group/gid">\n dummy python: request.set(\'here\', here);\n
<fieldset tal:condition="python: \'hidden\' not in gid and \'bottom\' not in gid"\n bottom_group python: form.get_fields_in_group(\'bottom\')">\n
tal:attributes="class gid;\n <div tal:condition="python: len(bottom_group) > 0"\n
id python: \'fieldset_\' + gid.replace(\' \', \'_\');">\n class="bottom">\n
<legend tal:content="group/gtitle" class="group_title"/>\n <tal:block tal:repeat="field bottom_group">\n
<tal:block tal:repeat="field python: form.get_fields_in_group(group[\'goid\'])">\n <tal:block tal:condition="preferred_html_style_developper_mode">\n
<tal:block metal:use-macro="field_render"/>\n <tal:block metal:use-macro="developper_shortcut_render/macros/field_developper" />\n
</tal:block>\n </tal:block>\n
</fieldset>\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>\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 </tal:block>\n
<p class="clear"></p>\n
</div>\n </div>\n
</div>\n </tal:block>\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
</tal:block>\n </tal:block>\n
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<string>Products.PageTemplates.ZopePageTemplate</string> <tuple/>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -48,35 +45,16 @@ ...@@ -48,35 +45,16 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n <tal:block metal:use-macro="here/list_main/macros/master">\n
Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n <tal:block metal:fill-slot="main">\n
Vincent Pelletier <vincent@nexedi.com>\n <tal:block metal:use-macro="here/form_render/macros/master" />\n
Christophe Dumez <christophe@nexedi.com>\n </tal:block>\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>\n </tal:block>\n
</tal:block> </tal:block>\n
]]></string> </value> ]]></string> </value>
</item> </item>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<string>Products.PageTemplates.ZopePageTemplate</string> <tuple/>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -54,29 +51,11 @@ ...@@ -54,29 +51,11 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<tal:block tal:replace="nothing">\n
<!--\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 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 - both top fields must be in the same div, so they must be identified\n
strictly by their name.\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 ...@@ -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 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 title is found, we use group id as title.\n
-->\n -->\n
</tal:block>\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
\n \n
<tal:block tal:condition="preferred_html_style_developper_mode">\n <tal:block metal:define-macro="master">\n
<tal:block metal:use-macro="developper_shortcut_render/macros/form"/>\n <tal:block\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 \n
<tal:block tal:repeat="group group_list">\n <tal:block tal:repeat="group group_list">\n
<tal:block tal:define="gid group/gid;">\n <tal:block tal:define="gid group/gid;">\n
<fieldset tal:condition="python: gid.find(\'hidden\') < 0"\n <fieldset tal:condition="python: gid.find(\'hidden\') &lt; 0"\n
tal:attributes="class gid;\n tal:attributes="class gid;\n
id python: \'fieldset_%s\' % (gid.replace(\' \', \'_\'), );">\n id python: \'fieldset_%s\' % (gid.replace(\' \', \'_\'), );">\n
<legend tal:condition="group/gtitle" tal:content="group/gtitle" class="group_title"/>\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 tal:repeat="field python: form.get_fields_in_group(group[\'goid\'])">\n
<tal:block metal:use-macro="field_render"/>\n <tal:block metal:use-macro="field_render" />\n
</tal:block>\n </tal:block>\n
</fieldset>\n </fieldset>\n
</tal:block>\n
</tal:block>\n </tal:block>\n
<p class="clear"></p>\n
</tal:block>\n </tal:block>\n
<p class="clear"></p>\n
</tal:block>\n </tal:block>\n
</tal:block> </tal:block>\n
]]></string> </value> ]]></string> </value>
</item> </item>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<string>Products.PageTemplates.ZopePageTemplate</string> <tuple/>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -54,31 +51,13 @@ ...@@ -54,31 +51,13 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n <tal:block metal:use-macro="here/list_report/macros/master">\n
Copyright (c) 2007 Nexedi SARL and Contributors. All Rights Reserved.\n <tal:block metal:fill-slot="main">\n
\n <tal:block metal:use-macro="here/form_render/macros/master" />\n
This program is Free Software; you can redistribute it and/or\n </tal:block>\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>\n </tal:block>\n
</tal:block>\n </tal:block>\n
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<string>Products.PageTemplates.ZopePageTemplate</string> <tuple/>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -48,37 +45,18 @@ ...@@ -48,37 +45,18 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n <tal:block metal:define-macro="master">\n
Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n <tal:block metal:use-macro="here/view_main/macros/master">\n
Vincent Pelletier <vincent@nexedi.com>\n <tal:block metal:fill-slot="main">\n
Christophe Dumez <christophe@nexedi.com>\n <tal:block metal:use-macro="here/form_render/macros/master" />\n
\n </tal:block>\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>\n </tal:block>\n
</tal:block>\n </tal:block>\n
</tal:block> </tal:block>\n
]]></string> </value> ]]></string> </value>
</item> </item>
......
...@@ -51,48 +51,46 @@ ...@@ -51,48 +51,46 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block metal:define-macro="header_definitions">\n <tal:block tal:replace="nothing"\n
<tal:block tal:define="\n xmlns:tal="http://xml.zope.org/namespaces/tal"\n
global portal here/portal_url/getPortalObject;\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
global portal_path portal/absolute_url;\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
local_parameter_list local_parameter_list | python: {};\n <tal:block metal:define-macro="header_definitions">\n
\n <tal:block tal:define="\n
global actions python: here.Base_filterDuplicateActions(portal.portal_actions.listFilteredActionsFor(here));\n global portal here/portal_url/getPortalObject;\n
global url here/absolute_url;\n global portal_path portal/absolute_url;\n
global current_form_id python: local_parameter_list.get(\'dialog_id\', local_parameter_list.get(\'form_id\', \'view\'));\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 dummy python: request.set(\'current_form_id\', current_form_id);\n
global current_url python: \'%s/%s\' % (url, 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_action python: portal.ERP5Site_getCurrentAction(current_url, actions);\n
cancel_url request/cancel_url | current_url;\n cancel_url request/cancel_url | current_url;\n
dummy python: local_parameter_list.update({\'cancel_url\': cancel_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.RESPONSE.setHeader(\'Content-Type\', \'text/html;; charset=utf-8\');\n
dummy python: request.set(\'here\', here);\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 css_list_template css_list_template | python: [\'%s/erp5.css\' % (portal_path, )];\n
dummy python: css_list.extend(css_list_template);\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 js_list | python: [\'%s/erp5_xhtml_appearance.js\' % portal_path,];\n
global js_list python:[\'%s/MochiKit/MochiKit.js\' % portal_path,\n global js_list python:[\'%s/MochiKit/MochiKit.js\' % portal_path,\n
\'%s/erp5.js\' % portal_path, ] + js_list;\n \'%s/erp5.js\' % portal_path, ] + js_list;\n
\n global http_parameter_list python: portal.ERP5Site_filterParameterList(request.form);\n
global http_parameter_list python: portal.ERP5Site_filterParameterList(request.form);\n
dummy python: http_parameter_list.update(local_parameter_list);\n dummy python: http_parameter_list.update(local_parameter_list);\n
global http_parameters python: portal.ERP5Site_renderHTTPParameterList(http_parameter_list);\n global http_parameters python: portal.ERP5Site_renderHTTPParameterList(http_parameter_list);\n
global form nocall:form | nothing;\n global form nocall:form | nothing;\n
portal_preferences python: portal.portal_preferences;\n portal_preferences python: portal.portal_preferences;\n
global preferred_html_style_developper_mode portal_preferences/getPreferredHtmlStyleDevelopperMode;\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_translator_mode portal_preferences/getPreferredHtmlStyleTranslatorMode;\n
global preferred_html_style_contextual_help portal_preferences/getPreferredHtmlStyleContextualHelp;\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 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 global selected_language portal/Localizer/get_selected_language;\n
"/>\n " />\n
</tal:block>\n </tal:block>\n
\n <tal:block metal:define-macro="http_definitions">\n
<!-- ============================================================== -->\n <tal:block tal:replace="structure python: modules[\'ZTUtils\'].make_hidden_input(**http_parameter_list).replace(\'>\', \' />\')" />\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
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<string>Products.PageTemplates.ZopePageTemplate</string> <tuple/>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -48,58 +45,38 @@ ...@@ -48,58 +45,38 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n <tal:block tal:define="title here/Title">\n
Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n <tal:block metal:use-macro="here/main_template/macros/master">\n
Vincent Pelletier <vincent@nexedi.com>\n <tal:block metal:fill-slot="main">\n
Christophe Dumez <christophe@nexedi.com>\n <tal:block tal:condition="here/portal_membership/isAnonymousUser">\n
\n <tal:block tal:define="dummy python: request.RESPONSE.redirect(\'%s/login_form\' % url)" />\n
This program is Free Software; you can redistribute it and/or\n </tal:block>\n
modify it under the terms of the GNU General Public License\n <div tal:condition="python: not here.portal_membership.isAnonymousUser()"\n
as published by the Free Software Foundation; either version 2\n class="index_html">\n
of the License, or (at your option) any later version.\n <h2 i18n:translate="" i18n:domain="ui">Welcome to ERP5</h2>\n
\n <table border="1">\n
This program is distributed in the hope that it will be useful,\n <tr tal:define="module_list here/ERP5Site_getModuleItemList;\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n module_len python: len(module_list);\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n col_size python: 12;\n
GNU General Public License for more details.\n col_len python: module_len % col_size and (module_len + col_size) / col_size or (module_len) / col_size">\n
\n <td><a href="http://www.erp5.org/"><img src="images/erp5_logo.png" alt="ERP5 Logo" /></a></td>\n
You should have received a copy of the GNU General Public License\n <tal:block tal:repeat="col_no python:range(col_len)">\n
along with this program; if not, write to the Free Software\n <td valign="top" class="ModuleShortcut">\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n <tal:block tal:repeat="module python:module_list[col_size*col_no:min(col_size*(col_no+1),module_len)] ">\n
-->\n <div><a tal:content="python: module[0]"\n
</tal:block>\n tal:attributes="href python: module[1] + \'/view\'"></a></div>\n
<tal:block tal:define="title here/Title">\n </tal:block>\n
<tal:block metal:use-macro="here/main_template/macros/master">\n </td>\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 </tal:block>\n
</td>\n </tr>\n
</tal:block>\n </table>\n
</tr>\n </div>\n
</table>\n </tal:block>\n
</div>\n </tal:block>\n
</tal:block>\n </tal:block>\n
</tal:block>\n
</tal:block> </tal:block>
]]></string> </value> ]]></string> </value>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<string>Products.PageTemplates.ZopePageTemplate</string> <tuple/>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -54,19 +51,23 @@ ...@@ -54,19 +51,23 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block metal:define-macro="master">\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
<tal:block tal:define="form_id form/id;\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
list_mode python: True;\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
listmode_default_listbox python: form.Form_getListbox();\n <tal:block metal:define-macro="master">\n
selection_name listmode_default_listbox/selection_name;\n <tal:block tal:define="form_id form/id;\n
selection_index request/selection_index | python:0;\n list_mode python: True;\n
dummy python: selection_name and request.set(\'selection_name\', selection_name);\n listmode_default_listbox python: form.Form_getListbox();\n
\n selection_name listmode_default_listbox/selection_name;\n
local_parameter_list local_parameter_list | python: {};\n selection_index request/selection_index | python:0;\n
dummy python: local_parameter_list.update({\'selection_name\': selection_name, \'selection_index\': selection_index, \'form_id\': form_id});">\n dummy python: selection_name and request.set(\'selection_name\', selection_name);\n
<tal:block metal:use-macro="here/form_dialog/macros/master"/>\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>\n
</tal:block> </tal:block>\n
]]></string> </value> ]]></string> </value>
</item> </item>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<string>Products.PageTemplates.ZopePageTemplate</string> <tuple/>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -54,48 +51,27 @@ ...@@ -54,48 +51,27 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n <tal:block metal:define-macro="master">\n
Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n <tal:block tal:define="form_action string:Base_doSelect;\n
Vincent Pelletier <vincent@nexedi.com>\n form_id form/id;\n
Christophe Dumez <christophe@nexedi.com>\n list_mode python: True;\n
\n listmode_default_listbox python:form.listbox;\n
This program is Free Software; you can redistribute it and/or\n selection_name listmode_default_listbox/selection_name;\n
modify it under the terms of the GNU General Public License\n selection_index request/selection_index | python:0;\n
as published by the Free Software Foundation; either version 2\n dummy python: selection_name and request.set(\'selection_name\', selection_name);\n
of the License, or (at your option) any later version.\n local_parameter_list local_parameter_list | python: {};\n
\n dummy python: local_parameter_list.update({\'selection_name\': selection_name, \'selection_index\': selection_index, \'form_id\': form_id});\n
This program is distributed in the hope that it will be useful,\n title here/getTranslatedTitle | here/Title">\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n <tal:block metal:use-macro="here/main_template/macros/master">\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n <tal:block metal:fill-slot="context_bar">\n
GNU General Public License for more details.\n <tal:block metal:use-macro="here/context_box_render/macros/master" />\n
\n </tal:block>\n
You should have received a copy of the GNU General Public License\n <tal:block metal:fill-slot="main">\n
along with this program; if not, write to the Free Software\n <tal:block metal:define-slot="main" />\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n </tal:block>\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>\n </tal:block>\n
</tal:block>\n </tal:block>\n
</tal:block>\n </tal:block>\n
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<string>Products.PageTemplates.ZopePageTemplate</string> <tuple/>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -54,62 +51,44 @@ ...@@ -54,62 +51,44 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n <tal:block metal:define-macro="master">\n
Copyright (c) 2007 Nexedi SARL and Contributors. All Rights Reserved.\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 \'&amp;\' or \'?\', http_parameters)"\n
tal:content="action/name"\n
i18n:translate="" i18n:domain="ui" />\n
</li>\n
</ul>\n
</div>\n
\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 \n
This program is distributed in the hope that it will be useful,\n <tal:block metal:define-slot="main" />\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 \'&amp;\' or \'?\', http_parameters)"\n
tal:content="action/name"\n
i18n:translate="" i18n:domain="ui"/>\n
</li>\n
</ul>\n
</div>\n </div>\n
\n </tal:block>\n
\n
<tal:block metal:define-slot="main" />\n
</div>\n
</tal:block>\n </tal:block>\n
</tal:block>\n </tal:block>\n
</tal:block>\n </tal:block>\n
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<string>Products.PageTemplates.ZopePageTemplate</string> <tuple/>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -54,22 +51,27 @@ ...@@ -54,22 +51,27 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:condition="here/portal_skins/updateSkinCookie | nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
tal:define="dummy here/setupCurrentSkin;" />\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
<tal:block tal:define="response request/RESPONSE;\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
mtool here/portal_membership;\n <tal:block tal:condition="here/portal_skins/updateSkinCookie | nothing"\n
isAnon mtool/isAnonymousUser|nothing;">\n tal:define="dummy here/setupCurrentSkin;" />\n
<tal:block tal:condition="isAnon">\n <tal:block tal:define="response request/RESPONSE;\n
<tal:block tal:define="dummy python: response.expireCookie(\'__ac\', path=\'/\');\n mtool here/portal_membership;\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 isAnon mtool/isAnonymousUser|nothing;">\n
url python: request.get(\'came_from\') and \'%s&came_from=%s\' % (url, request[\'came_from\']) or url;\n <tal:block tal:condition="isAnon">\n
dummy python: response.redirect(url);"/>\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&amp;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>\n
<tal:block tal:condition="not: isAnon">\n </tal:block>\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>
]]></string> </value> ]]></string> </value>
</item> </item>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<string>Products.PageTemplates.ZopePageTemplate</string> <tuple/>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -48,37 +45,21 @@ ...@@ -48,37 +45,21 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<tal:block replace="nothing">\n
<!--\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 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 -->\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>\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> ]]></string> </value>
</item> </item>
......
...@@ -57,92 +57,66 @@ ...@@ -57,92 +57,66 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n <tal:block tal:define="form_action string:logged_in;\n
Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n global form_id string:login_form;\n
Vincent Pelletier <vincent@nexedi.com>\n js_list python: [\'%s/login_form.js\' % (here.portal_url(), )]">\n
Christophe Dumez <christophe@nexedi.com>\n <tal:block metal:use-macro="here/main_template/macros/master">\n
\n <tal:block metal:fill-slot="main">\n
This program is Free Software; you can redistribute it and/or\n <div class="content login">\n
modify it under the terms of the GNU General Public License\n <tal:block tal:condition="python: request.get(\'came_from\', None) is None">\n
as published by the Free Software Foundation; either version 2\n <h1 i18n:translate="" i18n:domain="ui">Log in</h1>\n
of the License, or (at your option) any later version.\n </tal:block>\n
\n <tal:block tal:condition="python: request.get(\'came_from\', None) is not None">\n
This program is distributed in the hope that it will be useful,\n <h1 i18n:translate="" i18n:domain="ui">You don\'t have enough permissions to access this page</h1>\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n <p i18n:translate="" i18n:domain="ui">You can log in with another user name or\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n <a href="javascript:history.back();">go back</a>.\n
GNU General Public License for more details.\n </p>\n
\n </tal:block>\n
You should have received a copy of the GNU General Public License\n <input tal:condition="exists: request/came_from"\n
along with this program; if not, write to the Free Software\n type="hidden" name="came_from"\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n tal:attributes="value request/came_from" />\n
-->\n <fieldset id="fieldset_left" class="left">\n
</tal:block>\n <div class="field">\n
<tal:block tal:define="form_action string:logged_in;\n <label for="name" class="required" i18n:translate="" i18n:domain="ui">Name</label>\n
global form_id string:login_form;\n <div class="input"><input type="text" name="__ac_name" id="name" tal:attributes="value python: request.get(\'__ac_name\') or \'\'" /></div>\n
js_list python: [\'%s/login_form.js\' % (here.portal_url(), )]">\n </div>\n
<tal:block metal:use-macro="here/main_template/macros/master">\n <div class="field">\n
<tal:block metal:fill-slot="main">\n <label for="password" i18n:translate="" i18n:domain="ui">Password</label>\n
<div class="content login">\n <div class="input"><input type="password" name="__ac_password" id="password" /></div>\n
\n </div>\n
<tal:block tal:condition="python: request.get(\'came_from\', None) is None">\n <div class="field">\n
<h1 i18n:translate="" i18n:domain="ui">Log in</h1>\n <label for="cb_remember" i18n:translate="" i18n:domain="ui">Remember my name</label>\n
</tal:block>\n <div class="input"><input type="checkbox" name="__ac_persistent" value="1" checked="checked" id="cb_remember" /></div>\n
\n </div>\n
<tal:block tal:condition="python: request.get(\'came_from\', None) is not None">\n <div class="field">\n
<h1 i18n:translate="" i18n:domain="ui">You don\'t have enough permissions to access this page</h1>\n <label>&nbsp;</label>\n
<p i18n:translate="" i18n:domain="ui">You can log in with another user name or\n <div class="input">\n
<a href="javascript:history.back();">go back</a>.\n <input type="submit" value="Login" class="submit"\n
</p>\n tal:attributes="name python: \'%s:method\' % (form_action, )"\n
</tal:block>\n i18n:attributes="value" i18n:domain="ui" />\n
\n </div>\n
<input tal:condition="exists: request/came_from"\n </div>\n
type="hidden" name="came_from"\n <div class="field">\n
tal:attributes="value request/came_from" />\n <label>&nbsp;</label>\n
\n <div class="input">\n
<fieldset id="fieldset_left" class="left">\n <a tal:attributes="href string:${here/portal_url}/mail_password_form"\n
<div class="field">\n i18n:translate="" i18n:domain="ui">I forgot my password!</a>\n
<label for="name" class="required" i18n:translate="" i18n:domain="ui">Name</label>\n </div>\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>\n </fieldset>\n
<div class="field">\n <script type="text/javascript">setFocus()</script>\n
<label for="password" i18n:translate="" i18n:domain="ui">Password</label>\n <p i18n:translate="" i18n:domain="ui">Having trouble logging in? Make sure to enable cookies in your web browser.</p>\n
<div class="input"><input type="password" name="__ac_password" id="password"/></div>\n <p i18n:translate="" i18n:domain="ui">Don\'t forget to logout or exit your browser when you\'re done.</p>\n
</div>\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 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>\n
<div class="field">\n </tal:block>\n
<label>&nbsp;</label>\n </tal:block>\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>&nbsp;</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> ]]></string> </value>
</item> </item>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<string>Products.PageTemplates.ZopePageTemplate</string> <tuple/>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -54,56 +51,40 @@ ...@@ -54,56 +51,40 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<tal:block tal:replace="nothing">\n
<!--\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 IDEAS:\n
- Add callbacks to ERP5Form object (selection ?) to gather needed fields -> put them in http_parameter_list.\n - Add callbacks to ERP5Form object (selection ?) to gather needed fields -> put them in http_parameter_list.\n
-->\n -->\n
</tal:block>\n </tal:block>\n
<tal:block metal:define-macro="master">\n <tal:block metal:define-macro="master">\n
<tal:block\n <tal:block\n
tal:define="ignore_layout request/ignore_layout | nothing;\n tal:define="ignore_layout request/ignore_layout | nothing;\n
layout_form_id request/layout_form_id | here/getApplicableLayout | 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 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 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 python: (not is_web_mode) or request.get(\'editable_mode\', False);\n
editable_mode_backup editable_mode;\n editable_mode_backup editable_mode;\n
dummy python: request.set(\'editable_mode\', editable_mode);\n dummy python: request.set(\'editable_mode\', editable_mode);\n
dummy python: request.set(\'is_web_mode\', is_web_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 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:use-macro="python: getattr(here, page_template).macros[\'master\']">\n
<tal:block metal:fill-slot="context_bar">\n <tal:block metal:fill-slot="context_bar">\n
<tal:block metal:define-slot="context_bar"/>\n <tal:block metal:define-slot="context_bar" />\n
</tal:block>\n </tal:block>\n
<tal:block metal:fill-slot="main"\n <tal:block metal:fill-slot="main"\n
tal:define="editable_mode editable_mode_backup;\n tal:define="editable_mode editable_mode_backup;\n
dummy python: request.set(\'editable_mode\', editable_mode);">\n dummy python: request.set(\'editable_mode\', editable_mode);">\n
<tal:block metal:define-slot="main"/>\n <tal:block metal:define-slot="main" />\n
</tal:block>\n
</tal:block>\n </tal:block>\n
</tal:block>\n </tal:block>\n
</tal:block>\n </tal:block>\n
</tal:block> </tal:block>\n
]]></string> </value> ]]></string> </value>
</item> </item>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<string>Products.PageTemplates.ZopePageTemplate</string> <tuple/>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -54,95 +51,100 @@ ...@@ -54,95 +51,100 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:define="actions python: here.getPortalObject().portal_actions.listFilteredActionsFor(here)">\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
<span class="first">\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
<span id="favourites">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<select name="select_favorite"\n <tal:block tal:define="actions python: here.getPortalObject().portal_actions.listFilteredActionsFor(here)">\n
tal:define="ordered_global_actions python:here.getOrderedGlobalActionList(actions[\'global\']);\n <span class="first">\n
user_actions actions/user;"\n <span id="favourites">\n
tal:attributes="onChange string:submitAction(this.form,\'Base_doFavorite\')">\n <select name="select_favorite"\n
<option selected="selected" value=""\n tal:define="ordered_global_actions python:here.getOrderedGlobalActionList(actions[\'global\']);\n
i18n:translate="" i18n:domain="ui">My favourites</option>\n user_actions actions/user;"\n
<tal:block tal:repeat="action ordered_global_actions">\n tal:attributes="onChange string:submitAction(this.form,\'Base_doFavorite\')">\n
<option tal:condition="action/disabled"\n <option selected="selected" value=""\n
disabled="disabled">-- <tal:block tal:content="action/title" i18n:translate="" i18n:domain="ui" /> --</option>\n i18n:translate="" i18n:domain="ui">My favourites</option>\n
<tal:block tal:condition="not:action/disabled"\n <tal:block tal:repeat="action ordered_global_actions">\n
tal:define="name python: action.get(\'name\', \'\');\n <option tal:condition="action/disabled"\n
index python: name.find(\' (\');">\n disabled="disabled">-- <tal:block tal:content="action/title" i18n:translate="" i18n:domain="ui" /> --</option>\n
<option tal:condition="python: index >= 0"\n <tal:block tal:condition="not:action/disabled"\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 tal:define="name python: action.get(\'name\', \'\');\n
<option tal:condition="python: index < 0"\n index python: name.find(\' (\');">\n
tal:attributes="value action/url"\n <option tal:condition="python: index &gt;= 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 &lt; 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:content="action/name"\n
tal:attributes="value action/url"\n
i18n:translate="" i18n:domain="ui"></option>\n i18n:translate="" i18n:domain="ui"></option>\n
</tal:block>\n </tal:block>\n
</tal:block>\n </select>\n
<tal:block tal:condition="user_actions">\n <button type="submit" name="Base_doFavorite:method" title="Select Favorite"\n
<option disabled="disabled">-- <tal:block i18n:translate="" i18n:domain="ui">User</tal:block> --</option>\n i18n:attributes="title" i18n:domain="ui">\n
<option tal:repeat="action user_actions"\n <span class="image"></span>\n
tal:content="action/name"\n <span class="description"\n
tal:attributes="value action/url"\n i18n:translate="" i18n:domain="ui">Select Favorite</span>\n
i18n:translate="" i18n:domain="ui"></option>\n </button>\n
</tal:block>\n </span>\n
</select>\n <span class="separator"></span>\n
<button type="submit" name="Base_doFavorite:method" title="Select Favorite"\n <span id="modules">\n
i18n:attributes="title" i18n:domain="ui">\n <select name="select_module"\n
<span class="image"></span>\n tal:define="module_list here/ERP5Site_getModuleItemList;"\n
<span class="description"\n tal:attributes="onChange string:submitAction(this.form,\'Base_doModule\')">\n
i18n:translate="" i18n:domain="ui">Select Favorite</span>\n <option selected="selected" value="" i18n:translate="" i18n:domain="ui">ERP5 Modules</option>\n
</button>\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>\n
<span class="separator"></span>\n <span class="second">\n
<span id="modules">\n <span id="language">\n
<select name="select_module"\n <select name="select_language"\n
tal:define="module_list here/ERP5Site_getModuleItemList;"\n tal:attributes="onChange string:submitAction(this.form,\'Base_doLanguage\')">\n
tal:attributes="onChange string:submitAction(this.form,\'Base_doModule\')">\n <option value=""\n
<option selected="selected" value="" i18n:translate="" i18n:domain="ui">ERP5 Modules</option>\n i18n:translate="" i18n:domain="ui">My language</option>\n
<option tal:repeat="module module_list"\n <option tal:repeat="language python: here.Localizer.get_languages_map()"\n
tal:attributes="value python: module[1]"\n tal:omit-tag="nothing"\n
tal:content="python: module[0]"\n tal:attributes="value language/id;\n
tal:omit-tag="nothing"/>\n selected python: language[\'selected\'] and \'selected\' or nothing;"\n
</select>\n tal:content="python: here.Localizer.erp5_ui.gettext(language[\'title\'], lang=language[\'id\'])" />\n
<button type="submit" name="Base_doModule:method" title="Select Module"\n </select>\n
i18n:attributes="title" i18n:domain="ui">\n <button type="submit" name="Base_doLanguage:method" title="Select Language"\n
<span class="image"></span>\n i18n:attributes="title" i18n:domain="ui">\n
<span class="description"\n <span class="image"></span>\n
i18n:translate="" i18n:domain="ui">Select Module</span>\n <span class="description"\n
</button>\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>\n <p class="clear"></p>\n
<span class="second">\n </tal:block>\n
<span id="language">\n </tal:block>\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>
]]></string> </value> ]]></string> </value>
</item> </item>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<string>Products.PageTemplates.ZopePageTemplate</string> <tuple/>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -54,382 +51,347 @@ ...@@ -54,382 +51,347 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<!--\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
Thomas Bernard <thomas@nexedi.com>\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
\n <tal:block tal:replace="nothing">\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
<!--\n <!--\n
This Page template is aimed to generate the HTML code necessary to display correctly the\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 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 Beware this only generates the HTML code, no CSS generation is done in this script\n
-->\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
&nbsp;\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
&nbsp;\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\'] &gt; 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 \n
<tal:block tal:define=" basic options/basic;\n <tal:block tal:condition="python:basic.main_axis_info[\'bound_stop\']!=basic.main_axis_info[\'bound_end\']">\n
planning options/planning;\n <b tal:replace="nothing"> next page exists </b>\n
address python:basic.context.getUrl()">\n <input type="image" src="/images/1rightarrowv.png" title="Next Page" name="" border="0"\n
\n tal:attributes="src string:${address}/images/1rightarrowv.png;\n
<!-- hidden fields holding some usefull data-->\n name string:${address}/nextPage:method" />\n
<input type="hidden" name="list_selection_name" value="PlanningView" tal:attributes="value python:basic.field.get_value(\'selection_name\')"/>\n </tal:block>\n
<!-- setPage needs \'listbox_uid:list\'-->\n </td>\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
&nbsp;\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
&nbsp;\n
</tal:block>\n
</td>\n
\n \n
<td>\n <td>\n
<b tal:replace="nothing">\n <tal:block tal:repeat="nb python:range(8)">\n
<!-- page selection need to be implemented here\n &nbsp;\n
for that will use structure.basic-->\n </tal:block>\n
</b>\n <tal:block tal:condition="python:planning.main_axis == planning.Y">\n
<tal:block tal:condition="python:basic.main_axis_info[\'bound_start\']!=0">\n <tal:block i18n:translate="" i18n:domain="ui"> X Axis </tal:block>\n
<b tal:replace="nothing"> previous page exists </b>\n </tal:block>\n
<input type="image" src="/images/1leftarrowv.png" title="Previous Page" name="" border="0"\n <tal:block tal:condition="python:planning.main_axis != planning.Y">\n
tal:attributes="src string:${address}/images/1leftarrowv.png;\n <tal:block i18n:translate="" i18n:domain="ui"> Y Axis </tal:block>\n
name string:${address}/previousPage:method"/>\n </tal:block>\n
</tal:block>\n <tal:block tal:repeat="nb python:range(1)">\n
&nbsp;\n
</tal:block>\n
</td>\n
<td>\n
\n \n
<select name="list_start" title="Change Page" size="1"\n <!-- processing zoom level select -->\n
onChange=""\n <select name="zoom_level" title="Change Zoom Level" size="1"\n
tal:condition="python:basic.main_axis_info[\'bound_page_total\'] > 1"\n onChange=""\n
tal:attributes="onChange string:submitAction(this.form,\'${address}/setPage\')">\n tal:attributes="onChange string:submitAction(this.form,\'${address}/setZoomLevel\')">\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:not basic.field.get_value(\'use_date_zoom\')">\n
<tal:block tal:condition="python:current_page_number==basic.main_axis_info[\'bound_page_current\']">\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
<b tal:replace="nothing"> actual page is selected </b>\n <tal:block tal:condition="python:current_zoom_level==basic.secondary_axis_info[\'zoom_level\']">\n
<option selected="selected" value="None"\n <b tal:replace="nothing"> current zoom level is selected </b>\n
tal:attributes="value python:(current_page_number - 1)*basic.main_axis_info[\'bound_axis_groups\']"\n <option selected="selected" value="None"\n
tal:content="structure python:str(current_page_number) + \' of \' + str(basic.main_axis_info[\'bound_page_total\'])">page</option>\n tal:attributes="value python:current_zoom_level"\n
</tal:block>\n tal:content="structure python:\'Zoom %sx\' % current_zoom_level">Zoom level</option>\n
<tal:block tal:condition="python:current_page_number!=basic.main_axis_info[\'bound_page_current\']">\n </tal:block>\n
<b tal:replace="nothing"> actual page is not selected </b>\n <tal:block tal:condition="python:current_zoom_level!=basic.secondary_axis_info[\'zoom_level\']">\n
<option value="None"\n <b tal:replace="nothing"> current zoom level is not selected </b>\n
tal:attributes="value python:(current_page_number - 1)*basic.main_axis_info[\'bound_axis_groups\']"\n <option value="None"\n
tal:content="structure python:str(current_page_number) + \' of \' + str(basic.main_axis_info[\'bound_page_total\'])">page</option>\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&amp;list_selection_name=%s&amp;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
</tal:block>\n <tal:condition tal:condition="python:axis==planning.X">\n
</select>\n <tal:block tal:define="global previous_src string:${address}/images/1leftarrowv.png;\n
\n global next_src string:${address}/images/1rightarrowv.png">\n
<tal:block tal:condition="python:basic.main_axis_info[\'bound_stop\']!=basic.main_axis_info[\'bound_end\']">\n </tal:block>\n
<b tal:replace="nothing"> next page exists </b>\n </tal:condition>\n
<input type="image" src="/images/1rightarrowv.png" title="Next Page" name="" border="0"\n <tal:condition tal:condition="python:axis==planning.Y">\n
tal:attributes="src string:${address}/images/1rightarrowv.png;\n <tal:block tal:define="global previous_src string:${address}/images/1toparrow.png;\n
name string:${address}/nextPage:method"/>\n global next_src string:${address}/images/1bottomarrow.png">\n
</tal:block>\n </tal:block>\n
</td>\n </tal:condition>\n
\n <!-- widgets of the current axis -->\n
<td>\n <tal:block tal:condition="python:axis==planning.main_axis">\n
<tal:block tal:repeat="nb python:range(8)">\n <!-- current axis is main axis-->\n
&nbsp;\n <tal:block tal:condition="python:basic.main_axis_info[\'bound_start\']!=0">\n
</tal:block>\n <!-- previous page exists -->\n
<tal:block tal:condition="python:planning.main_axis == planning.Y">\n <input type="image" src="/images/1leftarrowv.png" title="Previous Page" name="" border="0"\n
<tal:block i18n:translate="" i18n:domain="ui"> X Axis </tal:block>\n tal:attributes="src previous_src;\n
</tal:block>\n name string:${address}/previousPage:method;\n
<tal:block tal:condition="python:planning.main_axis != planning.Y">\n id python:axis.name + \'_previous\'" />\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
&nbsp;\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:block>\n </tal:block>\n
<tal:block tal:condition="python:current_zoom_level!=basic.secondary_axis_info[\'zoom_level\']">\n <tal:block tal:condition="python:basic.main_axis_info[\'bound_stop\']!=basic.main_axis_info[\'bound_end\']">\n
<b tal:replace="nothing"> current zoom level is not selected </b>\n <!-- next page exists -->\n
<option value="None"\n <input type="image" src="/images/1rightarrowv.png" title="Next Page" name="" border="0"\n
tal:attributes="value python:current_zoom_level"\n tal:attributes="src next_src;\n
tal:content="structure python:\'Zoom %sx\' % current_zoom_level">Zoom level</option>\n name string:${address}/nextPage:method;\n
id python:axis.name + \'_next\'" />\n
</tal:block>\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=&amp;selection_name=%s&amp;ignore_layout:int=0&amp;report_depth:int=%s\' % (url,selection_name,unfold_level)"\n
tal:content="structure python:str(unfold_level) + \'&lt;br&gt;\'">\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=&amp;selection_name=%s&amp;ignore_layout:int=0&amp;report_depth:int=%s\' % (url,selection_name,unfold_level)"\n
tal:content="structure python:str(unfold_level) + \'&nbsp;\'">\n
0\n
</a>\n
</div>\n
</tal:block>\n </tal:block>\n
</tal:block>\n <tal:block tal:condition="python:axis==planning.secondary_axis">\n
<tal:block tal:condition="python:basic.field.get_value(\'use_date_zoom\')">\n <!-- Zoom page-->\n
<!-- Defining Date Zoom Level -->\n <!-- tal:block tal:condition="python:basic.secondary_axis_info[\'zoom_start\']!=0" -->\n
<!-- XXX This part has to be improved -->\n <!-- previous page exists -->\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 <input type="image" src="/images/1leftarrowv.png" title="Previous Zoom Page" name="" border="0"\n
<tal:block tal:condition="python:current_zoom_level[1]==basic.secondary_axis_info[\'zoom_level\']">\n tal:attributes="src previous_src;\n
<b tal:replace="nothing"> current zoom level is selected </b>\n name string:${address}/previousZoom:method;\n
<option selected="selected" value="None"\n id python:axis.name + \'_previous\'" />\n
tal:attributes="value python:current_zoom_level[1]"\n <!-- /tal:block -->\n
i18n:translate="" i18n:domain="ui"\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
tal:content="structure python:str(current_zoom_level[0])">Zoom level</option>\n <!-- next page exists -->\n
</tal:block>\n <input type="image" src="/images/1rightarrowv.png" title="Next Zoom Page" name="" border="0"\n
<tal:block tal:condition="python:current_zoom_level[1]!=basic.secondary_axis_info[\'zoom_level\']">\n tal:attributes="src next_src;\n
<b tal:replace="nothing"> current zoom level is not selected </b>\n name string:${address}/nextZoom:method;\n
<option value="None"\n id python:axis.name + \'_next\'" />\n
tal:attributes="value python:current_zoom_level[1]"\n <!-- /tal:block -->\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
</tal:block>\n </div>\n
</select>\n <!-- planning content-->\n
<tal:block tal:condition="python:basic.field.get_value(\'use_date_zoom\')"\n <div class="planning_content">\n
tal:define="form_id python:\'%s\' % (basic.form.id);\n <!-- display main axis lines -->\n
selection_name python:basic.field.get_value(\'selection_name\');\n <tal:block tal:repeat="axis_group python:planning.main_axis.axis_group">\n
zoom_level python:basic.secondary_axis_info[\'zoom_level\'];\n <div tal:attributes="id python:axis_group.name + \'_line\'"></div>\n
today python:\'%s/%s/%s\' % (str(DateTime().year()), str(DateTime().month()),str(DateTime().day()))">\n <b tal:replace="nothing">\n
<a tal:attributes="href python: \'%s/setZoomLevel?form_id=%s&list_selection_name=%s&zoom_date_start=%s\'\n <!-- display main axis sub_lines if necessary --></b>\n
% (context.absolute_url(), form_id,selection_name,today)">\n <tal:block tal:condition="python:axis_group.axis_element_number &gt; 1">\n
<img src="/images/jump.png" title="Jump to Current Day" name="JumpToCurrentDay" \n <div tal:repeat="axis_element_number python:range(axis_group.axis_element_number)[1:]"\n
tal:attributes="src string:${address}/images/jump.png;" />\n tal:attributes="id python:axis_group.name + \'_line_\' + str(axis_element_number)">\n
</a> \n </div>\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=&amp;selection_name=%s&amp;ignore_layout:int=0&amp;report_depth:int=%s\' % (url,selection_name,unfold_level)"\n
tal:content="structure python:str(unfold_level) + \'&lt;br&gt;\'">\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=&amp;selection_name=%s&amp;ignore_layout:int=0&amp;report_depth:int=%s\' % (url,selection_name,unfold_level)"\n
tal:content="structure python:str(unfold_level) + \'&nbsp;\'">\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
</tal:block>\n </tal:block>\n
</tal:block>\n </tal:block>\n
</tal:block>\n <!-- display secondary axis lines -->\n
</tal:block>\n <div tal:repeat="axis_group python:planning.secondary_axis.axis_group"\n
</div>\n tal:attributes="id python:axis_group.name + \'_line\'"></div>\n
<div tal:condition="python:block.property_dict[\'stat\']== 1"\n <!-- display blocks -->\n
tal:attributes="id python:block.name;\n <tal:block tal:repeat="block python:planning.content">\n
title python:block.title">\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
&lt;img tal:attributes="src python:basic.here.getUrl() + \'/images/question.png\'"\n
height="15" width="15" /&gt;\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 </div>\n
</tal:block>\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 </tal:block>\n
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<string>Products.PageTemplates.ZopePageTemplate</string> <tuple/>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -54,85 +51,66 @@ ...@@ -54,85 +51,66 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n <tal:block metal:use-macro="here/view_main/macros/master">\n
Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n <tal:block metal:fill-slot="main">\n
Vincent Pelletier <vincent@nexedi.com>\n <tal:block tal:define="field_errors python: request.get(\'field_errors\',{});\n
Christophe Dumez <christophe@nexedi.com>\n dummy python: request.set(\'here\', here);\n
\n left_group python: form.get_fields_in_group(\'left\');\n
This program is Free Software; you can redistribute it and/or\n right_group python: form.get_fields_in_group(\'right\');\n
modify it under the terms of the GNU General Public License\n center_left_group python: form.get_fields_in_group(\'center_left\');\n
as published by the Free Software Foundation; either version 2\n center_right_group python: form.get_fields_in_group(\'center_right\');\n
of the License, or (at your option) any later version.\n bottom_group python: form.get_fields_in_group(\'bottom\');\n
\n field_render nocall: here/field_render/macros/field_render">\n
This program is distributed in the hope that it will be useful,\n <tal:block tal:condition="preferred_html_style_developper_mode">\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n <tal:block metal:use-macro="developper_shortcut_render/macros/form" />\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n </tal:block>\n
GNU General Public License for more details.\n <div tal:condition="python: len(left_group) > 0 or len(right_group) > 0"\n
\n class="top_group">\n
You should have received a copy of the GNU General Public License\n <fieldset tal:condition="python: len(left_group) > 0"\n
along with this program; if not, write to the Free Software\n class="left">\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n <tal:block tal:repeat="field left_group">\n
-->\n <tal:block metal:use-macro="field_render" />\n
</tal:block>\n </tal:block>\n
<tal:block metal:use-macro="here/view_main/macros/master">\n </fieldset>\n
<tal:block metal:fill-slot="main">\n <fieldset tal:condition="python: len(right_group) > 0"\n
<tal:block tal:define="field_errors python: request.get(\'field_errors\',{});\n class="right">\n
dummy python: request.set(\'here\', here);\n <tal:block tal:repeat="field right_group">\n
left_group python: form.get_fields_in_group(\'left\');\n <tal:block metal:use-macro="field_render" />\n
right_group python: form.get_fields_in_group(\'right\');\n </tal:block>\n
center_left_group python: form.get_fields_in_group(\'center_left\');\n </fieldset>\n
center_right_group python: form.get_fields_in_group(\'center_right\');\n <p class="clear"></p>\n
bottom_group python: form.get_fields_in_group(\'bottom\');\n </div>\n
field_render nocall: here/field_render/macros/field_render">\n <div tal:condition="python: len(center_left_group) > 0 or len(center_right_group) > 0"\n
<tal:block tal:condition="preferred_html_style_developper_mode">\n class="top_group">\n
<tal:block metal:use-macro="developper_shortcut_render/macros/form" />\n <fieldset tal:condition="python: len(center_left_group) > 0"\n
</tal:block>\n class="left">\n
<div tal:condition="python: len(left_group) > 0 or len(right_group) > 0"\n <tal:block tal:repeat="field center_left_group">\n
class="top_group">\n <tal:block metal:use-macro="field_render" />\n
<fieldset tal:condition="python: len(left_group) > 0"\n </tal:block>\n
class="left">\n </fieldset>\n
<tal:block tal:repeat="field left_group">\n <fieldset tal:condition="python: len(center_right_group) > 0"\n
<tal:block metal:use-macro="field_render" />\n class="right">\n
</tal:block>\n <tal:block tal:repeat="field center_right_group">\n
</fieldset>\n <tal:block metal:use-macro="field_render" />\n
<fieldset tal:condition="python: len(right_group) > 0"\n </tal:block>\n
class="right">\n </fieldset>\n
<tal:block tal:repeat="field right_group">\n <p class="clear"></p>\n
<tal:block metal:use-macro="field_render" />\n </div>\n
</tal:block>\n <fieldset tal:condition="python: len(bottom_group) > 0"\n
</fieldset>\n class="center">\n
<p class="clear"></p>\n <tal:block tal:repeat="field python: form.get_fields_in_group(\'bottom\')">\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 metal:use-macro="field_render" />\n
</tal:block>\n </tal:block>\n
<p class="clear"></p>\n
</fieldset>\n </fieldset>\n
<p class="clear"></p>\n </tal:block>\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>\n
</tal:block> </tal:block>\n
]]></string> </value> ]]></string> </value>
</item> </item>
......
...@@ -51,34 +51,14 @@ ...@@ -51,34 +51,14 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n <tal:block metal:define-macro="master">\n
Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n <tal:block tal:define="local_parameter_list local_parameter_list | python: {};\n
Vincent Pelletier <vincent@nexedi.com>\n dummy python: local_parameter_list.update({\'field_id\': request[\'field_id\'], \'form_pickle\': request[\'form_pickle\'], \'form_signature\': request[\'form_signature\']});">\n
Christophe Dumez <christophe@nexedi.com>\n <tal:block metal:use-macro="here/form_dialog/macros/master" />\n
\n </tal:block>\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>\n </tal:block>\n
</tal:block>\n </tal:block>\n
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<string>Products.PageTemplates.ZopePageTemplate</string> <tuple/>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -54,47 +51,27 @@ ...@@ -54,47 +51,27 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n <tal:block tal:define="title string:${template/title_or_id} - ${here/Title}">\n
Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n <tal:block metal:use-macro="here/view_main/macros/master">\n
Vincent Pelletier <vincent@nexedi.com>\n <tal:block metal:fill-slot="main">\n
Christophe Dumez <christophe@nexedi.com>\n <tal:block metal:use-macro="here/form_render/macros/master" />\n
\n <tal:block tal:define="portal_object here/getPortalObject">\n
This program is Free Software; you can redistribute it and/or\n <tal:block tal:repeat="report_item report_method">\n
modify it under the terms of the GNU General Public License\n <tal:block tal:define="here python: report_item.getObject(portal_object);\n
as published by the Free Software Foundation; either version 2\n dummy python: report_item.pushReport(portal_object)">\n
of the License, or (at your option) any later version.\n <span tal:condition="report_item/getTitle"\n
\n tal:content="report_item/getTitle"\n
This program is distributed in the hope that it will be useful,\n tal:attributes="class string:report_title_level_${report_item/getLevel}" />\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n <tal:block tal:condition="report_item/getFormId">\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n <tal:block tal:define="form python:getattr(here,report_item.getFormId())" >\n
GNU General Public License for more details.\n <tal:block metal:use-macro="here/form_render/macros/master" />\n
\n </tal:block>\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>\n </tal:block>\n
<tal:block tal:define="dummy python:report_item.popReport(portal_object)" />\n
</tal:block>\n </tal:block>\n
<tal:block tal:define="dummy python:report_item.popReport(portal_object)" />\n
</tal:block>\n </tal:block>\n
</tal:block>\n </tal:block>\n
</tal:block>\n </tal:block>\n
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<string>Products.PageTemplates.ZopePageTemplate</string> <tuple/>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -54,90 +51,70 @@ ...@@ -54,90 +51,70 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n <tal:block metal:define-macro="master">\n
Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n <tal:block metal:use-macro="here/dialog_main/macros/master">\n
Vincent Pelletier <vincent@nexedi.com>\n <tal:block metal:fill-slot="main">\n
Christophe Dumez <christophe@nexedi.com>\n <div class="dialog_box">\n
\n <tal:block tal:condition="preferred_html_style_developper_mode">\n
This program is Free Software; you can redistribute it and/or\n <tal:block metal:use-macro="developper_shortcut_render/macros/form" />\n
modify it under the terms of the GNU General Public License\n </tal:block>\n
as published by the Free Software Foundation; either version 2\n <div class="content"\n
of the License, or (at your option) any later version.\n tal:define="items python:here.portal_selections.getSelectionSortOrder(request[\'selection_name\'], REQUEST=request);\n
\n base_form python:getattr(here,request[\'form_id\']);\n
This program is distributed in the hope that it will be useful,\n groups base_form/get_groups;\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n listbox python:base_form.Form_getListbox();\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n columns python:listbox.get_value(\'all_columns\');\n
GNU General Public License for more details.\n global row_index python:0;\n
\n global row_keys python:[\'None\'];\n
You should have received a copy of the GNU General Public License\n all_columns python: [(\'None\',\'\')] + columns;">\n
along with this program; if not, write to the Free Software\n <div tal:repeat="item items"\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n class="field">\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
<label tal:define="global row_index python:row_index+1">\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 i18n:translate="" i18n:domain="ui">Sort</tal:block>\n
<tal:block tal:replace="row_index" />\n <tal:block tal:replace="row_index" />\n
</label>\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) &gt; 2) and item[2]) or \'\'">\n
<select name="field_sort_on">\n <select name="field_sort_on">\n
<option selected="selected" value="None"></option>\n <tal:block tal:repeat="option all_columns">\n
<option tal:repeat="option columns"\n <option tal:content="python:option[1]"\n
tal:content="python:option[1]"\n tal:attributes="value python:option[0];\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 i18n:translate="" i18n:domain="ui"></option>\n
</tal:block>\n
</select>\n </select>\n
<span tal:replace="structure python:form.sort_order.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(\'\', request)" />\n <tal:block tal:replace="structure python:form.sort_type.render(sort_type, request)" />\n
</div>\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 </div>\n
</div>\n </tal:block>\n
</tal:block>\n </tal:block>\n
</tal:block>\n </tal:block>\n
</tal:block>\n </tal:block>\n
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<string>Products.PageTemplates.ZopePageTemplate</string> <tuple/>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -54,127 +51,102 @@ ...@@ -54,127 +51,102 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<tal:block tal:replace="nothing">\n
<!--\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 IDEAS:\n
- Add callbacks to ERP5Form object (selection ?) to gather needed fields -> put them in http_parameter_list.\n - Add callbacks to ERP5Form object (selection ?) to gather needed fields -> put them in http_parameter_list.\n
-->\n -->\n
</tal:block>\n </tal:block>\n
<tal:block metal:define-macro="master">\n <tal:block metal:define-macro="master">\n
<tal:block tal:define="global_definitions_macros here/global_definitions/macros">\n <tal:block tal:define="global_definitions_macros here/global_definitions/macros">\n
<tal:block metal:use-macro="global_definitions_macros/header_definitions"/>\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 <!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 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">\n
<head>\n <head>\n
<base tal:attributes="href python: \'%s/\' % (url, )"/>\n <base tal:attributes="href python: \'%s/\' % (url, )" />\n
<meta name="generator" content="ERP5"/>\n <meta name="generator" content="ERP5" />\n
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>\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-Script-Type" content="text/javascript" />\n
<meta http-equiv="Content-Style-Type" content="text/css" />\n <meta http-equiv="Content-Style-Type" content="text/css" />\n
<title tal:define="title title | string:ERP5"\n <title tal:define="title title | string:ERP5"\n
tal:content="python: \'%s | %s\' % (title, here.getPortalObject().title_or_id())"/>\n tal:content="python: \'%s | %s\' % (title, here.getPortalObject().title_or_id())"></title>\n
<tal:block tal:repeat="css css_list">\n <tal:block tal:repeat="css css_list">\n
<link tal:attributes="href css" type="text/css" rel="stylesheet"/>\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>\n
\n <tal:block tal:replace="nothing">\n
<tal:block tal:define="dummy python: js_list.extend(field.get_javascript_list(REQUEST=request))" />\n <!-- Render each field\'s css and javascript. -->\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>\n </tal:block>\n
</div>\n <tal:block tal:condition="python: form is not None">\n
<div id="logged_in_as">\n <tal:block tal:repeat="group python: [x for x in form.get_groups(include_empty=0) if x != \'hidden\']">\n
<tal:block tal:condition="not: here/portal_membership/isAnonymousUser">\n <tal:block tal:repeat="field python: form.get_fields_in_group(group)">\n
<span class="logged_txt" i18n:translate="" i18n:domain="ui">Logged In as :</span>\n <tal:block tal:define="css python: field.render_css(REQUEST=request)">\n
<tal:block tal:replace="python:here.portal_membership.getAuthenticatedMember().getUserName()"/>\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 </tal:block>\n
</div>\n <!-- May need to remove duplicates -->\n
<p class="clear"></p>\n <tal:block tal:repeat="js js_list">\n
<div tal:content="request/portal_status_message | nothing" id="transition_message"/>\n <script tal:attributes="src js" type="text/javascript"></script>\n
</div>\n </tal:block>\n
<div id="master">\n <link rel="icon" tal:attributes="href string:${portal/portal_url}/favicon.ico" type="image/x-icon" />\n
<tal:block metal:define-slot="main"/>\n <link rel="shortcut icon" tal:attributes="href string:${portal/portal_url}/favicon.ico" type="image/x-icon" />\n
</div>\n </head>\n
</tal:block>\n <body>\n
</form>\n <form id="main_form"\n
</body>\n tal:attributes="enctype form/Form_getEnctype | enctype | nothing;\n
</html>\n action url;\n
</tal:block>\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 &lt; 2" tal:attributes="href item/url" tal:content="item/title" i18n:translate="" i18n:domain="ui" />\n
<a tal:condition="python: repeat[\'item\'].index &gt;= 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 </tal:block>\n
......
...@@ -51,91 +51,71 @@ ...@@ -51,91 +51,71 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n <tal:block metal:define-macro="master">\n
Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n <tal:block\n
Vincent Pelletier <vincent@nexedi.com>\n tal:define="object_uid here/getUid | nothing;\n
Christophe Dumez <christophe@nexedi.com>\n object_path here/getPath | nothing;\n
\n form nocall: form | nothing;\n
This program is Free Software; you can redistribute it and/or\n form_id form/id | template/title_or_id | nothing;\n
modify it under the terms of the GNU General Public License\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
as published by the Free Software Foundation; either version 2\n local_parameter_list local_parameter_list | python: {};\n
of the License, or (at your option) any later version.\n dummy python: local_parameter_list.update({\'object_uid\': object_uid, \'object_path\': object_path, \'form_id\': form_id});\n
\n title python: \'%s - %s\' % (here.Base_translateString(template.title_or_id()), here.title_or_id());\n
This program is distributed in the hope that it will be useful,\n ">\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n <tal:block metal:use-macro="here/main_template/macros/master">\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n <tal:block metal:fill-slot="context_bar">\n
GNU General Public License for more details.\n <tal:block metal:use-macro="here/context_box_render/macros/master" />\n
\n </tal:block>\n
You should have received a copy of the GNU General Public License\n <tal:block metal:fill-slot="main">\n
along with this program; if not, write to the Free Software\n <div class="document"\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n tal:define="actions actions/object_view | python: []">\n
-->\n <div class="actions"\n
</tal:block>\n tal:condition="python: (not is_web_mode or editable_mode) and len(actions)">\n
<tal:block metal:define-macro="master">\n <button tal:condition="python: not is_web_mode and form_action"\n
<tal:block\n type="submit" class="save" title="Save"\n
tal:define="object_uid here/getUid | nothing;\n tal:attributes="name string:${form_action}:method;\n
object_path here/getPath | nothing;\n onClick string:javascript:clickSaveButton(\'${form_action}\');"\n
form nocall: form | nothing;\n i18n:attributes="title" i18n:domain="ui">\n
form_id form/id | template/title_or_id | nothing;\n <span class="image"></span>\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 <span class="description" i18n:translate="" i18n:domain="ui">Save</span>\n
local_parameter_list local_parameter_list | python: {};\n </button>\n
dummy python: local_parameter_list.update({\'object_uid\': object_uid, \'object_path\': object_path, \'form_id\': form_id});\n <ul>\n
title python: \'%s - %s\' % (here.Base_translateString(template.title_or_id()), here.title_or_id());\n <li tal:repeat="action actions"\n
">\n tal:attributes="class python: action == current_action and \'selected\' or \'not_selected\'">\n
<tal:block metal:use-macro="here/main_template/macros/master">\n <a tal:attributes="href python: \'%s%s%s\' % (action[\'url\'], \'?\' in action[\'url\'] and \'&amp;\' or \'?\', http_parameters)"\n
<tal:block metal:fill-slot="context_bar">\n i18n:translate="" i18n:domain="ui"><span tal:content="action/name">action_name</span></a>\n
<tal:block metal:use-macro="here/context_box_render/macros/master" />\n </li>\n
</tal:block>\n </ul>\n
<tal:block metal:fill-slot="main">\n </div>\n
<div class="document"\n <div tal:attributes="class python: editable_mode and \'content editable\' or \'content\'">\n
tal:define="actions actions/object_view | python: []">\n <tal:block metal:define-slot="main" />\n
<div class="actions"\n </div>\n
tal:condition="python: (not is_web_mode or editable_mode) and len(actions)">\n <div class="bottom_actions"\n
<button tal:condition="python: not is_web_mode and form_action"\n tal:condition="python: is_web_mode and editable_mode and len(actions) and form_action">\n
type="submit" class="save" title="Save"\n <input type="hidden" name="form_action" value=""\n
tal:attributes="name string:${form_action}:method;\n tal:attributes="value form_action" />\n
onClick string:javascript:clickSaveButton(\'${form_action}\');"\n <input type="hidden" name="edit_document_url" value=""\n
i18n:attributes="title" i18n:domain="ui">\n tal:attributes="value python:\'%s/%s\' % (here.absolute_url(), form_id)" />\n
<span class="image"></span>\n <input type="hidden" name="view_document_url" value=""\n
<span class="description" i18n:translate="" i18n:domain="ui">Save</span>\n tal:attributes="value python:\'%s/%s\' % (here.absolute_url(), \'view\')" />\n
</button>\n <button type="submit" class="saveView" title="Save &amp; View"\n
<ul>\n name="Base_editAndViewAsWeb:method"\n
<li tal:repeat="action actions"\n i18n:attributes="title" i18n:domain="ui">\n
tal:attributes="class python: action == current_action and \'selected\' or \'not_selected\'">\n <span class="image"></span>\n
<a tal:attributes="href python: \'%s%s%s\' % (action[\'url\'], \'?\' in action[\'url\'] and \'&amp;\' or \'?\', http_parameters)"\n <span class="description" i18n:translate="" i18n:domain="ui">Save &amp; View</span>\n
i18n:translate="" i18n:domain="ui"><span tal:content="action/name">action_name</span></a>\n </button>\n
</li>\n <button type="submit" class="saveEdit" title="Save &amp; Edit"\n
</ul>\n name="Base_editAndEditAsWeb:method"\n
</div>\n i18n:attributes="title" i18n:domain="ui">\n
<div tal:attributes="class python: editable_mode and \'content editable\' or \'content\'">\n <span class="image"></span>\n
<tal:block metal:define-slot="main"/>\n <span class="description" i18n:translate="" i18n:domain="ui">Save &amp; Edit</span>\n
</div>\n </button>\n
<div class="bottom_actions"\n </div>\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 &amp; 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 &amp; View</span>\n
</button>\n
<button type="submit" class="saveEdit" title="Save &amp; 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 &amp; Edit</span>\n
</button>\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 </tal:block>\n
......
2007-11-21 kazuhiko
* Make Page Templates themselves valid XML (except DOCTYPE definition).
2007-11-14 yusei 2007-11-14 yusei
* Fix tab style on konqueror * Fix tab style on konqueror
......
432 434
\ No newline at end of file \ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment