Commit f4561d66 authored by Christophe Dumez's avatar Christophe Dumez

2006-06-26 vincent

* Rename page templates to follow a consistent naming scheme.
* Add another layer to unify web mode handling.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@8165 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 0ce5153c
......@@ -75,9 +75,11 @@ 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/macros/master">\n
<tal:block metal:use-macro="here/dialog_main/macros/master">\n
<tal:block metal:fill-slot="main">\n
<tal:block metal:use-macro="here/developper_shortcuts/macros/form" />\n
<tal:block tal:define="template python: here.developper_shortcut_render">\n
<tal:block metal:use-macro="template/macros/form" />\n
</tal:block>\n
<table tal:define="base_form python: getattr(here,form_id);\n
groups base_form/get_groups;\n
default_columns python: base_form.get_fields_in_group(groups[0])[0].get_value(\'columns\');\n
......@@ -87,9 +89,10 @@ XXX: uses hardcoded indices values to access fields\n
global row_keys python: [\'None\'];\n
global stats python: [\' \',\'count\',\'sum\',\'max\',\'min\',\'avg\'];\n
all_columns python: base_form.get_fields_in_group(groups[0])[0].get_value(\'all_columns\')">\n
<tr tal:repeat="item columns">\n
<tal:block tal:define="global row_index python:row_index+1;\n
dummy python:row_keys.append(item[0])">\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
......@@ -114,11 +117,12 @@ XXX: uses hardcoded indices values to access fields\n
</tal:block>\n
</select>\n
</td>\n
</tal:block>\n
</tr>\n
<tr tal:repeat="item all_columns">\n
</tr>\n
</tal:block>\n
<tal:block tal:repeat="item all_columns">\n
<tal:block tal:condition="python: item[0] not in row_keys">\n
<tal:block tal:define="global row_index python:row_index+1">\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
......@@ -146,9 +150,9 @@ XXX: uses hardcoded indices values to access fields\n
</tal:block>\n
</select>\n
</td>\n
</tal:block>\n
</tr>\n
</tal:block>\n
</tr>\n
</tal:block>\n
</table>\n
</tal:block>\n
</tal:block>\n
......@@ -166,7 +170,7 @@ XXX: uses hardcoded indices values to access fields\n
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form_list_ui</string> </value>
<value> <string>configure_list_dialog</string> </value>
</item>
<item>
<key> <string>title</string> </key>
......
......@@ -86,12 +86,12 @@ XXX: Folder_filter accesses selection directly\n
</tal:block>\n
<tal:block tal:condition="python: here.getPortalType() in here.portal_types.objectIds() and here.portal_types[here.getPortalType()].Base_getSourceVisibility()">\n
<option tal:attributes="value python: \'%s/manage_workspace\' % (here.portal_types[here.getPortalType()].absolute_url(),)"\n
tal:content="python: \'Edit Portal Type \\\'%s\\\'\' % (context.getPortalType(),)"\n
tal:content="python: \'Edit Portal Type \\\'%s\\\'\' % (here.getPortalType(),)"\n
i18n:translate="" i18n:domain="ui"></option>\n
</tal:block>\n
<tal:block tal:condition="context/portal_workflow/Base_getSourceVisibility">\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: context.portal_workflow.getWorkflowsFor(context)">\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"></option>\n
</tal:block>\n
</tal:block>\n
......@@ -287,7 +287,7 @@ XXX: Folder_filter accesses selection directly\n
</a>\n
<a tal:condition="here/hasActivity | nothing" class="activity_pending"\n
title="Activity Pending"\n
tal:attributes="href python: context.portal_membership.checkPermission(\'View management screens\', context.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
<span class="image"></span>\n
<span class="description" i18n:translate="" i18n:domain="ui">Activity Pending</span>\n
</a>\n
......@@ -308,7 +308,7 @@ XXX: Folder_filter accesses selection directly\n
</item>
<item>
<key> <string>id</string> </key>
<value> <string>context_bar</string> </value>
<value> <string>context_box_render</string> </value>
</item>
<item>
<key> <string>title</string> </key>
......
......@@ -89,19 +89,19 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
info python: \'Edit this form\';\n
object python: form;\n
manage python: \'manage\'">\n
<tal:block metal:use-macro="here/developper_shortcuts/macros/edit_link"/>\n
<tal:block metal:use-macro="template/macros/edit_link"/>\n
</tal:block>\n
<tal:block tal:define="image python: \'editformrenderer.png\';\n
info python: \'Edit this form\\\'s renderer\';\n
object python: getattr(here, form.pt, None);\n
manage python: \'manage_main\'">\n
<tal:block metal:use-macro="here/developper_shortcuts/macros/edit_link"/>\n
<tal:block metal:use-macro="template/macros/edit_link"/>\n
</tal:block>\n
<tal:block tal:define="image python: \'editformaction.png\';\n
info python: \'Edit this form\\\'s action\';\n
object python: getattr(here, form.action, None);\n
manage python: \'manage_main\'">\n
<tal:block metal:use-macro="here/developper_shortcuts/macros/edit_link"/>\n
<tal:block metal:use-macro="template/macros/edit_link"/>\n
</tal:block>\n
</tal:block>\n
<tal:block metal:define-macro="field">\n
......@@ -109,19 +109,19 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
info python: \'Edit this field\';\n
object python: field;\n
manage python: \'manage_main\'">\n
<tal:block metal:use-macro="here/developper_shortcuts/macros/edit_link"/>\n
<tal:block metal:use-macro="template/macros/edit_link"/>\n
</tal:block>\n
<tal:block tal:define="info python: \'Translate this field title\';\n
message python: field[\'title\'];\n
image python: \'translate.png\'">\n
<tal:block metal:use-macro="here/developper_shortcuts/macros/translate_link"/>\n
<tal:block metal:use-macro="template/macros/translate_link"/>\n
</tal:block>\n
<tal:block tal:define="desc python: here.Base_getFieldDescription(field)">\n
<tal:block tal:condition="python: desc not in (None, \'\')">\n
<tal:block tal:define="info python: \'Translate this field description\';\n
message desc;\n
image python: \'translate_tooltip.png\'">\n
<tal:block metal:use-macro="here/developper_shortcuts/macros/translate_link"/>\n
<tal:block metal:use-macro="template/macros/translate_link"/>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
......@@ -139,7 +139,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
</item>
<item>
<key> <string>id</string> </key>
<value> <string>developper_shortcuts</string> </value>
<value> <string>developper_shortcut_render</string> </value>
</item>
<item>
<key> <string>title</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n
Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n
Vincent Pelletier <vincent@nexedi.com>\n
Christophe Dumez <christophe@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</tal:block>\n
<tal:block metal:define-macro="master">\n
<tal:block tal:define="dialog_type dialog_type | string:">\n
<tal:block metal:use-macro="here/list_dialog_master/macros/master">\n
<tal:block metal:fill-slot="main">\n
<div class="dialog_box">\n
<tal:block tal:define="actions python: actions.get(dialog_category, [])">\n
<div tal:condition="python: len(actions) > 1"\n
class="dialog_selector">\n
<label for="dialog_selector"\n
tal:content="python:{\'object_exchange\':\'Exchange Select:\',\n
\'object_print\':\'Print Select:\',\n
\'object_search\':\'Search Select:\',\n
\'object_report\':\'Report Select:\',\n
}.get(dialog_category, \'Select:\')"\n
i18n:translate="" i18n:domain="ui"></label>\n
<select name="dialog_select" id="dialog_selector"\n
tal:attributes="onChange string:submitAction(this.form,\'${url}/Base_doDialog\')">\n
<tal:block tal:repeat="action actions">\n
<option tal:attributes="value action/url;\n
selected python: action is current_action and \'selected\' or None"\n
tal:content="action/name"\n
i18n:translate="" i18n:domain="ui"></option>\n
</tal:block>\n
</select>\n
<button type="submit" name="Base_doDialog:method">\n
<span class="image"></span>\n
<span class="description"\n
i18n:translate="" i18n:domain="ui">Go</span>\n
</button>\n
</div>\n
</tal:block>\n
<div class="content">\n
<tal:block metal:define-slot="main" />\n
<hr class="clear" />\n
</div>\n
</div>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>dialog</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -73,15 +73,42 @@ 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="ignore_layout request/ignore_layout | nothing;\n
layout_form_id here/getApplicableLayout | nothing;\n
layout_form python: layout_form_id and getattr(here, layout_form_id, None) or None;\n
page_template python:(layout_form and not(ignore_layout)) and getattr(layout_form, \'pt\', None) or \'main_template\';\n
dialog_type dialog_type | string:List">\n
<tal:block metal:use-macro="python: getattr(here, page_template).macros[\'master\']">\n
<tal:block tal:define="form_action string:Base_callDialogMethod">\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
<div class="dialog_box">\n
<tal:block tal:define="actions python: actions.get(dialog_category, [])">\n
<div tal:condition="python: len(actions) > 1"\n
class="dialog_selector">\n
<label for="dialog_selector"\n
tal:content="python:{\'object_exchange\':\'Exchange Select:\',\n
\'object_print\':\'Print Select:\',\n
\'object_search\':\'Search Select:\',\n
\'object_report\':\'Report Select:\',\n
}.get(dialog_category, \'Select:\')"\n
i18n:translate="" i18n:domain="ui"></label>\n
<select name="dialog_select" id="dialog_selector"\n
tal:attributes="onChange string:submitAction(this.form,\'${url}/Base_doDialog\')">\n
<tal:block tal:repeat="action actions">\n
<option tal:attributes="value action/url;\n
selected python: action is current_action and \'selected\' or None"\n
tal:content="action/name"\n
i18n:translate="" i18n:domain="ui"></option>\n
</tal:block>\n
</select>\n
<button type="submit" name="Base_doDialog:method">\n
<span class="image"></span>\n
<span class="description"\n
i18n:translate="" i18n:domain="ui">Go</span>\n
</button>\n
</div>\n
</tal:block>\n
<div class="content">\n
<tal:block metal:define-slot="main" />\n
<hr class="clear" />\n
</div>\n
</div>\n
</div>\n
<button type="submit" name="Base_cancel:method">\n
<span class="image"></span>\n
......@@ -95,7 +122,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
i18n:translate="" i18n:domain="ui">Update</span>\n
</button>\n
<button type="submit"\n
tal:attributes="name python: \'Base_call%sDialogMethod:method\' % (dialog_type,)">\n
tal:attributes="name python: \'%s:method\' % (form_action, )">\n
<span class="image"></span>\n
<span class="description"\n
tal:content="python: here.Base_getFormViewDialogActionButtonTitle(form)"\n
......@@ -104,7 +131,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>
</tal:block>\n
]]></string> </value>
</item>
......@@ -118,7 +146,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
</item>
<item>
<key> <string>id</string> </key>
<value> <string>list_dialog_master</string> </value>
<value> <string>dialog_main</string> </value>
</item>
<item>
<key> <string>title</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n
Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n
Vincent Pelletier <vincent@nexedi.com>\n
Christophe Dumez <christophe@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</tal:block>\n
<tal:block metal:define-macro="master">\n
<tal:block tal:define="ignore_layout request/ignore_layout | nothing;\n
layout_form_id here/getApplicableLayout | nothing;\n
layout_form python: layout_form_id and getattr(here, layout_form_id, None) or None;\n
page_template python:(layout_form and not(ignore_layout)) and getattr(layout_form, \'pt\', None) or \'main_template\';">\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:use-macro="here/context_bar/macros/master" />\n
</tal:block>\n
<tal:block metal:fill-slot="main">\n
<div class="document"\n
tal:define="actions actions/object_view | python: []">\n
<div class="actions">\n
<tal:block tal:condition="editable_mode | python: 1">\n
<button tal:condition="python: here.portal_membership.checkPermission(\'Modify portal content\', here)"\n
type="submit" name="Base_edit:method" class="save">\n
<span class="image"></span>\n
<span class="description"\n
i18n:translate="" i18n:domain="ui">Save</span>\n
</button>\n
</tal:block>\n
<ul tal:condition="python: len(actions)">\n
<tal:block tal:repeat="action actions">\n
<li tal:attributes="class python: action == current_action and \'selected\' or \'not_selected\'">\n
<a tal:attributes="href python: here.ERP5Site_renderLink(action[\'url\'], http_parameters)"\n
tal:content="action/name"></a>\n
</li>\n
</tal:block>\n
</ul>\n
</div>\n
<div class="content"><tal:block metal:define-slot="main" /></div>\n
</div>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>document</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -393,7 +393,7 @@ div.listbox_dataline:hover {\n
</item>
<item>
<key> <string>id</string> </key>
<value> <string>documentation_view</string> </value>
<value> <string>documentation_template</string> </value>
</item>
<item>
<key> <string>title</string> </key>
......
......@@ -57,13 +57,6 @@ function submitAction(form,act) {\n
form.action = act;\n
form.submit();\n
}\n
\n
function setFocus(name) {\n
element = document.getElementsByName(name)[0];\n
if (element) { \n
element.focus();\n
}\n
}\n
</string> </value>
</item>
<item>
......
......@@ -81,11 +81,13 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
1: {0: \'error\', 1: \'reqerror\'}}[field_errors.has_key(field.id)][field.is_required()]">\n
<tal:block tal:content="structure python: html_tuple[0]"\n
i18n:translate="" i18n:domain="ui" />\n
<tal:block metal:use-macro="context/developper_shortcuts/macros/field" />\n
<tal:block tal:define="template python: here.developper_shortcut_render">\n
<tal:block metal:use-macro="template/macros/field" />\n
</tal:block>\n
</label>\n
<div class="input"\n
tal:content="structure python: html_tuple[1]"></div>\n
<tal:block tal:define="tooltip python:context.Localizer.translate(\'erp5_ui\', context.Base_getFieldDescription(field))">\n
<tal:block tal:define="tooltip python: here.Localizer.translate(\'erp5_ui\', here.Base_getFieldDescription(field))">\n
<span tal:condition="tooltip"\n
tal:content="tooltip"\n
class="description"\n
......
......@@ -72,9 +72,9 @@ 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/dialog/macros/master">\n
<tal:block metal:use-macro="here/dialog_main/macros/master">\n
<tal:block metal:fill-slot="main">\n
<tal:block metal:use-macro="here/form/macros/master" />\n
<tal:block metal:use-macro="here/form_render/macros/master" />\n
</tal:block>\n
</tal:block>\n
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n
Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n
Vincent Pelletier <vincent@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
Breaks strict compatibility :\n
Rename groups in forms, remove empty groups, move items not in first group to hidden group.\n
-->\n
</tal:block>\n
<tal:block metal:use-macro="here/list_dialog_master/macros/master">\n
<tal:block metal:fill-slot="main">\n
<tal:block metal:use-macro="here/form/macros/master" />\n
</tal:block>\n
</tal:block>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form_folder_delete</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n
Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n
Vincent Pelletier <vincent@nexedi.com>\n
Christophe Dumez <christophe@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</tal:block>\n
<tal:block metal:use-macro="here/list_dialog_master/macros/master">\n
<tal:block metal:fill-slot="main">\n
<tal:block metal:use-macro="here/form/macros/master" />\n
</tal:block>\n
</tal:block>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form_list_relation</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -99,7 +99,9 @@ Groups names becomes "left_group", "right_group", "left1_group", "right1_group",
right_group python: form.get_fields_in_group(\'right\');\n
center_group python: form.get_fields_in_group(\'center\');\n
bottom_group python: form.get_fields_in_group(\'bottom\');">\n
<tal:block metal:use-macro="here/developper_shortcuts/macros/form" />\n
<tal:block tal:define="template python: here.developper_shortcut_render">\n
<tal:block metal:use-macro="template/macros/form" />\n
</tal:block>\n
<div tal:condition="python: len(left_group) > 0 or len(right_group) > 0"\n
class="top_group">\n
<div tal:condition="python: len(left_group) > 0"\n
......@@ -125,7 +127,9 @@ Groups names becomes "left_group", "right_group", "left1_group", "right1_group",
<div tal:condition="python: len(bottom_group) > 0"\n
class="bottom">\n
<tal:block tal:repeat="field bottom_group">\n
<tal:block metal:use-macro="here/developper_shortcuts/macros/field" />\n
<tal:block tal:define="template python: here.developper_shortcut_render">\n
<tal:block metal:use-macro="template/macros/field" />\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
......@@ -137,10 +141,12 @@ Groups names becomes "left_group", "right_group", "left1_group", "right1_group",
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
left1_group python: form.get_fields_in_group(\'left 1\');\n
right1_group python: form.get_fields_in_group(\'right 1\');\n
center_group python: form.get_fields_in_group(\'center\');">\n
<tal:block metal:use-macro="here/developper_shortcuts/macros/form" />\n
center_left_group python: form.get_fields_in_group(\'center_left\');\n
center_right_group python: form.get_fields_in_group(\'center_right\');\n
bottom_group python: form.get_fields_in_group(\'bottom\');">\n
<tal:block tal:define="template python: here.developper_shortcut_render">\n
<tal:block metal:use-macro="template/macros/form" />\n
</tal:block>\n
<div tal:condition="python: len(left_group) > 0 or len(right_group) > 0"\n
class="top_group">\n
<div tal:condition="python: len(left_group) > 0"\n
......@@ -157,26 +163,26 @@ Groups names becomes "left_group", "right_group", "left1_group", "right1_group",
</div>\n
<hr class="clear" />\n
</div>\n
<div tal:condition="python: len(left1_group) > 0 or len(right1_group) > 0"\n
<div tal:condition="python: len(center_left_group) > 0 or len(center_right_group) > 0"\n
class="top_group">\n
<div tal:condition="python: len(left1_group) > 0"\n
<div tal:condition="python: len(center_left_group) > 0"\n
class="left">\n
<tal:block tal:repeat="field left1_group">\n
<tal:block tal:repeat="field center_left_group">\n
<tal:block metal:use-macro="here/field_render/macros/field_render" />\n
</tal:block>\n
</div>\n
<div tal:condition="python: len(right1_group) > 0"\n
<div tal:condition="python: len(center_right_group) > 0"\n
class="right">\n
<tal:block tal:repeat="field right1_group">\n
<tal:block tal:repeat="field center_right_group">\n
<tal:block metal:use-macro="here/field_render/macros/field_render" />\n
</tal:block>\n
</div>\n
<hr class="clear" />\n
</div>\n
<div tal:condition="python: len(center_group) > 0"\n
<div tal:condition="python: len(bottom_group) > 0"\n
class="bottom">\n
<tal:block tal:repeat="field center_group">\n
<tal:block metal:use-macro="here/field_render/macros/field_render" />\n
<tal:block tal:repeat="field python: form.get_fields_in_group(\'bottom\')">\n
<tal:block metal:use-macro="here/field_render/macros/field_render" />\n
</tal:block>\n
</div>\n
</tal:block>\n
......@@ -194,7 +200,7 @@ Groups names becomes "left_group", "right_group", "left1_group", "right1_group",
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form</string> </value>
<value> <string>form_render</string> </value>
</item>
<item>
<key> <string>title</string> </key>
......
......@@ -73,9 +73,9 @@ 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/document/macros/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/macros/master" />\n
<tal:block metal:use-macro="here/form_render/macros/master" />\n
</tal:block>\n
</tal:block>\n
</tal:block>
......
......@@ -75,7 +75,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
<tal:block metal:use-macro="here/main_template/macros/master">\n
<tal:block metal:fill-slot="main">\n
<tal:block tal:condition="here/portal_membership/isAnonymousUser">\n
<tal:block tal:define="dummy python: request.RESPONSE.redirect(\'%s/login_form\' % url)" />\n
<tal:block 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
......
......@@ -74,10 +74,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
</tal:block>\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_bar/macros/master" />\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:use-macro="here/form/macros/master" />\n
<tal:block metal:use-macro="here/form_render/macros/master" />\n
</tal:block>\n
</tal:block>\n
......@@ -94,7 +94,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form_list</string> </value>
<value> <string>list_main</string> </value>
</item>
<item>
<key> <string>title</string> </key>
......
......@@ -4,8 +4,8 @@
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
<string>OFS.DTMLDocument</string>
<string>DTMLDocument</string>
</tuple>
<none/>
</tuple>
......@@ -19,43 +19,25 @@
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<key> <string>__name__</string> </key>
<value> <string>login_form.js</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
<dictionary/>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n
Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n
Vincent Pelletier <vincent@nexedi.com>\n
Christophe Dumez <christophe@nexedi.com>\n
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>raw</string> </key>
<value> <string>/*\n
Copyright (c) 20xx-2006 Nexedi SARL and Contributors. All Rights Reserved.\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
......@@ -70,29 +52,16 @@ GNU General Public License for more details.\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="dialog_type string:View">\n
<tal:block metal:use-macro="here/dialog/macros/master">\n
<tal:block metal:fill-slot="main">\n
<tal:block metal:use-macro="here/form/macros/master" />\n
</tal:block>\n
</tal:block>\n
</tal:block>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form_view_dialog</string> </value>
*/\n
\n
function setFocus() {\n
login = document.getElementById(\'name\');\n
password = document.getElementById(\'password\');\n
if (login.value != \'\')\n
password.focus();\n
else\n
login.focus();\n
}</string> </value>
</item>
<item>
<key> <string>title</string> </key>
......
......@@ -78,12 +78,9 @@ 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="global form_action string:index_html;\n
ignore_layout request/ignore_layout | nothing;\n
layout_form_id here/getApplicableLayout | nothing;\n
layout_form python: layout_form_id and getattr(here, layout_form_id, None) or None;\n
page_template python:(layout_form_id and not(ignore_layout)) and getattr(layout_form, \'pt\', None) or \'main_template\';">\n
<tal:block metal:use-macro="python: getattr(here, page_template).macros[\'master\']">\n
<tal:block tal:define="form_action string:index_html;\n
js_list python: [\'%s/login_form.js\' % (here.portal_url.getPortalPath(), )]">\n
<tal:block metal:use-macro="here/main_template/macros/master">\n
<tal:block metal:fill-slot="main">\n
<div class="login">\n
<tal:block tal:condition="python: request.get(\'came_from\', None) is not None">\n
......@@ -130,6 +127,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
</div>\n
</div>\n
</div>\n
<script type="text/javascript">setFocus()</script>\n
<hr class="clear" />\n
<input type="submit" name="submit" value="Login" class="submit"\n
i18n:attributes="value" i18n:domain="ui" />\n
......
......@@ -76,212 +76,19 @@ IDEAS:\n
-->\n
</tal:block>\n
<tal:block metal:define-macro="master">\n
<tal:block tal:condition="python: \'login_form\' not in request.get(\'URL\') and request.has_key(\'came_from\')">\n
<tal:block tal:define="dummy python: request.RESPONSE.redirect(request.get(\'came_from\'))" />\n
</tal:block>\n
<tal:block tal:condition="form/pt | nothing">\n
<tal:block tal:define="global list_mode python: form[\'pt\'] == \'form_list\';\n
global listmode_default_listbox python: here.ERP5Site_getListbox(form=form)" />\n
</tal:block>\n
<tal:block tal:define="global actions python:here.getPortalObject().portal_actions.listFilteredActionsFor(here);\n
global form_id request/form_id | form/id | nothing;\n
global dialog_id form/id | template/id;\n
global field_errors python: request.get(\'field_errors\',{});\n
\n
global cancel_url request/cancel_url | request/HTTP_REFERER;\n
global form_action form_action | form/action | form/id | nothing;\n
global dialog_category request/dialog_category | nothing;\n
global url python: \'%s%s\' % (request[\'SERVER_URL\'], here.getPath(), );\n
global ignore_layout request/ignore_layout | python: 0;\n
\n
global selection_name request/selection_name | listmode_default_listbox/selection_name | nothing;\n
dummy python: selection_name and request.set(\'selection_name\', selection_name);\n
global selection_index request/selection_index | nothing;\n
global selection_url python: selection_name and here.portal_selections.getSelectionListUrlFor(selection_name,REQUEST=request) or None;\n
\n
current_url python: dialog_id and \'%s/%s\' % (url, dialog_id) or None;\n
global current_action python: current_url and here.ERP5Site_getCurrentAction(current_url, actions) or None;\n
form_pickle request/form_pickle | nothing;\n
form_signature request/form_signature | nothing;\n
field_id request/field_id | nothing;\n
object_uid here/getUid | nothing;\n
object_path here/getPath | nothing;\n
dummy python: request.set(\'here\',here);\n
\n
global http_parameter_list python: here.ERP5Site_getHTTPParameterList(request=request, form_id=form_id, dialog_id=dialog_id, selection_name=selection_name, selection_index=selection_index, selection_url=selection_url, cancel_url=cancel_url, form_action=form_action, dialog_method=form_action, dialog_category=dialog_category, form_pickle=form_pickle, form_signature=form_signature, field_id=field_id, object_uid=object_uid, object_path=object_path);\n
global http_parameters python: here.ERP5Site_renderHTTPParameterList(http_parameter_list);\n
\n
global css_list css_list | python: [];\n
dummy python: css_list.append(\'%s/erp5.css\' % (here.portal_url.getPortalPath(), ));\n
global js_list js_list | python: [];\n
dummy python: js_list.append(\'%s/erp5.js\' % (here.portal_url.getPortalPath(), ));\n
" />\n
<tal:block tal:condition="form/pt | nothing">\n
<tal:block tal:define="global list_mode python: form[\'pt\'] == \'form_list\';\n
global listmode_default_listbox python: here.ERP5Site_getListbox(form=form)" />\n
</tal:block>\n
<?xml version="1.0" encoding="UTF-8"?>\n
<!DOCTYPE html\n
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n
<html xmlns="http://www.w3.org/1999/xhtml"\n
xml:lang="en"\n
lang="en">\n
<head tal:define="dummy python:request.RESPONSE.setHeader(\'Content-Type\', \'text/html;; charset=utf-8\')">\n
<base tal:attributes="href python: \'%s/\' % (url, )" />\n
<meta name="description" content="Generated by ERP5" />\n
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n
<title tal:content="template/title_or_id"\n
i18n:translate="" i18n:domain="ui"></title>\n
<tal:block tal:repeat="css css_list">\n
<link tal:attributes="href css"\n
type="text/css"\n
rel="stylesheet" />\n
</tal:block>\n
<tal:block tal:repeat="js js_list">\n
<script tal:attributes="src js"\n
type="text/javascript"></script>\n
</tal:block>\n
</head>\n
<body>\n
<form id="main_form"\n
tal:attributes="enctype form/enctype | nothing;\n
action url;\n
method form/method | string:post">\n
<div id="bars">\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 python: \'%s:method\' % (form_action, )" />\n
<!-- Generic way of specifying http parameters -->\n
<tal:block tal:repeat="parameter http_parameter_list/items">\n
<input tal:condition="python: parameter[1] is not None"\n
tal:attributes="name python: parameter[0];\n
value python: parameter[1];" type="hidden" />\n
</tal:block>\n
<div id="main_bar">\n
<span class="first">\n
<span id="favourites">\n
<select name="favorite_select"\n
tal:define="ordered_global_actions python:here.getOrderedGlobalActionList(actions[\'global\']);\n
user_actions actions/user;"\n
tal:attributes="onChange string:submitAction(this.form,\'${url}/Base_doFavorite\')">\n
<option selected="selected" value=""\n
i18n:translate="" i18n:domain="ui">My favourites</option>\n
<tal:block tal:condition="ordered_global_actions">\n
<tal:block tal:repeat="action ordered_global_actions">\n
<option tal:condition="action/disabled"\n
disabled="disabled">-- <tal:block tal:content="action/title" i18n:translate="" i18n:domain="ui" /> --</option>\n
<tal:block tal:condition="not:action/disabled"\n
tal:define="name python: action.get(\'name\', \'\');\n
index python: name.find(\' (\');">\n
<option tal:condition="python: index >= 0"\n
tal:attributes="value action/url"><tal:block tal:content="python: name[:index]" i18n:translate="" i18n:domain="ui"></tal:block><tal:block tal:replace="python: name[index:]" /></option>\n
<option tal:condition="python: index < 0"\n
tal:attributes="value action/url"\n
tal:content="action/name"\n
i18n:translate="" i18n:domain="ui"></option>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
<tal:block tal:condition="user_actions">\n
<option disabled="disabled">-- <tal:block i18n:translate="" i18n:domain="ui">User</tal:block> --</option>\n
<option tal:repeat="action user_actions"\n
tal:content="action/name"\n
tal:attributes="value action/url"\n
i18n:translate="" i18n:domain="ui"></option>\n
</tal:block>\n
</select>\n
<button type="submit" name="Base_doFavorite:method">\n
<span class="image"></span>\n
<span class="description"\n
i18n:translate="" i18n:domain="ui">Select Favorite</span>\n
</button>\n
</span>\n
<span id="modules">\n
<select name="module_select"\n
tal:define="module_list here/ERP5Site_getModuleItemList;"\n
tal:attributes="onChange string:submitAction(this.form,\'${url}/Base_doModule\')">\n
<option selected="selected" value=""\n
i18n:translate="" i18n:domain="ui">ERP5 Modules</option>\n
<tal:block tal:repeat="module module_list">\n
<option value="something"\n
tal:attributes="value python: module[1]"\n
tal:content="python: module[0]" />\n
</tal:block>\n
</select>\n
<button type="submit" name="Base_doModule:method">\n
<span class="image"></span>\n
<span class="description"\n
i18n:translate="" i18n:domain="ui">Select module</span>\n
</button>\n
</span>\n
</span>\n
<span class="second">\n
<span id="language">\n
<select name="language_select"\n
tal:attributes="onChange string:submitAction(this.form,\'${url}/Base_doLanguage\')">\n
<option selected="selected" value=""\n
i18n:translate="" i18n:domain="ui">My language</option>\n
<tal:block tal:repeat="language python: here.Localizer.get_languages_map()">\n
<option 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\'])"></option>\n
</tal:block>\n
</select>\n
<button type="submit" name="Base_doLanguage:method">\n
<span class="image"></span>\n
<span class="description"\n
i18n:translate="" i18n:domain="ui">Select language</span>\n
</button>\n
</span>\n
<span id="search">\n
<input type="text" name="SearchableText" />\n
<button type="submit" name="Base_viewSearchResultList:method">\n
<span class="image"></span>\n
<span class="description"\n
i18n:translate="" i18n:domain="ui">Search</span>\n
</button>\n
</span>\n
</span>\n
<hr class="clear" />\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
<tal:block tal:condition="python: repeat[\'item\'].index < 2">\n
<a tal:attributes="href item/url"\n
tal:content="item/title"\n
i18n:translate="" i18n:domain="ui"></a>\n
</tal:block>\n
<tal:block tal:condition="python: repeat[\'item\'].index >= 2">\n
<a tal:attributes="href item/url"\n
tal:content="item/title"></a>\n
</tal:block>\n
/\n
</tal:block>\n
</div>\n
<div id="logged_in_as">\n
<tal:block tal:condition="not: here/portal_membership/isAnonymousUser">\n
<tal:block i18n:translate="" i18n:domain="ui">Logged In as </tal:block> :\n
<tal:block tal:replace="python:here.portal_membership.getAuthenticatedMember().getUserName()" />\n
</tal:block>\n
</div>\n
<hr class="clear" />\n
<div tal:content="structure here/REQUEST/portal_status_message | nothing"\n
id="transition_message"></div>\n
</div>\n
<div id="master">\n
<tal:block tal:define="ignore_layout request/ignore_layout | nothing;\n
layout_form_id here/getApplicableLayout | nothing;\n
layout_form python: layout_form_id and getattr(here, layout_form_id, None) or None;\n
page_template python:(layout_form and not(ignore_layout)) and getattr(layout_form, \'pt\', None) or \'template_erp5_xhtml_style\';">\n
<tal:block metal:use-macro="python: getattr(here, page_template).macros[\'master\']">\n
<tal:block metal:fill-slot="context_bar">\n
<tal:block metal:define-slot="context_bar" />\n
</tal:block>\n
<tal:block metal:fill-slot="main">\n
<tal:block metal:define-slot="main" />\n
</div>\n
</form>\n
</body>\n
</html>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>
]]></string> </value>
......
......@@ -72,9 +72,9 @@ 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/document/macros/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/macros/quad_form" />\n
<tal:block metal:use-macro="here/form_render/macros/quad_form" />\n
</tal:block>\n
</tal:block>
......
......@@ -72,18 +72,18 @@ 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/document/macros/master">\n
<tal:block metal:use-macro="here/view_main/macros/master">\n
<tal:block metal:fill-slot="main">\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
<tal:block tal:define="here python: report_item.getObject(portal_object);\n
dummy python: report_item.pushReport(portal_object)">\n
<tal:block tal:condition="report_item/getFormId">\n
<tal:block tal:define="form python:getattr(here,report_item.getFormId())" >\n
<tal:block metal:use-macro="here/form/macros/master" />\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 tal:define="dummy python:report_item.popReport(portal_object)" />\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
......
......@@ -72,8 +72,11 @@ 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/dialog/macros/master">\n
<tal:block metal:use-macro="here/dialog_main/macros/master">\n
<tal:block metal:fill-slot="main">\n
<tal:block tal:define="template python: here.developper_shortcut_render">\n
<tal:block metal:use-macro="template/macros/form" />\n
</tal:block>\n
<div class="content"\n
tal:define="items python:here.portal_selections.getSelectionSortOrder(selection_name, REQUEST=request);\n
base_form python:getattr(here,form_id);\n
......@@ -88,7 +91,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
<tal:block i18n:translate="" i18n:domain="ui">Sort</tal:block>\n
<tal:block tal:replace="row_index" />\n
</label>\n
<div class="input">\n
<div class="input" tal:attributes="id string:sort_${row_index}">\n
<select name="field_sort_on">\n
<tal:block tal:repeat="option all_columns">\n
<option tal:content="python:option[1]"\n
......@@ -108,7 +111,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
<tal:block i18n:translate="" i18n:domain="ui">Sort</tal:block>\n
<tal:block tal:replace="row_index" />\n
</label>\n
<div class="input">\n
<div class="input" tal:attributes="id string:sort_${row_index}">\n
<select name="field_sort_on">\n
<option selected="selected" value="None">None</option>\n
<option tal:repeat="option columns"\n
......@@ -138,7 +141,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form_sort</string> </value>
<value> <string>sort_list_dialog</string> </value>
</item>
<item>
<key> <string>title</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<!--\n
Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n
Vincent Pelletier <vincent@nexedi.com>\n
Christophe Dumez <christophe@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
\n
IDEAS:\n
- Add callbacks to ERP5Form object (selection ?) to gather needed fields -> put them in http_parameter_list.\n
-->\n
</tal:block>\n
<tal:block metal:define-macro="master">\n
<tal:block tal:condition="python: \'login_form\' not in request.get(\'URL\') and request.has_key(\'came_from\')">\n
<tal:block tal:define="dummy python: request.RESPONSE.redirect(request.get(\'came_from\'))" />\n
</tal:block>\n
<tal:block tal:condition="form/pt | nothing">\n
<tal:block tal:define="global list_mode python: form[\'pt\'] == \'list_main\';\n
global listmode_default_listbox python: here.ERP5Site_getListbox(form=form)" />\n
</tal:block>\n
<tal:block tal:define="global actions python:here.getPortalObject().portal_actions.listFilteredActionsFor(here);\n
global dialog_id form/id | template/id;\n
global form_id request/form_id | dialog_id;\n
global field_errors python: request.get(\'field_errors\',{});\n
global cancel_url request/cancel_url | request/ACTUAL_URL;\n
global dialog_method form/action | form_id;\n
global form_action form_action | dialog_method;\n
global dialog_category request/dialog_category | nothing;\n
global url python: \'%s%s\' % (request[\'SERVER_URL\'], here.getPath(), );\n
global ignore_layout request/ignore_layout | python: 0;\n
\n
global selection_name request/selection_name | listmode_default_listbox/selection_name | nothing;\n
dummy python: selection_name and request.set(\'selection_name\', selection_name);\n
global selection_index request/selection_index | nothing;\n
global selection_url python: selection_name and here.portal_selections.getSelectionListUrlFor(selection_name,REQUEST=request) or None;\n
\n
global current_url python: \'%s/%s\' % (url, dialog_id);\n
global current_action python: here.ERP5Site_getCurrentAction(current_url, actions);\n
form_pickle request/form_pickle | nothing;\n
form_signature request/form_signature | nothing;\n
field_id request/field_id | nothing;\n
object_uid here/getUid | nothing;\n
object_path here/getPath | nothing;\n
dummy python: request.set(\'here\',here);\n
\n
global http_parameter_list python: here.ERP5Site_getHTTPParameterList(request=request, form_id=form_id, dialog_id=dialog_id, selection_name=selection_name, selection_index=selection_index, selection_url=selection_url, cancel_url=cancel_url, form_action=form_action, dialog_method=dialog_method, dialog_category=dialog_category, form_pickle=form_pickle, form_signature=form_signature, field_id=field_id, object_uid=object_uid, object_path=object_path);\n
global http_parameters python: here.ERP5Site_renderHTTPParameterList(http_parameter_list);\n
\n
global css_list css_list | python: [];\n
dummy python: css_list.append(\'%s/erp5.css\' % (here.portal_url.getPortalPath(), ));\n
global js_list js_list | python: [];\n
dummy python: js_list.append(\'%s/erp5.js\' % (here.portal_url.getPortalPath(), ));\n
" />\n
<?xml version="1.0" encoding="UTF-8"?>\n
<!DOCTYPE html\n
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n
<html xmlns="http://www.w3.org/1999/xhtml"\n
xml:lang="en"\n
lang="en">\n
<head tal:define="dummy python:request.RESPONSE.setHeader(\'Content-Type\', \'text/html;; charset=utf-8\')">\n
<base tal:attributes="href python: \'%s/\' % (url, )" />\n
<meta name="description" content="Generated by ERP5" />\n
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n
<title tal:content="template/title_or_id"\n
i18n:translate="" i18n:domain="ui"></title>\n
<tal:block tal:repeat="css css_list">\n
<link tal:attributes="href css"\n
type="text/css"\n
rel="stylesheet" />\n
</tal:block>\n
<tal:block tal:repeat="js js_list">\n
<script tal:attributes="src js"\n
type="text/javascript"></script>\n
</tal:block>\n
</head>\n
<body>\n
<!-- <tal:block tal:replace="structure request" /> -->\n
<form id="main_form"\n
tal:attributes="enctype form/enctype | nothing;\n
action url;\n
method form/method | string:post">\n
<div id="bars">\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"\n
id="hidden_button" type="submit" value="dummy"\n
tal:attributes="name python: \'%s:method\' % (form_action, )" />\n
<!-- Generic way of specifying http parameters -->\n
<tal:block tal:repeat="parameter http_parameter_list/items">\n
<input tal:condition="python: parameter[1] is not None"\n
tal:attributes="name python: parameter[0];\n
value python: parameter[1];" type="hidden" />\n
</tal:block>\n
<div id="main_bar">\n
<span class="first">\n
<span id="favourites">\n
<select name="favorite_select"\n
tal:define="ordered_global_actions python:here.getOrderedGlobalActionList(actions[\'global\']);\n
user_actions actions/user;"\n
tal:attributes="onChange string:submitAction(this.form,\'${url}/Base_doFavorite\')">\n
<option selected="selected" value=""\n
i18n:translate="" i18n:domain="ui">My favourites</option>\n
<tal:block tal:condition="ordered_global_actions">\n
<tal:block tal:repeat="action ordered_global_actions">\n
<option tal:condition="action/disabled"\n
disabled="disabled">-- <tal:block tal:content="action/title" i18n:translate="" i18n:domain="ui" /> --</option>\n
<tal:block tal:condition="not:action/disabled"\n
tal:define="name python: action.get(\'name\', \'\');\n
index python: name.find(\' (\');">\n
<option tal:condition="python: index >= 0"\n
tal:attributes="value action/url"><tal:block tal:content="python: name[:index]" i18n:translate="" i18n:domain="ui"></tal:block><tal:block tal:replace="python: name[index:]" /></option>\n
<option tal:condition="python: index < 0"\n
tal:attributes="value action/url"\n
tal:content="action/name"\n
i18n:translate="" i18n:domain="ui"></option>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
<tal:block tal:condition="user_actions">\n
<option disabled="disabled">-- <tal:block i18n:translate="" i18n:domain="ui">User</tal:block> --</option>\n
<option tal:repeat="action user_actions"\n
tal:content="action/name"\n
tal:attributes="value action/url"\n
i18n:translate="" i18n:domain="ui"></option>\n
</tal:block>\n
</select>\n
<button type="submit" name="Base_doFavorite:method">\n
<span class="image"></span>\n
<span class="description"\n
i18n:translate="" i18n:domain="ui">Select Favorite</span>\n
</button>\n
</span>\n
<span id="modules">\n
<select name="module_select"\n
tal:define="module_list here/ERP5Site_getModuleItemList;"\n
tal:attributes="onChange string:submitAction(this.form,\'${url}/Base_doModule\')">\n
<option selected="selected" value=""\n
i18n:translate="" i18n:domain="ui">ERP5 Modules</option>\n
<tal:block tal:repeat="module module_list">\n
<option value="something"\n
tal:attributes="value python: module[1]"\n
tal:content="python: module[0]" />\n
</tal:block>\n
</select>\n
<button type="submit" name="Base_doModule:method">\n
<span class="image"></span>\n
<span class="description"\n
i18n:translate="" i18n:domain="ui">Select module</span>\n
</button>\n
</span>\n
</span>\n
<span class="second">\n
<span id="language">\n
<select name="language_select"\n
tal:attributes="onChange string:submitAction(this.form,\'${url}/Base_doLanguage\')">\n
<option selected="selected" value=""\n
i18n:translate="" i18n:domain="ui">My language</option>\n
<tal:block tal:repeat="language python: here.Localizer.get_languages_map()">\n
<option 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\'])"></option>\n
</tal:block>\n
</select>\n
<button type="submit" name="Base_doLanguage:method">\n
<span class="image"></span>\n
<span class="description"\n
i18n:translate="" i18n:domain="ui">Select language</span>\n
</button>\n
</span>\n
<span id="search">\n
<input type="text" name="SearchableText" />\n
<button type="submit" name="Base_viewSearchResultList:method">\n
<span class="image"></span>\n
<span class="description"\n
i18n:translate="" i18n:domain="ui">Search</span>\n
</button>\n
</span>\n
</span>\n
<hr class="clear" />\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
<tal:block tal:condition="python: repeat[\'item\'].index < 2">\n
<a tal:attributes="href item/url"\n
tal:content="item/title"\n
i18n:translate="" i18n:domain="ui"></a>\n
</tal:block>\n
<tal:block tal:condition="python: repeat[\'item\'].index >= 2">\n
<a tal:attributes="href item/url"\n
tal:content="item/title"></a>\n
</tal:block>\n
/\n
</tal:block>\n
</div>\n
<div id="logged_in_as">\n
<tal:block tal:condition="not: here/portal_membership/isAnonymousUser">\n
<tal:block i18n:translate="" i18n:domain="ui">Logged In as </tal:block> :\n
<tal:block tal:replace="python:here.portal_membership.getAuthenticatedMember().getUserName()" />\n
</tal:block>\n
</div>\n
<hr class="clear" />\n
<div tal:content="structure here/REQUEST/portal_status_message | nothing"\n
id="transition_message"></div>\n
</div>\n
<div id="master">\n
<tal:block metal:define-slot="main" />\n
</div>\n
</form>\n
</body>\n
</html>\n
</tal:block>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>template_erp5_xhtml_style</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -73,13 +73,37 @@ 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/document/macros/master">\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
<div class="document"\n
tal:define="actions actions/object_view | python: []">\n
<div class="actions">\n
<tal:block tal:condition="editable_mode | python: 1">\n
<button tal:condition="python: here.portal_membership.checkPermission(\'Modify portal content\', here)"\n
type="submit" name="Base_edit:method" class="save">\n
<span class="image"></span>\n
<span class="description"\n
i18n:translate="" i18n:domain="ui">Save</span>\n
</button>\n
</tal:block>\n
<ul tal:condition="python: len(actions)">\n
<tal:block tal:repeat="action actions">\n
<li tal:attributes="class python: action == current_action and \'selected\' or \'not_selected\'">\n
<a tal:attributes="href python: here.ERP5Site_renderLink(action[\'url\'], http_parameters)"\n
tal:content="action/name"></a>\n
</li>\n
</tal:block>\n
</ul>\n
</div>\n
<div class="content"><tal:block metal:define-slot="main" /></div>\n
</div>\n
</tal:block>\n
</tal:block>\n
</tal:block>
</tal:block>\n
]]></string> </value>
</item>
......@@ -93,7 +117,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
</item>
<item>
<key> <string>id</string> </key>
<value> <string>view_master</string> </value>
<value> <string>view_main</string> </value>
</item>
<item>
<key> <string>title</string> </key>
......
2006-06-26 vincent
* Rename page templates to follow a consistent naming scheme.
* Add another layer to unify web mode handling.
2006-06-23 yo
* Put id on each div in form_sort. Otherwise, functional testing is too difficult.
* Likewise, put id on each tr in form_list_ui.
2006-06-20 Vincent
Correct form button values when in a dialog.
* Correct form button values when in a dialog.
2006-06-15 Vincent
Initial commit.
Valid XHTML1.0 Strict + CSS 2.0.
\ No newline at end of file
* Initial commit.
* Valid XHTML1.0 Strict + CSS 2.0.
\ 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