Commit 4d48744c authored by Jean-Paul Smets's avatar Jean-Paul Smets

2007-01-03 Early release of refactored version of ERP5 Web

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@11888 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent c953b90d
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>text</string> </key> <key> <string>text</string> </key>
<value> <string>python: object and object.WebSite_getDefaultWebPageValue()</string> </value> <value> <string>python: object is not None and object.WebSite_getDefaultWebPageValue() is not None</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -39,7 +39,20 @@ ...@@ -39,7 +39,20 @@
<item> <item>
<key> <string>_property_domain_dict</string> </key> <key> <string>_property_domain_dict</string> </key>
<value> <value>
<dictionary/> <dictionary>
<item>
<key> <string>short_title</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value> </value>
</item> </item>
<item> <item>
...@@ -70,7 +83,7 @@ ...@@ -70,7 +83,7 @@
</item> </item>
<item> <item>
<key> <string>content_meta_type</string> </key> <key> <string>content_meta_type</string> </key>
<value> <string>ERP5 Domain</string> </value> <value> <string>ERP5 Web Section</string> </value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>description</string> </key>
...@@ -78,7 +91,7 @@ ...@@ -78,7 +91,7 @@
</item> </item>
<item> <item>
<key> <string>factory</string> </key> <key> <string>factory</string> </key>
<value> <string>addDomain</string> </value> <value> <string>addWebSection</string> </value>
</item> </item>
<item> <item>
<key> <string>filter_content_types</string> </key> <key> <string>filter_content_types</string> </key>
...@@ -117,4 +130,50 @@ ...@@ -117,4 +130,50 @@
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.ERP5Type.TranslationProviderBase</string>
<string>TranslationInformation</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>domain_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>property_name</string> </key>
<value> <string>short_title</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<tuple>
<tuple>
<string>Products.ERP5Type.TranslationProviderBase</string>
<string>TranslationInformation</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>domain_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>property_name</string> </key>
<value> <string>title</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -68,16 +68,17 @@ ...@@ -68,16 +68,17 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string>REQUEST = context.REQUEST\n <value> <string>"""\n
Special edit method which returns to editable_mode.\n
The edit_document_url is used to define the URL to return to\n
after editing the document.\n
"""\n
# Retrieve the edit action\n
edit_method = getattr(context, form_action)\n
base_value = edit_method(form_id, **kw)\n
\n \n
if REQUEST.has_key(\'portal_skin\'):\n redir="%s?editable_mode:int=1" % edit_document_url\n
context.portal_skins.clearSkinCookie()\n context.REQUEST[\'RESPONSE\'].redirect(redir)\n
REQUEST.RESPONSE.expireCookie(\'__ac\', path=\'/\')\n
\n
website = context.WebSite_getBreadcrumbItemList()[0][1]\n
website_url = website.absolute_url()\n
\n
return REQUEST.RESPONSE.redirect(website_url)\n
</string> </value> </string> </value>
</item> </item>
<item> <item>
...@@ -92,9 +93,15 @@ return REQUEST.RESPONSE.redirect(website_url)\n ...@@ -92,9 +93,15 @@ return REQUEST.RESPONSE.redirect(website_url)\n
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string></string> </value> <value> <string>form_id, form_action, edit_document_url, **kw</string> </value>
</item> </item>
<item> <item>
<key> <string>errors</string> </key> <key> <string>errors</string> </key>
...@@ -114,18 +121,24 @@ return REQUEST.RESPONSE.redirect(website_url)\n ...@@ -114,18 +121,24 @@ return REQUEST.RESPONSE.redirect(website_url)\n
<dictionary> <dictionary>
<item> <item>
<key> <string>co_argcount</string> </key> <key> <string>co_argcount</string> </key>
<value> <int>0</int> </value> <value> <int>3</int> </value>
</item> </item>
<item> <item>
<key> <string>co_varnames</string> </key> <key> <string>co_varnames</string> </key>
<value> <value>
<tuple> <tuple>
<string>form_id</string>
<string>form_action</string>
<string>edit_document_url</string>
<string>kw</string>
<string>getattr</string>
<string>context</string>
<string>edit_method</string>
<string>_apply_</string>
<string>base_value</string>
<string>redir</string>
<string>_getattr_</string> <string>_getattr_</string>
<string>context</string>
<string>REQUEST</string>
<string>_getitem_</string> <string>_getitem_</string>
<string>website</string>
<string>website_url</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -142,7 +155,7 @@ return REQUEST.RESPONSE.redirect(website_url)\n ...@@ -142,7 +155,7 @@ return REQUEST.RESPONSE.redirect(website_url)\n
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>logout</string> </value> <value> <string>Base_editAndEditAsWeb</string> </value>
</item> </item>
<item> <item>
<key> <string>warnings</string> </key> <key> <string>warnings</string> </key>
......
...@@ -68,10 +68,17 @@ ...@@ -68,10 +68,17 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string>for varkey in context.getVarMatchKeys():\n <value> <string># Retrieve the edit action\n
kw[varkey] = context.getVarMatch(varkey)\n """\n
Special edit method which returns to view mode.\n
The view_document_url is used to define the URL to return to\n
after editing the document.\n
"""\n
edit_method = getattr(context, form_action)\n
base_value = edit_method(form_id, **kw)\n
\n \n
return context.getPortalObject().portal_catalog(**kw)\n redir="%s?editable_mode:int=0" % view_document_url\n
context.REQUEST[\'RESPONSE\'].redirect(redir)\n
</string> </value> </string> </value>
</item> </item>
<item> <item>
...@@ -94,7 +101,7 @@ return context.getPortalObject().portal_catalog(**kw)\n ...@@ -94,7 +101,7 @@ return context.getPortalObject().portal_catalog(**kw)\n
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>**kw</string> </value> <value> <string>form_id, form_action, view_document_url, **kw</string> </value>
</item> </item>
<item> <item>
<key> <string>errors</string> </key> <key> <string>errors</string> </key>
...@@ -114,19 +121,24 @@ return context.getPortalObject().portal_catalog(**kw)\n ...@@ -114,19 +121,24 @@ return context.getPortalObject().portal_catalog(**kw)\n
<dictionary> <dictionary>
<item> <item>
<key> <string>co_argcount</string> </key> <key> <string>co_argcount</string> </key>
<value> <int>0</int> </value> <value> <int>3</int> </value>
</item> </item>
<item> <item>
<key> <string>co_varnames</string> </key> <key> <string>co_varnames</string> </key>
<value> <value>
<tuple> <tuple>
<string>form_id</string>
<string>form_action</string>
<string>view_document_url</string>
<string>kw</string> <string>kw</string>
<string>_getiter_</string> <string>getattr</string>
<string>_getattr_</string> <string>context</string>
<string>context</string> <string>edit_method</string>
<string>varkey</string>
<string>_write_</string>
<string>_apply_</string> <string>_apply_</string>
<string>base_value</string>
<string>redir</string>
<string>_getattr_</string>
<string>_getitem_</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -143,7 +155,7 @@ return context.getPortalObject().portal_catalog(**kw)\n ...@@ -143,7 +155,7 @@ return context.getPortalObject().portal_catalog(**kw)\n
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>WorkList_getPendingWorkList</string> </value> <value> <string>Base_editAndViewAsWeb</string> </value>
</item> </item>
<item> <item>
<key> <string>warnings</string> </key> <key> <string>warnings</string> </key>
......
...@@ -68,52 +68,62 @@ ...@@ -68,52 +68,62 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string># This script is part of ERP5 Web\n <value> <string>"""\n
#\n This script is part of ERP5 Web\n
# ERP5 Web is an extension to ERP5 which provides a way\n
# to create web sites which can display selected\n
# ERP5 contents through multiple custom web layouts.\n
#\n
# This script returns the absolute URL of the current \n
# document in a pretty way and taking into account\n
# virtual hosting. The purpose of this script is to be\n
# able to access documents through a URL such as:\n
#\n
# www.mysite.com/mysection/a-document-reference\n
#\n
# even if the physical path of the document is\n
#\n
# /erp5/web_page_module/33\n
#\n
# The default script looks in the acquisition context\n
# for the first relevant section and build a URL\n
# based on the section absolute_url and on the \n
# document reference. \n
#\n
# More sophisticated behaviours are possible.\n
#\n
# It may be useful to change the behaviour\n
# of WebSite_getDocumentUrl for non anonymous\n
# users or for documents which are not published.\n
#\n
# NOTE: it is still unknown whether this script\n
# needs to be integrated or not to the absolute_url API\n
\n \n
# First build the main section URL\n ERP5 Web is a business template of ERP5 which provides a way\n
main_section = context\n to create web sites which can display selected\n
main_section_path = None\n ERP5 contents through multiple custom web layouts.\n
while hasattr(main_section,\'aq_parent\') and hasattr(main_section,\'getPortalType\') and main_section.getPortalType()!="Web Section" and main_section.getPortalType()!="Web Site":\n
main_section_path = str(main_section.absolute_url())\n
main_section = main_section.aq_parent\n
\n \n
# then, if context is a web page, the reference must be added to the URL\n This script returns the absolute URL of the current\n
my_reference=None\n document in a pretty way and taking into account\n
if hasattr(context,\'getReference\'):\n virtual hosting. The purpose of this script is to be\n
my_reference = context.getReference()\n able to access documents through a URL such as:\n
if my_reference==None:\n
my_reference=""\n
\n \n
return main_section.absolute_url() + "/" + my_reference\n www.mysite.com/mysection/a-document-reference\n
\n
even if the physical path of the document is\n
\n
/erp5/web_page_module/33\n
\n
The default script looks in the acquisition context\n
for the first relevant section and build a URL\n
based on the section absolute_url and on the\n
document reference.\n
\n
More sophisticated behaviours are possible.\n
\n
SUGGESTIONS:\n
\n
- change the behaviour of WebSite_getDocumentUrl\n
for non anonymous\n
\n
- change the behaviour of WebSite_getDocumentUrl\n
for documents which are not published.\n
\n
NOTE: it is still unknown whether this script\n
needs to be integrated or not to the absolute_url API\n
"""\n
# Return absolute URL if our parent is not a Web Section or Web Site\n
if context.aq_parent.getPortalType() not in (\'Web Section\', \'Web Site\'):\n
return context.absolute_url()\n
\n
# Return absolute URL if this is not an appropriate portal_type\n
valid_portal_type_list = [\'Web Page\', ] # WARNING - this is a copy from WebSite_getDocumentValue\n
if context.getPortalType() not in valid_portal_type_list:\n
return context.absolute_url()\n
\n
# Return absolute URL if this is not a \'live\' document\n
validation_state=[\'draft\', \'submitted\', \'shared\', # WARNING - this is a copy from WebSite_getDocumentValueList\n
\'released\', \'published\', \'restricted\']\n
if context.getValidationState() not in validation_state:\n
return context.absolute_url()\n
\n
# Find the Web Section or Web Site we belong to\n
current_section = context.getWebSectionValue()\n
\n
# Return the URL\n
return "%s/%s" % (current_section.absolute_url(), context.getReference())\n
</string> </value> </string> </value>
</item> </item>
<item> <item>
...@@ -136,7 +146,7 @@ return main_section.absolute_url() + "/" + my_reference\n ...@@ -136,7 +146,7 @@ return main_section.absolute_url() + "/" + my_reference\n
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>**kw</string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>errors</string> </key> <key> <string>errors</string> </key>
...@@ -162,15 +172,11 @@ return main_section.absolute_url() + "/" + my_reference\n ...@@ -162,15 +172,11 @@ return main_section.absolute_url() + "/" + my_reference\n
<key> <string>co_varnames</string> </key> <key> <string>co_varnames</string> </key>
<value> <value>
<tuple> <tuple>
<string>kw</string>
<string>context</string>
<string>main_section</string>
<string>None</string>
<string>main_section_path</string>
<string>hasattr</string>
<string>_getattr_</string> <string>_getattr_</string>
<string>str</string> <string>context</string>
<string>my_reference</string> <string>valid_portal_type_list</string>
<string>validation_state</string>
<string>current_section</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -187,7 +193,7 @@ return main_section.absolute_url() + "/" + my_reference\n ...@@ -187,7 +193,7 @@ return main_section.absolute_url() + "/" + my_reference\n
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>WebSite_getDocumentUrl</string> </value> <value> <string>Base_getPermanentURL</string> </value>
</item> </item>
<item> <item>
<key> <string>warnings</string> </key> <key> <string>warnings</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string>"""\n
This script split a form group id in two part:\n
* a group id,\n
* a group title.\n
\n
The group should be named based on the following pattern: "group id (Group Title)" \n
\n
This script is a hack to let us merge two informations (id and title) into one (id) to get\n
over Formulator limitations. This script should disappear with Formulator\'s refactoring.\n
\n
Features: \n
* Multiple parenthesis allowed;\n
* Group id can continue after the title definition.\n
\n
Example:\n
A string like\n
"left webcontent (The Fantastic Group (and (funky) lisp-like parenthesis)) extra",\n
will return the following tuple:\n
( \'left webcontent extra\'\n
, \'The Fantastic Group (and (funky) lisp-like parenthesis)\'\n
, \'left webcontent (The Fantastic Group (and (funky) lisp-like parenthesis)) extra\'\n
)\n
"""\n
\n
if not same_type(original_group_id, \'string\'):\n
return None\n
\n
# Separate the group id and the group title using parenthesis as marker from the original form group id\n
o_gid_list = original_group_id.strip().split(\'(\')\n
\n
# Get the first part of the group id (which is the part before the first opened parenthesis)\n
group_id = o_gid_list[0]\n
\n
# Get the end of the list (which is the part just after the first opened parenthesis)\n
group_title_list = \'(\'.join(o_gid_list[1:]).split(\')\')\n
\n
# Get the last part of the group id (the part which stand after the last closing parenthesis)\n
group_id += group_title_list[-1]\n
\n
# Normalize the group id (suppress unecessary multiple-space)\n
group_id_list = []\n
for group_word in group_id.split(\' \'):\n
if len(group_word):\n
group_id_list.append(group_word)\n
group_id = \' \'.join(group_id_list)\n
\n
# Generate the group title\n
group_title = \')\'.join(group_title_list[:-1]).strip()\n
\n
# Return the group id if no title found\n
if len(group_title) == 0:\n
group_title = group_id\n
\n
return ( group_id\n
, group_title\n
, original_group_id\n
)\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>original_group_id=None</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>original_group_id</string>
<string>same_type</string>
<string>None</string>
<string>_getattr_</string>
<string>o_gid_list</string>
<string>_getitem_</string>
<string>group_id</string>
<string>group_title_list</string>
<string>group_id_list</string>
<string>_getiter_</string>
<string>group_word</string>
<string>len</string>
<string>group_title</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<tuple>
<none/>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5XhtmlStyle_getFormGroupTitleAndId</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
<key> <string>group_list</string> </key> <key> <string>group_list</string> </key>
<value> <value>
<list> <list>
<string>left</string> <string>bottom</string>
<string>hidden</string> <string>hidden</string>
</list> </list>
</value> </value>
...@@ -71,18 +71,18 @@ ...@@ -71,18 +71,18 @@
<value> <value>
<dictionary> <dictionary>
<item> <item>
<key> <string>hidden</string> </key> <key> <string>bottom</string> </key>
<value> <value>
<list> <list>
<string>listbox_caption</string> <string>listbox</string>
</list> </list>
</value> </value>
</item> </item>
<item> <item>
<key> <string>left</string> </key> <key> <string>hidden</string> </key>
<value> <value>
<list> <list>
<string>listbox</string> <string>listbox_caption</string>
</list> </list>
</value> </value>
</item> </item>
......
...@@ -68,154 +68,56 @@ ...@@ -68,154 +68,56 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string>"""\n
This script is part of ERP5 Web\n
# This script is part of ERP5 Web\n
#\n
# ERP5 Web is an extension to ERP5 which provides a way\n
# to create web sites which can display selected\n
# ERP5 contents through multiple custom web layouts.\n
#\n
# This script returns a list of document values (ie. objects or brains)\n
# which are considered as part of this section. It can be\n
# a list of web pages (usual case), a list of products\n
# (online catalog), a list of tenders (e-government), etc.\n
# \n
# This script shows an implementation which consists in\n
# listing documents which are either associated to this section\n
# through \'aggregate\' or which are meet the predicate define\n
# by the section (ex. which are part of a given publication_section)\n
# and which are in "published" state and of a "Web Page" portal_type\n
#\n
# This script can be changed to meet other requirements. For example\n
# one may want to display a list of products in a section. In this case,\n
# this script must return a list of documents of type "Product"\n
# with a "validated" state and in the appropriate product family.\n
#\n
# This script is intended to be overriden by creating an instance \n
# in each section if necessary\n
\n \n
from string import split\n ERP5 Web is a business template of ERP5 which provides a way\n
to create web sites which can display selected\n
ERP5 contents through multiple custom web layouts.\n
\n \n
portal_catalog = container.portal_catalog\n This script returns a list of document values (ie. objects or brains)\n
\n which are considered as part of this section. It can be\n
# First find the web section we are in\n a list of web pages (usual case), a list of products\n
current_node = context\n (online catalog), a list of tenders (e-government), etc.\n
while not current_node.getPortalType() in (\'Web Section\', \'Web Site\'):\n
current_node = current_node.aq_parent\n
# Then find the publication categories referenced by the web section\n
section_categories = current_node.getMembershipCriterionCategoryList()\n
section_base_categories_conjunctive = current_node.getMembershipCriterionBaseCategoryList()\n
section_base_categories_disjunctive = current_node.getMultimembershipCriterionBaseCategoryList()\n
\n \n
def checkMember(x):\n The default implementation provided here consists in\n
if x.getValidationState()==\'published\' or x.getValidationState()==\'validated\':\n listing documents which meet the predicate defined\n
return current_node.test(x)\n by the section (ex. which are part of a given publication_section)\n
and which are in "published" state and of a "Web Page" portal_type.\n
\n \n
# get all web pages and products and check if they match the predicates of the web section,\n It should be noted that document selection should be implemented\n
# except if there is no membership category in the section.\n as much as possible using the Domain API.\n
if not section_categories:\n
li = []\n
else:\n
li = list(context.portal_catalog(portal_type="Product"))\n
li.extend(list(context.portal_catalog(portal_type="Web Page")))\n
li = filter(checkMember, li )\n
if li:\n
my_list=li\n
else:\n
my_list=[]\n
\n \n
# get al web pages associated to the section by aggregate-relation\n This script can be changed to meet other requirements. For example\n
if hasattr(current_node,\'getAggregateList\'):\n one may want to display a list of products in a section. In this case,\n
aggregate_values = current_node.getAggregateList()\n this script must return a list of documents of type "Product"\n
aggregate_values = map(context.restrictedTraverse,aggregate_values)\n with a "validated" state and in the appropriate product family.\n
my_list.extend(aggregate_values) \n
\n \n
# Remove duplicate entries in my_list\n This script is intended to be overriden by creating a new script\n
my_clean_list=[]\n within the Web Site instance if necessary (not inside a\n
my_reference_list=[]\n portal_skin since multiple sites might have different behaviour).\n
my_version_list={}\n
for my_element in my_list:\n
if not my_element.getReference() in my_reference_list:\n
my_clean_list.append(my_element)\n
my_reference_list.append(my_element.getReference())\n
if hasattr(my_element,\'getVersion\'):\n
my_version_list[my_element.getReference()] = my_element.getVersion()\n
else:\n
my_version_list[my_element.getReference()] = 0\n
else:\n
if hasattr(my_element,\'getVersion\'):\n
if my_version_list[my_element.getReference()] < my_element.getVersion():\n
my_version_list[my_element.getReference()] = my_element.getVersion()\n
for clean_item in my_clean_list:\n
if clean_item.getReference()==my_element.getReference():\n
my_clean_list.remove(clean_item)\n
break\n
my_clean_list.append(my_element)\n
\n
\n \n
Here are some suggestions which can either be implemented using\n
SQL (group_by, order_by) or using additional python scripting\n
if this is compatible with data size.\n
\n \n
def compareIndex(c1, c2):\n SUGGESTIONS:\n
c1_value = c1.getObject() \n - Prevent showing duplicate references\n
c2_value = c2.getObject() \n \n
if hasattr(c1_value,\'getIntIndex\') and hasattr(c2_value,\'getIntIndex\') :\n - Add documents associated to this section through \'aggregate\'.\n
return cmp(c1_value.getIntIndex(), c2_value.getIntIndex()) \n
else:\n
return 0\n
\n \n
my_clean_list.sort(compareIndex)\n - Display only the latest version and the appropriate language.\n
return my_clean_list\n """\n
portal_catalog = container.portal_catalog\n
\n \n
# First find the Web Section or Web Site we belong to\n
current_section = context.getWebSectionValue()\n
\n \n
## FYI - old implementation - broken\n # Return the list of matching documents for the given states\n
#from Products.ERP5Form.Selection import DomainSelection\n return current_section.searchResults(validation_state=[\'draft\', \'submitted\', \'shared\',\n
#\n \'released\', \'public\', \'restricted\'],\n
#if not context.getMembershipCriterionCategoryList() and not context.getSourceList():\n order_by=[(\'int_index\', \'descending\')])\n
# return []\n </string> </value>
#\n
#def content_cmp(c1, c2):\n
# c1_value = c1.getObject() \n
# c2_value = c2.getObject() \n
# return cmp(c1_value.getIntIndex(), c2_value.getIntIndex()) \n
#\n
#if context.getMembershipCriterionCategoryList():\n
# domain = DomainSelection(domain_dict = {\'web_site\': context})\n
# kw[\'selection_domain\'] = domain\n
# kw[\'portal_type\'] = \'Web Page\'\n
# kw[\'validation_state\'] = \'published\'\n
# if not kw.has_key(\'sort_on\'): kw[\'sort_on\'] = \'int_index\'\n
# brain_list = list(context.portal_catalog(**kw))\n
#else:\n
# brain_list = []\n
#\n
## Make a new search with local documents\n
#reference_list = map(lambda x:x.getReference(), context.getSourceValueList(portal_type="Web Page"))\n
#if reference_list:\n
# brain_list.extend(list(context.portal_catalog(reference= reference_list, portal_type="Web Page")))\n
#\n
## Make sure a single reference is counted once only\n
#brain_dict = {}\n
#none_list = []\n
#for b in brain_list:\n
# o = b.getObject()\n
# if o is not None:\n
# reference = o.getReference()\n
# if reference is None:\n
# none_list.append(b)\n
# else:\n
# brain_dict[reference] = b\n
#\n
#brain_list = brain_dict.values() + none_list\n
#for bee in brain_list:\n
# bee = bee.title\n
#\n
## Sort documents\n
#brain_list.sort(content_cmp)\n
#\n
#return brain_list\n
]]></string> </value>
</item> </item>
<item> <item>
<key> <string>_code</string> </key> <key> <string>_code</string> </key>
...@@ -264,33 +166,11 @@ return my_clean_list\n ...@@ -264,33 +166,11 @@ return my_clean_list\n
<value> <value>
<tuple> <tuple>
<string>kw</string> <string>kw</string>
<string>string</string>
<string>split</string>
<string>_getattr_</string> <string>_getattr_</string>
<string>container</string> <string>container</string>
<string>portal_catalog</string> <string>portal_catalog</string>
<string>context</string> <string>context</string>
<string>current_node</string> <string>current_section</string>
<string>section_categories</string>
<string>section_base_categories_conjunctive</string>
<string>section_base_categories_disjunctive</string>
<string>checkMember</string>
<string>li</string>
<string>list</string>
<string>filter</string>
<string>my_list</string>
<string>hasattr</string>
<string>aggregate_values</string>
<string>map</string>
<string>my_clean_list</string>
<string>my_reference_list</string>
<string>my_version_list</string>
<string>_getiter_</string>
<string>my_element</string>
<string>_write_</string>
<string>_getitem_</string>
<string>clean_item</string>
<string>compareIndex</string>
</tuple> </tuple>
</value> </value>
</item> </item>
......
...@@ -526,10 +526,6 @@ ...@@ -526,10 +526,6 @@
<key> <string>url_columns</string> </key> <key> <string>url_columns</string> </key>
<value> <value>
<list> <list>
<tuple>
<string>reference</string>
<string>WebSite_getListboxUrl</string>
</tuple>
<tuple> <tuple>
<string>short_title</string> <string>short_title</string>
<string>WebSite_getListboxUrl</string> <string>WebSite_getListboxUrl</string>
...@@ -573,7 +569,7 @@ ...@@ -573,7 +569,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>method_name</string> </key> <key> <string>method_name</string> </key>
<value> <string>WebSite_getDocumentValueList</string> </value> <value> <string>WebSection_getDocumentValueList</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -68,54 +68,47 @@ ...@@ -68,54 +68,47 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string>"""\n
This script is part of ERP5 Web\n
# This script is part of ERP5 Web\n
#\n
# ERP5 Web is an extension to ERP5 which provides a way\n
# to create web sites which can display selected\n
# ERP5 contents through multiple custom web layouts.\n
#\n
# This script returns a list of tuples in the form\n
# (title, value) where title is the title of the \n
# document provided as value. The document value\n
# must be wrapped in the acquisition context \n
# (ex. Web Site / Section / Module / Document).\n
#\n
# Scripts of page templates which use this script\n
# and need to generate the URLs of document values\n
# should must use the WebSite_getDocumentUrl API \n
# or eventually the absolute_url API in order\n
# to benefit from virtual hosting features. \n
# (ie. do not use getUrl)\n
# NOTE: Clarification needed when to use which ?\n
#\n
# This script can be used to produce breadcrumbs\n
# in page templates or in widgets. It can be customised\n
# to implement different behaviours such as\n
#\n
# - CMS like breadcrumb (hierarchy of contents)\n
# - Wiki like breadcrumb (history of navigation)\n
# - or any other behaviour\n
#\n
# The default implementation is hierarchical\n
\n \n
# (kev): I think the current implementation must change to just return the list of object like\n ERP5 Web is a business template of ERP5 which provides a way\n
# [ <WebSite at /erp5/web_site_module/1>\n to create web sites which can display selected\n
# , <Domain at /erp5/web_site_module/1/1>\n ERP5 contents through multiple custom web layouts.\n
# , <Document at /erp5/web_page_module/1 used for /erp5/web_site_module/1/1>\n
# ]\n
# and not a list of tuples like (title, object). Thanks to this modification I will be able\n
# to choose how to render the link string of the breadcrumb item in the page template of my\n
# widget. Because this kind of feature is related to rendering and presentation and because\n
# it is not part of core logic of the web API, the title should not be returned by the\n
# current script.\n
\n \n
This script returns a list of tuples in the form\n
(title, value) where title is the title of the\n
document provided as value. The document value\n
must be wrapped in the acquisition context\n
(ex. Web Site / Section / Module / Document).\n
\n
Scripts of page templates which use this script\n
and need to generate the URLs of document values\n
should must use the Base_getPermanentURL API\n
or the absolute_url API in order\n
to benefit from virtual hosting features.\n
(ie. do not use getUrl or getPath)\n
\n
This script can be used to produce breadcrumbs\n
in page templates or in widgets. It can be customised\n
to implement different behaviours such as\n
\n
- CMS like breadcrumb (hierarchy of contents)\n
\n
- Wiki like breadcrumb (history of navigation)\n
\n
- or any other behaviour\n
\n
The default implementation is hierarchical.\n
\n
TODO: Clarify absolute_url or Base_getPermanentURL\n
TODO: is it so useful to include title ?\n
"""\n
crumb = context\n crumb = context\n
crumb_list = []\n crumb_list = []\n
\n \n
while hasattr(crumb, \'getParent\'):\n # Implementation consists in browsing the aq_parent sequence\n
crumb_list.append(( crumb.ERP5Web_getVerboseTitle(priority = \'short_title\')\n while crumb is not None:\n
crumb_list.append(( crumb.getProperty(\'translated_short_title\', None) or crumb.getTranslatedTitleOrId()\n
, crumb\n , crumb\n
))\n ))\n
if crumb.getPortalType() == \'Web Site\':\n if crumb.getPortalType() == \'Web Site\':\n
...@@ -124,11 +117,8 @@ while hasattr(crumb, \'getParent\'):\n ...@@ -124,11 +117,8 @@ while hasattr(crumb, \'getParent\'):\n
crumb = crumb.aq_parent\n crumb = crumb.aq_parent\n
\n \n
crumb_list.reverse()\n crumb_list.reverse()\n
\n
return crumb_list\n return crumb_list\n
</string> </value>
]]></string> </value>
</item> </item>
<item> <item>
<key> <string>_code</string> </key> <key> <string>_code</string> </key>
...@@ -179,9 +169,8 @@ return crumb_list\n ...@@ -179,9 +169,8 @@ return crumb_list\n
<string>context</string> <string>context</string>
<string>crumb</string> <string>crumb</string>
<string>crumb_list</string> <string>crumb_list</string>
<string>hasattr</string>
<string>_getattr_</string>
<string>None</string> <string>None</string>
<string>_getattr_</string>
</tuple> </tuple>
</value> </value>
</item> </item>
......
...@@ -68,40 +68,43 @@ ...@@ -68,40 +68,43 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string># This script is part of ERP5 Web\n <value> <string>"""\n
#\n This script is part of ERP5 Web\n
# ERP5 Web is an extension to ERP5 which provides a way\n
# to create web sites which can display selected\n
# ERP5 contents through multiple custom web layouts.\n
#\n
# This script returns the default document to display\n
# as the front page of a given section.\n
#\n
# The default implementation should look at published\n
# documents which are associated to the section\n
# through aggregate relation and try to display those\n
# which are in the closest possible language.\n
#\n
# This behaviour can be overriden to implemet more complex\n
# policies (ex. display the last version in the appropriate\n
# language rather than the latest version in a different\n
# language)\n
\n \n
next_section=context\n ERP5 Web is a business template of ERP5 which provides a way\n
while hasattr(next_section,\'getParent\') and hasattr(next_section,\'getPortalType\'):\n to create web sites which can display selected\n
if next_section.getPortalType() == \'Web Section\':\n ERP5 contents through multiple custom web layouts.\n
break\n
else:\n
next_section = next_section.aq_parent\n
\n \n
if not hasattr(next_section,\'getCategories\'):\n This script returns the default document to display\n
return None # Context is not a Section, so no default Value available.\n as the front page of a given Web Section or Web Site.\n
If no default is found, it returns None.\n
\n \n
my_aggregate = next_section.getAggregateValue()\n The default implementation should look at published\n
if my_aggregate==None:\n documents which are associated to the section\n
#context.log("No aggregate found","!!!")\n through aggregate relation and try to display those\n
return None\n which are in the user language if any.\n
return my_aggregate\n \n
Other implementations are possible: ex. display the last\n
version in the closest language rather than\n
the latest version in the user language.\n
\n
This script is intended to be overriden by creating a new script\n
within the Web Site instance if necessary (not inside a\n
portal_skin since multiple sites might have different behaviour).\n
\n
"""\n
portal_object = context.getPortalObject()\n
\n
# First find the Web Section or Web Site we belong to\n
current_section = context.getWebSectionValue()\n
\n
# First get all the applicable references\n
# There might be more than one reference due to security differences\n
# (ex. a default restricted web page and a default public web page)\n
reference_list = context.getAggregateReferenceList()\n
if not reference_list: return None # Quick return\n
\n
return context.WebSite_getDocumentValue(name=reference_list)\n
</string> </value> </string> </value>
</item> </item>
<item> <item>
...@@ -150,12 +153,12 @@ return my_aggregate\n ...@@ -150,12 +153,12 @@ return my_aggregate\n
<key> <string>co_varnames</string> </key> <key> <string>co_varnames</string> </key>
<value> <value>
<tuple> <tuple>
<string>context</string>
<string>next_section</string>
<string>hasattr</string>
<string>_getattr_</string> <string>_getattr_</string>
<string>context</string>
<string>portal_object</string>
<string>current_section</string>
<string>reference_list</string>
<string>None</string> <string>None</string>
<string>my_aggregate</string>
</tuple> </tuple>
</value> </value>
</item> </item>
......
...@@ -68,70 +68,77 @@ ...@@ -68,70 +68,77 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string># This script is part of ERP5 Web\n <value> <string>"""\n
#\n This script is part of ERP5 Web\n
# ERP5 Web is an extension to ERP5 which provides a way\n
# to create web sites which can display selected\n
# ERP5 contents through multiple custom web layouts.\n
#\n
# This script returns the document which is being displayed\n
# in the current in the form of a value (object).\n
#\n
# If a name parameter is provided, it will lookup\n
# the catalog to find a document. If no name parameter\n
# is provided, it will analyse the current context\n
# (ex. Section, Web Page, etc.) and try to find out\n
# which document is being displayed. For example,\n
# sections which define a default document may \n
# actually display that document rather than \n
# themselves when asked to render.\n
#\n
# NOTE: portal param probably useless\n
\n \n
# Use the following Variable to determine which\n ERP5 Web is a business template of ERP5 which provides a way\n
# \n to create web sites which can display selected\n
ERP5 contents through multiple custom web layouts.\n
\n \n
If no name parameter is provided, this script\n
returns the document which is being displayed\n
currently in a Web Section or a Web Page\n
by invoking WebSite_getDefaultWebPageValue. \n
\n
The default implementation searches for\n
documents which are in the user language if any\n
and which reference is equal to the name parameter.\n
\n
Other implementations are possible: ex. display the last\n
version in the closest language rather than\n
the latest version in the user language.\n
\n
If a name parameter is provided, it will lookup\n
the catalog to find the most appropriate\n
document.\n
\n
NOTE:\n
- portal param probably useless \n
"""\n
if portal is None: portal = context.getPortalObject()\n
portal_catalog = portal.portal_catalog\n portal_catalog = portal.portal_catalog\n
# The list of portal types here should be large enough to include\n
# all portal_types defined in the various sections so that\n
# href tags which point to a document by reference can still work.\n
valid_portal_type_list = [\'Web Page\', ]\n
\n \n
# This should probably be moved to a specific page\n
if name is None:\n if name is None:\n
if context.getPortalType() == \'Web Page\':\n if context.getPortalType() in valid_portal_type_list:\n
return context\n return context\n
elif context.getPortalType() in (\'Web Site\', \'Web Section\'):\n elif context.getPortalType() in (\'Web Site\', \'Web Section\'):\n
return context.WebSite_getDefaultWebPageValue()\n return context.WebSite_getDefaultWebPageValue()\n
else:\n else:\n
return None\n return None\n
\n \n
#If name is not None, it has to be searched for it in the catalog.\n # Find the applicable language\n
\n language = context.Localizer.get_selected_language()\n
# This Function helps do sort different Versions of the same Document.\n
def compareVersion(c1, c2):\n
c1_value = c1.getObject() \n
c2_value = c2.getObject()\n
return cmp(c2_value.getVersion(), c1_value.getVersion()) \n
\n \n
#from Products.ERP5Type.Cache import CachingMethod\n # Search the catalog for all documents matching the reference\n
def getDocument(name):\n # this will only return documents which are accessible by the user\n
# First try to get a published document\n web_page_list = portal_catalog(reference=name, portal_type=valid_portal_type_list,\n
matching_document_list = portal_catalog(reference = \'%s\' % name, validation_state=\'published\')\n order_by=[(\'index\', \'descending\'), (\'version\', \'descending\')],\n
if len(matching_document_list):\n language=language)\n
matching_document_list=list(matching_document_list)\n # XXX - group_by is missing here\n
matching_document_list.sort(compareVersion)\n try:\n
return matching_document_list[0].getObject()\n # Try to get the first page on the list\n
# Then try to get a validated document (Product)\n web_page = web_page_list[0]\n
matching_document_list = portal_catalog(reference = \'%s\' % name, validation_state=\'validated\')\n web_page = web_page.getObject()\n
if len(matching_document_list):\n except IndexError:\n
matching_document_list=list(matching_document_list)\n # Search again without the language\n
matching_document_list.sort(compareVersion)\n web_page_list = portal_catalog(reference=name, portal_type=\'Web Page\',\n
return matching_document_list[0].getObject()\n order_by=[(\'index\', \'descending\'), (\'version\', \'descending\')])\n
# Then try to get any document\n # XXX - group_by is missing here\n
matching_document_list = portal_catalog(reference = \'%s\' % name)\n try:\n
if len(matching_document_list):\n # Try to get the first page on the list\n
matching_document_list=list(matching_document_list)\n web_page = web_page_list[0]\n
matching_document_list.sort(compareVersion)\n web_page = web_page.getObject()\n
return matching_document_list[0].getObject()\n except IndexError:\n
return None \n # Default returns None\n
web_page = None\n
\n \n
return getDocument(name)\n # return the web page\n
return web_page\n
</string> </value> </string> </value>
</item> </item>
<item> <item>
...@@ -154,7 +161,7 @@ return getDocument(name)\n ...@@ -154,7 +161,7 @@ return getDocument(name)\n
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>portal, name=None</string> </value> <value> <string>name=None,portal=None</string> </value>
</item> </item>
<item> <item>
<key> <string>errors</string> </key> <key> <string>errors</string> </key>
...@@ -180,14 +187,18 @@ return getDocument(name)\n ...@@ -180,14 +187,18 @@ return getDocument(name)\n
<key> <string>co_varnames</string> </key> <key> <string>co_varnames</string> </key>
<value> <value>
<tuple> <tuple>
<string>portal</string>
<string>name</string> <string>name</string>
<string>_getattr_</string> <string>portal</string>
<string>portal_catalog</string>
<string>None</string> <string>None</string>
<string>_getattr_</string>
<string>context</string> <string>context</string>
<string>compareVersion</string> <string>portal_catalog</string>
<string>getDocument</string> <string>valid_portal_type_list</string>
<string>language</string>
<string>web_page_list</string>
<string>_getitem_</string>
<string>web_page</string>
<string>IndexError</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -201,6 +212,7 @@ return getDocument(name)\n ...@@ -201,6 +212,7 @@ return getDocument(name)\n
<value> <value>
<tuple> <tuple>
<none/> <none/>
<none/>
</tuple> </tuple>
</value> </value>
</item> </item>
......
...@@ -138,7 +138,7 @@ Rules:\n ...@@ -138,7 +138,7 @@ Rules:\n
applied (see \'bottom right\' in the exemple below, where it\'s in the \'bottom\'\n applied (see \'bottom right\' in the exemple below, where it\'s in the \'bottom\'\n
aggregate and not in \'right\' one).\n aggregate and not in \'right\' one).\n
5 - This script is compatible with group titles set in parenthesis (handled by\n 5 - This script is compatible with group titles set in parenthesis (handled by\n
ERP5XhtmlStyle_getFormGroupTitleAndId script): the matching process will\n Form_getGroupTitleAndId script): the matching process will\n
ignore the group title (look at \'(Discount on Right Handed Tools) left\n ignore the group title (look at \'(Discount on Right Handed Tools) left\n
discount\').\n discount\').\n
6 - Matching process between criterion and group id is not case sensitive.\n 6 - Matching process between criterion and group id is not case sensitive.\n
...@@ -168,24 +168,24 @@ Example:\n ...@@ -168,24 +168,24 @@ Example:\n
[ [\'left\', [ (\'left column\', \'left column\', \'left column\')\n [ [\'left\', [ (\'left column\', \'left column\', \'left column\')\n
, (\'left ad\', \'left ad\', \'left ad\')\n , (\'left ad\', \'left ad\', \'left ad\')\n
, (\'left discount\', \'Discount on Right Handed Tools\', \'(Discount on Right Handed Tools) left discount\')\n , (\'left discount\', \'Discount on Right Handed Tools\', \'(Discount on Right Handed Tools) left discount\')\n
]]\n ]]\n
, [\'right\', [ (\'metadata right\', \'metadata right\', \'metadata right\')\n , [\'right\', [ (\'metadata right\', \'metadata right\', \'metadata right\')\n
, (\'right ad\', \'right ad\', \'right ad\')\n , (\'right ad\', \'right ad\', \'right ad\')\n
]]\n ]]\n
, [\'center\', [\n , [\'center\', [\n
]]\n ]]\n
, [\'bottom\', [ (\'bottom content\', \'bottom content\', \'bottom content\')\n , [\'bottom\', [ (\'bottom content\', \'bottom content\', \'bottom content\')\n
, (\'footer\', \'footer\', \'footer\')\n , (\'footer\', \'footer\', \'footer\')\n
, (\'bottom right\', \'bottom right\', \'bottom right\')\n , (\'bottom right\', \'bottom right\', \'bottom right\')\n
]]\n ]]\n
]\n ]\n
\n \n
\n \n
Tips:\n Tips:\n
\n \n
* The returned list structure is design to let you cast it as dict() if you don\'t\n * The returned list structure is designed to let you cast it as dict() if you don\'t\n
care about group aggregate ordering. This also help you to get group aggregate\n care about group aggregate ordering. This can help you to get group aggregate\n
more easily.\n more easily in table based HTML layouts.\n
\n \n
"""\n """\n
\n \n
...@@ -202,12 +202,10 @@ layout_form = context\n ...@@ -202,12 +202,10 @@ layout_form = context\n
for criterion in group_by_criterion:\n for criterion in group_by_criterion:\n
aggregate_dict[criterion] = []\n aggregate_dict[criterion] = []\n
\n \n
# Put each group in an aggregate\n # Get the cached list of groups and titles\n
for group_id in layout_form.get_groups(include_empty=0): # Rule (2)\n for group_details in layout_form.Form_getGroupTitleAndId(): # Rule (5)\n
\n # Rule (2)\n
# TODO: save id title and original id in the returned dict to not recalculate them\n group_css_classes = group_details[\'gid\']\n
group_details = context.ERP5XhtmlStyle_getFormGroupTitleAndId(group_id) # Rule (5)\n
group_css_classes = group_details[0]\n
\n \n
# Criterion matching status\n # Criterion matching status\n
matched = False\n matched = False\n
...@@ -231,7 +229,7 @@ for group_id in layout_form.get_groups(include_empty=0): # ...@@ -231,7 +229,7 @@ for group_id in layout_form.get_groups(include_empty=0): #
for criterion in group_by_criterion:\n for criterion in group_by_criterion:\n
aggregate = [ criterion\n aggregate = [ criterion\n
, aggregate_dict[criterion]\n , aggregate_dict[criterion]\n
]\n ]\n
aggregate_list.append(aggregate)\n aggregate_list.append(aggregate)\n
\n \n
\n \n
...@@ -290,7 +288,6 @@ return aggregate_list\n ...@@ -290,7 +288,6 @@ return aggregate_list\n
<string>criterion</string> <string>criterion</string>
<string>_write_</string> <string>_write_</string>
<string>_getattr_</string> <string>_getattr_</string>
<string>group_id</string>
<string>group_details</string> <string>group_details</string>
<string>_getitem_</string> <string>_getitem_</string>
<string>group_css_classes</string> <string>group_css_classes</string>
......
...@@ -68,8 +68,12 @@ ...@@ -68,8 +68,12 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string># Set Web Site layout to default one\n <value> <string>"""\n
default_layout = \'erp5_web_default_layout\'\n This scripts sets up automatically default parameters\n
for a newly created Web Site\n
"""\n
# Set Web Site layout to default one\n
default_layout = \'template_erp5_web\'\n
context.setContainerLayout(default_layout)\n context.setContainerLayout(default_layout)\n
context.setContentLayout(default_layout)\n context.setContentLayout(default_layout)\n
\n \n
......
...@@ -100,6 +100,7 @@ ...@@ -100,6 +100,7 @@
<list> <list>
<string>my_id</string> <string>my_id</string>
<string>my_title</string> <string>my_title</string>
<string>my_short_title</string>
<string>my_container_layout</string> <string>my_container_layout</string>
<string>my_content_layout</string> <string>my_content_layout</string>
</list> </list>
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>your_searchable_text</string> </value> <value> <string>my_short_title</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -211,7 +211,7 @@ ...@@ -211,7 +211,7 @@
</item> </item>
<item> <item>
<key> <string>display_width</string> </key> <key> <string>display_width</string> </key>
<value> <int>15</int> </value> <value> <int>40</int> </value>
</item> </item>
<item> <item>
<key> <string>editable</string> </key> <key> <string>editable</string> </key>
...@@ -243,7 +243,7 @@ ...@@ -243,7 +243,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Search</string> </value> <value> <string>Short Title</string> </value>
</item> </item>
<item> <item>
<key> <string>truncate</string> </key> <key> <string>truncate</string> </key>
......
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
<!-- ============================================================== -->\n <!-- ============================================================== -->\n
<!--\n <!--\n
Description:\n Description:\n
This macro render an aggregate of groups (like the ones returned\n This macro renders an aggregate of groups (like the ones returned\n
by WebSite_getGroupList() method).\n by WebSite_getGroupList() method).\n
\n \n
Note:\n Note:\n
...@@ -82,32 +82,33 @@ Example of macro use (similar to \'erp5_web_default_template\' use):\n ...@@ -82,32 +82,33 @@ Example of macro use (similar to \'erp5_web_default_template\' use):\n
</tal:block>\n </tal:block>\n
-->\n -->\n
\n \n
<tal:block metal:define-macro="render_aggregate">\n <tal:block metal:define-macro="aggregate_render">\n
<!-- Each aggregate of groups is a <div> wrapper -->\n <!-- Each aggregate of groups is a div wrapper -->\n
<div tal:define="aggregate_name python: aggregate[0];\n <div tal:define="aggregate_name python: aggregate[0];\n
aggregate_groups python: aggregate[1];"\n group_list python: aggregate[1];"\n
tal:condition="python: len(aggregate_groups)"\n tal:condition="python: len(group_list)"\n
tal:attributes="class python: \'wrapper %s\' % aggregate_name;\n tal:attributes="class python: \'wrapper %s\' % aggregate_name;\n
id python: \'wrapper_%s\' % aggregate_name;">\n id python: \'wrapper_%s\' % aggregate_name;">\n
\n \n
<tal:block tal:repeat="group_details aggregate_groups">\n <tal:block tal:repeat="group group_list">\n
<!-- Layout group rendering -->\n <tal:block tal:define="gid group/gid;\n
<div tal:define="group_css_classes python: group_details[0]"\n gtitle group/gtitle;\n
tal:attributes="class python: group_css_classes;\n goid group/goid;">\n
id python: group_css_classes.replace(\' \', \'_\');\n <fieldset tal:attributes="class python: gid;\n
title python: group_details[1];">\n id python: \'fieldset_\' + gid.replace(\' \', \'_\');">\n
\n <legend tal:content="python: gtitle" class="group_title"/>\n
<!-- Render each field in its group -->\n <tal:block tal:repeat="field python: layout_form.get_fields_in_group(goid)">\n
<tal:block tal:repeat="field python: layout_form.get_fields_in_group(group_details[2])">\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 </fieldset>\n
\n </tal:block>\n
</div>\n
</tal:block>\n </tal:block>\n
\n \n
</div>\n </div>\n
</tal:block>\n </tal:block>\n
\n \n
\n
\n
<!-- ============================================================== --> <!-- ============================================================== -->
]]></string> </value> ]]></string> </value>
...@@ -122,7 +123,7 @@ Example of macro use (similar to \'erp5_web_default_template\' use):\n ...@@ -122,7 +123,7 @@ Example of macro use (similar to \'erp5_web_default_template\' use):\n
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>erp5_web_macros</string> </value> <value> <string>aggregate_render</string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -279,7 +279,7 @@ ...@@ -279,7 +279,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>python: here.ERP5Web_getVerboseTitle()</string> </value> <value> <string>here/getTranslatedShortTitleOrId</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<tal:block 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
<tal:block define="dummy python: request.RESPONSE.setHeader(\'Content-Type\', \'text/css;; charset=utf-8\')"/>\n
\n
/*========================================================================================\n
Default ERP5 Web CSS.\n
\n
Guidelines (how-to create a good css):\n
* All measurements should be expressed with scalable units like em, ex, %.\n
* pt, px must be avoid expect for box borders (not sure) and tricks related to borders (like position popup of Edit Tabs)\n
* Test your design and layout against font size increasing/decreasing.\n
* Test your html code semantics value by disabling all your css.\n
* Don\'t put styling directives in xhtml code.\n
\n
Tested Browser:\n
* Firefox 1.5.0.6\n
* Konqueror 3.4.2\n
* Opera 9.01\n
* Internet Explorer 6 (Layout: OK; Style: not OK)\n
\n
TODO: * Layout is ok in ie6, now styling should be adapted to support ie6.\n
* The "WebWidget" class should be used somewhere to identify such objects easily\n
and enhance semantics.\n
========================================================================================*/\n
\n
\n
\n
/*========================================================================================\n
** GENERAL STUFF\n
**========================================================================================*/\n
\n
/* Good CSS directive to include in every website to reset all browser default style.\n
------------------------------------------------------------------ */\n
\n
* {\n
padding: 0;\n
margin: 0;\n
}\n
\n
.clear {clear: both}\n
p.clear {display: none}\n
\n
img {border: 0}\n
\n
a:link, a:visited {text-decoration: none}\n
a:active, a:hover {text-decoration: underline}\n
a:link {color: #00248f}\n
a:visited {color: #909}\n
a:hover {color: #39f}\n
\n
a img, h3 img, button img, li img {vertical-align: middle}\n
\n
ul {list-style-position: inside}\n
li {margin-left: 1em}\n
\n
.doNotDisplay {display: none}\n
\n
.hiddenLabel label {display: none}\n
\n
table {\n
border-collapse: collapse;\n
border-spacing: 0;\n
}\n
\n
p {\n
margin: .6em 0;\n
text-align: justify;\n
}\n
\n
/* Workflow states\n
------------------------------------------------------------------ */\n
\n
span.draft {color: #be854d}\n
span.published,\n
span.validated {color: #078307}\n
span.invalidated {color: #ab0303}\n
span.cancelled {color: #ccc}\n
\n
\n
\n
/* Emulate <center> html tag.\n
This class is called \'centered\' to not interfer with the \'center\' group\n
used in erp5_xhtml_style rigid positionning mechanism.\n
------------------------------------------------------------------ */\n
\n
.centered,\n
.centeredInner {\n
width: 100%;\n
text-align: center;\n
}\n
\n
*.centered *,\n
*.centeredInner * {\n
margin-left: auto;\n
margin-right: auto;\n
}\n
\n
\n
\n
/* Default content styling (apply to everything, site wide);\n
Typography & colors (fonts, color, background).\n
------------------------------------------------------------------ */\n
\n
body {background: #e6e6e6 url(erp5-website-background.png) top left no-repeat}\n
\n
body, input, textarea, select, table {\n
color: #333;\n
font-family: Sans, Verdana, Tahoma, Georgia, Geneva, Arial, sans-serif;\n
font-size: 8pt; /* XXX font-size should not be expressed in pt unit.\n
** This unit is quite convinient actually because it scale well\n
** in any browser on font resizing.\n
*/\n
line-height: 1.5em; /* Let the content breathe ! This reduce the density of\n
** paragraph and make the text easier to read.\n
*/\n
}\n
\n
.code, code {font-family: monospace}\n
\n
#transition_message, .warning, .error, .important {\n
color: #f00;\n
font-weight: bold;\n
}\n
\n
h1 {margin: 1.3em 0}\n
\n
blockquote {\n
margin: .5em;\n
padding: .5em;\n
border-left: 2px #ddd solid;\n
background: #f9f9f9;\n
}\n
\n
input#hidden_button {\n
width: 0;\n
height: 0;\n
display: inline;\n
border-width: 0;\n
float: left;\n
}\n
\n
/* Login page style\n
------------------------------------------------------------------ */\n
\n
div.content.login {padding: 0 1em}\n
div.content.login fieldset {border: none}\n
\n
/* Breadcrumb default style\n
------------------------------------------------------------------ */\n
\n
div.breadcrumb li a.selected {\n
border-bottom: 1px dashed #00248f; /* same color as "a:link" rule */\n
text-decoration: none;\n
}\n
\n
div.breadcrumb li a.selected:hover {border-bottom-color: #39f} /* same as "a:hover" rule */
]]></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>erp5_web.css</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -54,46 +54,125 @@ ...@@ -54,46 +54,125 @@
<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 replace="nothing"\n
<!-- TODO: get master layout dynamiccaly -->\n xmlns:tal="http://xml.zope.org/namespaces/tal"\n
<!--tal:block metal:use-macro="python: getattr(here, getattr(here, here.getContainerLayout()).pt).macros[\'master\']"-->\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
<tal:block metal:use-macro="here/medicentre_section_master/macros/master">\n xmlns:i18n="http://xml.zope.org/namespaces/i18n"/>\n
<tal:block metal:fill-slot="main_content">\n \n
<tal:block metal:define-slot="main">\n <tal:block define="dummy python: request.RESPONSE.setHeader(\'Content-Type\', \'text/css;; charset=utf-8\')"/>\n
\n \n
<h1>Site Map</h1>\n \n
\n div.adminToolbox input, textarea, select { /* This should be common XXX */\n
<tal:block tal:replace="nothing"><!--\n border: 1px solid #999;\n
This macro is recursive and display lists of lists to display a tree.\n }\n
--></tal:block>\n \n
<tal:block metal:define-macro="SectionContentList">\n div.adminToolbox input, textarea {\n
<tal:block tal:define="web_document web_document | nothing"\n padding: 1px;\n
tal:condition="web_document">\n }\n
<a tal:attributes="href web_document/link" tal:content="web_document/title"/>\n \n
<tal:block tal:define="content_list web_document/sub-content | nothing"\n div.adminToolbox label {display: none}\n
tal:condition="content_list">\n \n
<ul tal:repeat="sub_doc content_list" >\n /* Sub section title */\n
<li tal:define="web_document sub_doc">\n div.adminToolbox h3 {\n
<tal:block metal:use-macro="here/WebSite_viewMap/macros/SectionContentList"/>\n margin-left: 0em;\n
</li>\n font-size: inherit;\n
</ul>\n }\n
</tal:block>\n \n
</tal:block>\n /* Title */\n
</tal:block>\n div.adminToolbox > div > h3 {\n
\n background: #f77;\n
<tal:block tal:replace="nothing"><!--\n padding: .5em;\n
Initiate the macro with the site tree structure.\n margin: 0;\n
--></tal:block>\n color: #fff;\n
<ul class="sitemap">\n cursor: pointer;\n
<li tal:define="web_document here/WebSite_getSiteMap">\n }\n
<tal:block metal:use-macro="here/WebSite_viewMap/macros/SectionContentList"/>\n \n
</li>\n div.adminToolbox > div > h3:hover {background: #f00}\n
</ul>\n \n
\n div.adminToolbox > div.input > div.adminSection {\n
</tal:block>\n border-bottom: 1px dotted #777;\n
</tal:block>\n padding: .5em .5em .5em 0.5em;\n
</tal:block>\n }\n
</tal:block> \n
div.adminToolbox > div.input > div.adminSection:last-child {border-bottom: none}\n
\n
div.adminToolbox ul {list-style: none}\n
\n
div.adminToolbox li {margin: 0}\n
\n
div.adminToolbox li > a {text-decoration: none}\n
\n
div.adminToolbox button,\n
div.adminToolbox li > a {\n
margin: .1em 0;\n
padding: .2em;\n
}\n
\n
div.adminToolbox button[type="submit"] {display: none}\n
\n
\n
\n
/* Reset default styling of fields in admin tool box\n
** TODO: find a CSS trick to let forms and fieldset embedded in\n
** ".adminToolbox" behave like default one instead of using\n
** the one defined by default "div.wrapper div.field" rules.\n
*/\n
div.adminToolbox fieldset { /* Should be the same as "fieldset" rule */\n
background: none;\n
border: inherit;\n
margin: 0;\n
}\n
div.adminToolbox fieldset > div.field { /* Should be similar to "fieldset > div" rule */\n
padding: 0;\n
margin: .1em 0;\n
border: none;\n
width: 100%;\n
}\n
div.adminToolbox div.field label { /* Should be the same as "fieldset label" rule */\n
display: block;\n
width: 6em;\n
text-align: right;\n
float: left;\n
text-transform: capitalize;\n
}\n
\n
/* Those values differ from default "fieldset label" rule to reduce admin toolbox minimum width */\n
div.adminToolbox div.field div.input {margin-left: 0em}\n
\n
/* Cut the cascading heritance if margin-left for input */\n
div.adminToolbox > div.input {margin-left: inherit}\n
div.adminToolbox fieldset div.field label:after {content: inherit}\n
\n
/* Hide some labels */\n
div.adminToolbox fieldset div.hiddenLabel label {\n
display: none;\n
}\n
\n
div.adminToolbox fieldset div.hiddenLabel {\n
margin-left: auto;\n
margin-right: auto;\n
width: 12em;\n
}\n
\n
\n
/* Admin toolbox edit buttons have the same style as actions buttons */\n
div.adminToolbox li > a,\n
button {\n
border: 1px #ddd solid;\n
color: #999;\n
background: #eee;\n
cursor: pointer;\n
display: block;\n
}\n
\n
div.adminToolbox li > a:hover,\n
button:hover {\n
color: #333;\n
background: #b0cfcb;\n
border-color: #9abdb7;\n
}\n
\n
]]></string> </value> ]]></string> </value>
</item> </item>
...@@ -107,7 +186,7 @@ ...@@ -107,7 +186,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>WebSite_viewMap</string> </value> <value> <string>erp5_web_admin_toolbox.css</string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -44,46 +44,34 @@ ...@@ -44,46 +44,34 @@
</object> </object>
</value> </value>
</item> </item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<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 replace="nothing"\n
<tal:block metal:use-macro="here/erp5_web_template_header/macros/master">\n xmlns:tal="http://xml.zope.org/namespaces/tal"\n
\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
\n xmlns:i18n="http://xml.zope.org/namespaces/i18n"/>\n
<tal:block metal:fill-slot="erp5_web_template_head">\n
<link rel="stylesheet" type="text/css" media="screen" href="erp5_web_default_theme.css"/>\n
</tal:block>\n
\n
\n
<tal:block metal:fill-slot="erp5_web_template_main_content">\n
\n \n
<div id="main_content" class="column">\n <tal:block define="dummy python: request.RESPONSE.setHeader(\'Content-Type\', \'text/css;; charset=utf-8\')"/>\n
<tal:block tal:condition="here/REQUEST/portal_status_message | nothing">\n
<!-- XXX Why no portal message displayed there ?\n
Normally a message should be displayed when saving an object through web interface... -->\n
<div tal:content="structure here/REQUEST/portal_status_message | nothing" id="transition_message"/>\n
</tal:block>\n
<tal:block metal:define-slot="main"/>\n
</div>\n
\n \n
<!-- Layout form rendering -->\n
<tal:block tal:condition="python: layout_form is not None">\n
\n \n
<tal:block tal:define="template python: here.developper_shortcut_render">\n /*========================================================================================\n
<tal:block metal:use-macro="template/macros/form"/>\n Content CSS (View mode)\n
</tal:block>\n
\n \n
<tal:block tal:repeat="aggregate python: layout_form.WebSite_getGroupList([\'header\', \'left\', \'right\', \'footer\'])">\n The default behaviour is to use the editable mode CSS.\n
<tal:block metal:use-macro="here/erp5_web_macros/macros/render_aggregate"/>\n However, to change the appearance between view mode and editable mode,\n
</tal:block>\n it is possible to define here a different CSS.\n
\n \n
</tal:block>\n ========================================================================================*/\n
\n \n
</tal:block>\n <tal:block tal:replace="structure python:here.getPortalObject()[\'erp5_web_editable_content.css\']()"/>
</tal:block>\n
</tal:block>
]]></string> </value> ]]></string> </value>
</item> </item>
...@@ -97,7 +85,7 @@ ...@@ -97,7 +85,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>erp5_web_default_template</string> </value> <value> <string>erp5_web_content.css</string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -61,223 +61,72 @@ ...@@ -61,223 +61,72 @@
\n \n
<tal:block define="dummy python: request.RESPONSE.setHeader(\'Content-Type\', \'text/css;; charset=utf-8\')"/>\n <tal:block define="dummy python: request.RESPONSE.setHeader(\'Content-Type\', \'text/css;; charset=utf-8\')"/>\n
\n \n
/*========================================================================================\n
Default ERP5 Web CSS.\n
\n
Guidelines (how-to create a good css):\n
* All measurements should be expressed with scalable units like em, ex, %.\n
* pt, px must be avoid expect for box borders (not sure) and tricks related to borders (like position popup of Edit Tabs)\n
* Test your design and layout against font size increasing/decreasing.\n
* Test your html code semantics value by disabling all your css.\n
* Don\'t put styling directives in xhtml code.\n
\n
Tested Browser:\n
* Firefox 1.5.0.6\n
* Konqueror 3.4.2\n
* Opera 9.01\n
* Internet Explorer 6 (Layout: OK; Style: not OK)\n
\n
TODO: * Layout is ok in ie6, now styling should be adapted to support ie6.\n
* The "WebWidget" class should be used somewhere to identify such objects easily\n
and enhance semantics.\n
========================================================================================*/\n
\n
\n
\n
/*========================================================================================\n
** GENERAL STUFF\n
**========================================================================================*/\n
\n
\n
/* Good CSS directive to include in every website to reset all browser default style.\n
------------------------------------------------------------------ */\n
\n
* {\n
padding: 0;\n
margin: 0;\n
}\n
\n
.clear {clear: both}\n
\n
img {border: 0}\n
\n
a:link, a:visited {text-decoration: none}\n
a:active, a:hover {text-decoration: underline}\n
a:link {color: #00248f}\n
a:visited {color: #909}\n
a:hover {color: #39f}\n
\n
a img, h3 img, button img, li img {vertical-align: middle}\n
\n
ul {list-style-position: inside}\n
li {margin-left: 1em}\n
\n
.doNotDisplay {display: none}\n
\n
.hiddenLabel label {display: none}\n
\n
table {\n
border-collapse: collapse;\n
border-spacing: 0;\n
}\n
\n
p {\n
margin: .6em 0;\n
text-align: justify;\n
}\n
\n
\n
\n
/* Workflow states\n
------------------------------------------------------------------ */\n
\n
span.draft {color: #be854d}\n
span.published,\n
span.validated {color: #078307}\n
span.invalidated {color: #ab0303}\n
span.cancelled {color: #ccc}\n
\n
\n
\n
/* Emulate <center> html tag.\n
This class is called \'centered\' to not interfer with the \'center\' group\n
used in erp5_xhtml_style rigid positionning mechanism.\n
------------------------------------------------------------------ */\n
\n
.centered {\n
width: 100%;\n
text-align: center;\n
}\n
\n
*.centered * {\n
margin-left: auto;\n
margin-right: auto;\n
}\n
\n
\n
\n
/* Default content styling (apply to everything, site wide);\n
Typography & colors (fonts, color, background).\n
------------------------------------------------------------------ */\n
\n
body {background: #e6e6e6 url(erp5-website-background.png) top left no-repeat}\n
\n
body, input, textarea, select, table {\n
color: #333;\n
font-family: Sans, Verdana, Tahoma, Georgia, Geneva, Arial, sans-serif;\n
font-size: 8pt; /* XXX font-size should not be expressed in pt unit.\n
** This unit is quite convinient actually because it scale well\n
** in any browser on font resizing.\n
*/\n
line-height: 1.5em; /* Let the content breathe ! This reduce the density of\n
** paragraph and make the text easier to read.\n
*/\n
}\n
\n
.code, code {font-family: monospace}\n
\n
#transition_message, .warning, .error, .important {\n
color: #f00;\n
font-weight: bold;\n
}\n
\n
h1 {margin: 1.3em 0}\n
\n
blockquote {\n
margin: .5em;\n
padding: .5em;\n
border-left: 2px #ddd solid;\n
background: #f9f9f9;\n
}\n
\n
\n
\n
\n
/*========================================================================================\n /*========================================================================================\n
** FORMs & INPUTs\n ** FORMs & INPUTs\n
**========================================================================================*/\n **========================================================================================*/\n
\n \n
/*\n /*\n
Inspired by Aleksandar Vaci\xc4\x87\'s work,\n Inspired by Aleksandar Vaci?\'s work,\n
distributed under Creative Commons Paternity Licence:\n distributed under Creative Commons Paternity Licence:\n
* http://www.aplus.co.yu/css/forms/?css=1\n * http://www.aplus.co.yu/css/forms/?css=1\n
* http://creativecommons.org/licenses/by/2.0/\n * http://creativecommons.org/licenses/by/2.0/\n
------------------------------------------------------------------ */\n ------------------------------------------------------------------ */\n
\n \n
input, textarea, select {\n div#main_content input, textarea, select {\n
border: 1px solid #999;\n border: 1px solid #999;\n
}\n }\n
\n \n
input, textarea {\n div#main_content input, textarea {\n
padding: 1px;\n padding: 1px;\n
}\n }\n
\n \n
input.button, input[type="submit"] {\n div#main_content input.button, input[type="submit"] {\n
/* XXX Is this case happend in current web implementation ? */\n /* XXX Is this case happend in current web implementation ? */\n
background: #fff url(erp5-website-button.png) bottom repeat-x;\n background: #fff url(erp5-website-button.png) bottom repeat-x;\n
}\n }\n
\n \n
input[type="image"] {\n div#main_content input[type="image"] {\n
border: 0;\n border: 0;\n
vertical-align: bottom;\n vertical-align: bottom;\n
background-color: transparent;\n background-color: transparent;\n
}\n }\n
\n \n
button {\n div#main_content button {\n
margin: .8em .5em;\n margin: .8em .5em;\n
padding: .3em;\n padding: .3em;\n
}\n }\n
\n \n
/* Admin toolbox edit buttons have the same style as actions buttons */\n
div.adminToolbox li > a,\n
button {\n
border: 1px #ddd solid;\n
color: #999;\n
background: #eee;\n
cursor: pointer;\n
display: block;\n
}\n
\n
div.adminToolbox li > a:hover,\n
button:hover {\n
color: #333;\n
background: #b0cfcb;\n
border-color: #9abdb7;\n
}\n
\n
\n
\n \n
/* Default Listbox styling\n /* Default Listbox styling\n
** TODO: change colors to have better integration in default erp5 web theme.\n ** TODO: change colors to have better integration in default erp5 web theme.\n
------------------------------------------------------------------ */\n ------------------------------------------------------------------ */\n
\n \n
.ListSummary table {display: none}\n div#main_content .ListSummary table {display: none}\n
\n \n
.ListContent table {\n div#main_content .ListContent table {\n
margin-bottom: 2em;\n margin-bottom: 2em;\n
width: 100%;\n width: 100%;\n
}\n }\n
\n \n
.ListContent td {\n div#main_content .ListContent td {\n
padding: .1em;\n padding: .1em;\n
border: 1pt solid #adb9cc;\n border: 1pt solid #adb9cc;\n
vertical-align: top;\n vertical-align: top;\n
}\n }\n
\n \n
.ListContent td.Data {background-color: #adb9cc}\n div#main_content .ListContent td.Data {background-color: #adb9cc}\n
.ListContent td.DataA {background-color: #fff}\n div#main_content .ListContent td.DataA {background-color: #fff}\n
.ListContent td.DataB {background-color: #eee}\n div#main_content .ListContent td.DataB {background-color: #eee}\n
\n
\n \n
\n \n
/* Custom web Listbox styling.\n /* Custom web Listbox styling.\n
** TODO: change colors to have better integration in default erp5 web theme.\n ** TODO: change colors to have better integration in default erp5 web theme.\n
------------------------------------------------------------------ */\n ------------------------------------------------------------------ */\n
\n \n
table.listbox,\n div#main_content table.listbox,\n
table.listbox tr,\n div#main_content table.listbox tr,\n
table.listbox td,\n div#main_content table.listbox td,\n
table.listbox th {\n div#main_content table.listbox th {\n
border: 0;\n border: 0;\n
color: #000;\n color: #000;\n
line-height: 1.5em;\n line-height: 1.5em;\n
...@@ -285,214 +134,98 @@ table.listbox th {\n ...@@ -285,214 +134,98 @@ table.listbox th {\n
padding: 0;\n padding: 0;\n
}\n }\n
\n \n
table.listbox {\n div#main_content table.listbox {\n
margin-bottom: 3em;\n margin-bottom: 3em;\n
width: 100%;\n width: 100%;\n
}\n }\n
\n \n
table.listbox .right {float: right}\n div#main_content table.listbox .right {float: right}\n
table.listbox .left {float: left}\n div#main_content table.listbox .left {float: left}\n
\n \n
table.listbox caption,\n div#main_content table.listbox caption,\n
div.searchResultHeader {\n div#main_content div.searchResultHeader {\n
border-top: 1px #3366CC solid;\n border-top: 1px #3366CC solid;\n
background-color: #c3e3df;\n background-color: #c3e3df;\n
padding: .2em;\n padding: .2em;\n
color: #000;\n color: #000;\n
}\n }\n
\n \n
table.listbox caption em,\n div#main_content table.listbox caption em,\n
div.searchResultHeader em {\n div#main_content div.searchResultHeader em {\n
font-weight: bold;\n font-weight: bold;\n
font-style: normal;\n font-style: normal;\n
}\n }\n
\n \n
table.listbox thead th,\n div#main_content table.listbox thead th,\n
table.listbox thead td {\n div#main_content table.listbox thead td {\n
border-right: 1px #ccc solid;\n border-right: 1px #ccc solid;\n
text-align: center;\n text-align: center;\n
color: #666;\n color: #666;\n
background: #ddd;\n background: #ddd;\n
}\n }\n
\n \n
table.listbox thead th:last-child,\n div#main_content table.listbox thead th:last-child,\n
table.listbox thead td:last-child {\n div#main_content table.listbox thead td:last-child {\n
border-right: none;\n border-right: none;\n
}\n }\n
\n \n
table.listbox thead th {\n div#main_content table.listbox thead th {\n
text-transform: capitalize;\n text-transform: capitalize;\n
font-variant: small-caps;\n font-variant: small-caps;\n
}\n }\n
\n \n
table.listbox tbody td.externalLink a,\n div#main_content table.listbox tbody td.externalLink a,\n
table.listbox tbody th.externalLink a {\n div#main_content table.listbox tbody th.externalLink a {\n
text-decoration: none;\n text-decoration: none;\n
background: transparent url(erp5-website-external-link.png) center right no-repeat;\n background: transparent url(erp5-website-external-link.png) center right no-repeat;\n
padding-right: 15px;\n padding-right: 15px;\n
color: #637dc1;\n color: #637dc1;\n
}\n }\n
\n \n
table.listbox tbody td.externalLink a:hover,\n div#main_content table.listbox tbody td.externalLink a:hover,\n
table.listbox tbody th.externalLink a:hover {\n div#main_content table.listbox tbody th.externalLink a:hover {\n
text-decoration: underline;\n text-decoration: underline;\n
color: #637dc1;\n color: #637dc1;\n
}\n }\n
\n \n
table.listbox tbody td, table.listbox tbody th {border-top: 1px solid #ddd}\n div#main_content table.listbox tbody td, table.listbox tbody th {border-top: 1px solid #ddd}\n
\n \n
table.listbox td, table.listbox th {\n div#main_content table.listbox td, table.listbox th {\n
text-align: left;\n text-align: left;\n
padding: .2em .5em;\n padding: .2em .5em;\n
}\n }\n
\n \n
table.listbox tbody td a,\n div#main_content table.listbox tbody td a,\n
table.listbox tbody td a:hover,\n div#main_content table.listbox tbody td a:hover,\n
table.listbox tbody td a:visited {color: #4343D9}\n div#main_content table.listbox tbody td a:visited {color: #4343D9}\n
\n \n
table.listbox tbody tr:hover {background: #f6f6f6}\n div#main_content table.listbox tbody tr:hover {background: #f6f6f6}\n
\n \n
table.listbox tbody span.number, tbody span.date {float: right}\n div#main_content table.listbox tbody span.number, tbody span.date {float: right}\n
\n \n
table.listbox tbody .mainLink {\n div#main_content table.listbox tbody .mainLink {\n
font-weight: bold;\n font-weight: bold;\n
display: block;\n display: block;\n
}\n }\n
\n \n
table.listbox tfoot th, table.listbox tfoot td {border-top: 1px solid #999}\n div#main_content table.listbox tfoot th, table.listbox tfoot td {border-top: 1px solid #999}\n
\n \n
table.listbox tfoot td {text-align: right}\n div#main_content table.listbox tfoot td {text-align: right}\n
\n \n
table.listbox tfoot .pageNavigation button {\n div#main_content table.listbox tfoot .pageNavigation button {\n
border: 1px #eee solid;\n border: 1px #eee solid;\n
background: #fff;\n background: #fff;\n
padding: .2em .4em;\n padding: .2em .4em;\n
margin: 0 .1em;\n margin: 0 .1em;\n
}\n }\n
\n \n
table.listbox tfoot .pageNavigation button:hover {\n div#main_content table.listbox tfoot .pageNavigation button:hover {\n
border: 1px #999 solid;\n border: 1px #999 solid;\n
text-decoration: none;\n text-decoration: none;\n
background: #eee;\n background: #eee;\n
}\n }\n
\n \n
\n \n
\n
\n
/*========================================================================================\n
** WEB WIDGET\n
**========================================================================================*/\n
\n
/* Default layout and style of form web widgets.\n
All widgets (extracted from layout form) are always inside a wrapper.\n
------------------------------------------------------------------ */\n
\n
div.wrapper div.field {\n
background: #fff url(erp5-website-field.png) top repeat-x;\n
border: 1px solid #ccc;\n
color: #666;\n
margin: .3em;\n
padding: .5em;\n
}\n
\n
div.wrapper div.field label {font-weight: bold}\n
\n
\n
\n
/* Admin toolbox widget style.\n
Some properties override default web widget style,\n
that\'s why there is "div.wrapper" in some CSS selectors.\n
------------------------------------------------------------------ */\n
\n
div.wrapper div.adminToolbox {\n
position: fixed;\n
z-index: 200;\n
top: 2px;\n
right: 2px;\n
margin: 0;\n
padding: 0;\n
background-color: #fff7cd;\n
border: 1px solid #f77;\n
}\n
\n
div.adminToolbox label {display: none}\n
\n
/* Sub section title */\n
div.adminToolbox h3 {\n
padding: .5em 0;\n
margin-left: -1em;\n
font-size: inherit;\n
}\n
\n
/* Title */\n
div.adminToolbox > div > h3 {\n
background: #f77;\n
padding: .5em;\n
margin: 0;\n
color: #fff;\n
cursor: pointer;\n
}\n
\n
div.adminToolbox > div > h3:hover {background: #f00}\n
\n
div.adminToolbox > div.input > div.adminSection {\n
border-bottom: 1px dotted #f77;\n
padding: .5em .5em 1em 1.5em;\n
}\n
\n
div.adminToolbox > div.input > div.adminSection:last-child {border-bottom: none}\n
\n
div.adminToolbox ul {list-style: none}\n
\n
div.adminToolbox li {margin: 0}\n
\n
div.adminToolbox li > a {text-decoration: none}\n
\n
div.adminToolbox button,\n
div.adminToolbox li > a {\n
margin: .1em 0;\n
padding: .2em;\n
}\n
\n
div.adminToolbox button[type="submit"] {display: none}\n
\n
\n
\n
/* Reset default styling of fields in admin tool box\n
** TODO: find a CSS trick to let forms and fieldset embedded in\n
** ".adminToolbox" behave like default one instead of using\n
** the one defined by default "div.wrapper div.field" rules.\n
*/\n
div.adminToolbox fieldset { /* Should be the same as "fieldset" rule */\n
border: inherit;\n
margin: 0;\n
}\n
div.adminToolbox fieldset > div.field { /* Should be similar to "fieldset > div" rule */\n
padding: 0;\n
margin: .1em 0;\n
background: none;\n
border: none;\n
}\n
div.adminToolbox div.field label { /* Should be the same as "fieldset label" rule */\n
display: inherit;\n
font-weight: inherit;\n
margin: .1em 0;\n
}\n
\n
/* Those values differ from default "fieldset label" rule to reduce admin toolbox minimum width */\n
div.adminToolbox div.field label {width: 5em}\n
div.adminToolbox div.field div.input {margin-left: 5.5em}\n
\n
\n
\n
/* Breadcrumb default style\n
------------------------------------------------------------------ */\n
\n
div.breadcrumb li a.selected {border-bottom: 1px dashed #999}\n
\n
\n
\n
\n
/*========================================================================================\n /*========================================================================================\n
** PAGE LAYOUT\n ** PAGE LAYOUT\n
**========================================================================================*/\n **========================================================================================*/\n
...@@ -504,32 +237,33 @@ div.breadcrumb li a.selected {border-bottom: 1px dashed #999}\n ...@@ -504,32 +237,33 @@ div.breadcrumb li a.selected {border-bottom: 1px dashed #999}\n
TODO: Use dtml variables to define dynamiccaly label width.\n TODO: Use dtml variables to define dynamiccaly label width.\n
------------------------------------------------------------------ */\n ------------------------------------------------------------------ */\n
\n \n
fieldset {\n div#main_content fieldset {\n
margin: 1em 0;\n margin: 1em 0;\n
padding: .5em;\n padding: .5em;\n
background: transparent;\n
border-color: #ccc;\n border-color: #ccc;\n
border-width: 1px 0 0;\n border-width: 1px 0 0;\n
border-style: dotted none none;\n border-style: dotted none none;\n
}\n }\n
\n \n
fieldset > div {\n div#main_content fieldset > div {\n
clear: both;\n clear: both;\n
margin: .1em 0;\n margin: .1em 0;\n
position: relative;\n position: relative;\n
}\n }\n
\n \n
fieldset div.input {\n div#main_content fieldset div.input {\n
margin-left: 11.5em; /* = div.content label width + 0.5 of margin */\n margin-left: 11.5em; /* = div#main_content label width + 0.5 of margin */\n
}\n }\n
\n \n
fieldset legend {\n div#main_content fieldset legend {\n
padding: .2em .5em;\n padding: .2em .5em;\n
font-weight: bold;\n font-weight: bold;\n
color: #666;\n color: #666;\n
text-transform: capitalize;\n text-transform: capitalize;\n
}\n }\n
\n \n
fieldset label {\n div#main_content fieldset label {\n
margin: 0;\n margin: 0;\n
display: block;\n display: block;\n
width: 11em;\n width: 11em;\n
...@@ -538,7 +272,7 @@ fieldset label {\n ...@@ -538,7 +272,7 @@ fieldset label {\n
text-transform: capitalize;\n text-transform: capitalize;\n
}\n }\n
\n \n
\n div#main_content fieldset div.field label:after {content: ":"}\n
\n \n
/* Edit tabs styling.\n /* Edit tabs styling.\n
** Edit tabs are another part of admin stuffs and\n ** Edit tabs are another part of admin stuffs and\n
...@@ -546,27 +280,27 @@ fieldset label {\n ...@@ -546,27 +280,27 @@ fieldset label {\n
** (colors, etc...) to keep the UI consistent.\n ** (colors, etc...) to keep the UI consistent.\n
------------------------------------------------------------------ */\n ------------------------------------------------------------------ */\n
\n \n
div.actions {\n div.document div.actions {\n
position: relative;\n position: relative;\n
width: 100%;\n width: 100%;\n
height: 3em;\n height: 3em;\n
}\n }\n
\n \n
div.actions ul {\n div.document div.actions ul {\n
position: absolute;\n position: absolute;\n
bottom: -1px;\n bottom: -1px;\n
list-style: none;\n list-style: none;\n
margin: 0;\n margin: 0;\n
}\n }\n
\n \n
div.actions ul li {\n div.document div.actions ul li {\n
display: inline;\n display: inline;\n
margin: 0;\n margin: 0;\n
padding: 0;\n padding: 0;\n
}\n }\n
\n \n
div.actions ul a,\n div.document div.actions ul a,\n
div.actions ul li.selected a {\n div.document div.actions ul li.selected a {\n
display: block;\n display: block;\n
float: left;\n float: left;\n
padding: 4px 1em;\n padding: 4px 1em;\n
...@@ -575,20 +309,20 @@ div.actions ul li.selected a {\n ...@@ -575,20 +309,20 @@ div.actions ul li.selected a {\n
text-decoration: none;\n text-decoration: none;\n
}\n }\n
\n \n
div.actions ul a {\n div.document div.actions ul a {\n
background: #fffae1;\n background: #fffae1;\n
border: 1px solid #999;\n border: 1px solid #999;\n
}\n }\n
\n \n
div.actions ul li.selected a,\n div.document div.actions ul li.selected a,\n
div.actions ul li.selected a:hover {\n div.document div.actions ul li.selected a:hover {\n
border-bottom: none;\n border-bottom: none;\n
padding-bottom: 6px;\n padding-bottom: 6px;\n
margin-top: 0;\n margin-top: 0;\n
background: #fff;\n background: #fff;\n
}\n }\n
\n \n
div.actions ul a:hover {\n div.document div.actions ul a:hover {\n
margin-top: 0;\n margin-top: 0;\n
border-color: #000;\n border-color: #000;\n
border-bottom: none;\n border-bottom: none;\n
...@@ -604,12 +338,65 @@ div.document > div.editable {border: 1px solid #999}\n ...@@ -604,12 +338,65 @@ div.document > div.editable {border: 1px solid #999}\n
\n \n
/* Save button styling */\n /* Save button styling */\n
div.actions button {\n div.actions button {\n
position: absolute; /* XXX bad location: should be at the bottom of the form */\n /* position: absolute; */\n
float: right;\n
z-index: 300;\n z-index: 300;\n
top: -.5em;\n top: -.5em;\n
right: 0;\n right: 0;\n
}\n }\n
\n \n
/* Bottom Save buttons styling - XXX NOT YET CENTERED */\n
\n
div.bottom_actions {\n
position: relative;\n
width: 100%;\n
height: 3em;\n
margin-left: auto;\n
margin-right: auto;\n
}\n
\n
\n
div.bottom_actions button {\n
position: absolute;\n
z-index: 300;\n
}\n
\n
div.bottom_actions button.saveEdit {\n
right:10em;\n
}\n
\n
div.bottom_actions button.saveView {\n
right:0em;\n
}\n
\n
div.bottom_actions button.saveEdit .description {\n
position: relative;\n
top: 3px;\n
left: 2px;\n
}\n
\n
div.bottom_actions button.saveView .description {\n
position: relative;\n
top: 3px;\n
left: 3px;\n
}\n
\n
div.bottom_actions button.saveView .image,\n
div.bottom_actions button.saveEdit .image {\n
float: left;\n
display: block;\n
width: 22px;\n
height: 22px;\n
}\n
\n
div.bottom_actions button.saveEdit span.image {\n
background-image: url(\'<tal:block tal:replace="here/portal_url"/>/images/save.png\');\n
}\n
\n
div.bottom_actions button.saveView span.image {\n
background-image: url(\'<tal:block tal:replace="here/portal_url"/>/images/save-preview.png\');\n
}\n
\n
/* Reset common fieldset styling for bottom group in editable mode:\n /* Reset common fieldset styling for bottom group in editable mode:\n
- no need to let some free space in the left side\n - no need to let some free space in the left side\n
- no need to display label\n - no need to display label\n
...@@ -618,12 +405,12 @@ div.actions button {\n ...@@ -618,12 +405,12 @@ div.actions button {\n
and webcontent custom forms, we can add a new CSS class with a better\n and webcontent custom forms, we can add a new CSS class with a better\n
name to enhance semantics.\n name to enhance semantics.\n
*/\n */\n
div.content fieldset.bottom legend,\n div#main_content fieldset.bottom legend,\n
div.content fieldset.bottom label {\n div#main_content fieldset.bottom label {\n
display: none;\n display: none;\n
}\n }\n
\n \n
div.content fieldset.bottom div.input {margin-left: inherit}\n div#main_content fieldset.bottom div.input {margin-left: inherit}\n
\n \n
\n \n
\n \n
...@@ -631,7 +418,7 @@ div.content fieldset.bottom div.input {margin-left: inherit}\n ...@@ -631,7 +418,7 @@ div.content fieldset.bottom div.input {margin-left: inherit}\n
(used in WebPage_viewAsWeb and so on).\n (used in WebPage_viewAsWeb and so on).\n
------------------------------------------------------------------ */\n ------------------------------------------------------------------ */\n
\n \n
div.content > fieldset.webcontent {\n div#main_content > fieldset.webcontent {\n
margin: 0;\n margin: 0;\n
border: 0;\n border: 0;\n
}\n }\n
...@@ -639,14 +426,15 @@ div.content > fieldset.webcontent {\n ...@@ -639,14 +426,15 @@ div.content > fieldset.webcontent {\n
/* TODO: redo webcontent header spacing policy because lack of consistency\n /* TODO: redo webcontent header spacing policy because lack of consistency\n
(not tested with huge titles) */\n (not tested with huge titles) */\n
\n \n
div.content > fieldset#fieldset_webcontent {padding: 2em}\n div#main_content > fieldset#fieldset_webcontent {padding: 2em}\n
\n \n
div.content > fieldset.header {\n div#main_content > fieldset.header {\n
padding-bottom: 1em;\n padding-bottom: 1em;\n
border-bottom: .3em solid #999;\n border-bottom: .3em solid #999;\n
}\n }\n
\n \n
div.content > fieldset.webcontent span.headline {\n /* TODO: span.headline should be a h1, h2, h-something tag to improve SEO */\n
div#main_content > fieldset.webcontent span.headline {\n
display: block;\n display: block;\n
margin: 1em 0;\n margin: 1em 0;\n
padding: 0 1em;\n padding: 0 1em;\n
...@@ -654,44 +442,16 @@ div.content > fieldset.webcontent span.headline {\n ...@@ -654,44 +442,16 @@ div.content > fieldset.webcontent span.headline {\n
color: #999;\n color: #999;\n
font-weight: bold;\n font-weight: bold;\n
text-shadow: .1em .1em .1em #eee;\n text-shadow: .1em .1em .1em #eee;\n
line-height: 140%;\n
}\n }\n
\n \n
div.content > fieldset.webcontent span.summary {\n div#main_content > fieldset.webcontent span.summary {\n
display: block;\n display: block;\n
font-size: 120%;\n font-size: 120%;\n
padding: 0 2em;\n padding: 0 2em;\n
font-style: italic;\n font-style: italic;\n
}\n }\n
\n
\n
\n
/* Login page style\n
------------------------------------------------------------------ */\n
\n
div.content.login {padding: 0 1em}\n
div.content.login fieldset {border: none}\n
\n
\n
\n
/* Extra content (metadata, related document box, etc...) styling.\n
------------------------------------------------------------------ */\n
\n
div.content fieldset.webcontent.bottom div {display: inline}\n
\n
div.content fieldset.webcontent.extra {\n
color: #999;\n
background-color: #f9f9f9;\n
border: 1px solid #eee;\n
border-right: none;\n
margin: 1em 0 1em 1em;\n
width: 20em; /* XXX CONSTANT !! */\n
float: right;\n
clear: right;\n
display: inline;\n
}\n
\n
div.content fieldset.webcontent.extra legend {color: #999}\n
div.content fieldset.webcontent.extra label:after {content: ":"}
]]></string> </value> ]]></string> </value>
</item> </item>
...@@ -705,7 +465,7 @@ div.content fieldset.webcontent.extra label:after {content: ":"} ...@@ -705,7 +465,7 @@ div.content fieldset.webcontent.extra label:after {content: ":"}
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>erp5_web_form.css</string> </value> <value> <string>erp5_web_editable_content.css</string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
<pickle> <pickle>
<tuple> <tuple>
<tuple> <tuple>
<string>Products.ERP5Form.Report</string> <string>Products.ERP5Form.Form</string>
<string>ERP5Report</string> <string>ERP5Form</string>
</tuple> </tuple>
<none/> <none/>
</tuple> </tuple>
...@@ -45,12 +45,6 @@ ...@@ -45,12 +45,6 @@
<tuple/> <tuple/>
</value> </value>
</item> </item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>action</string> </key> <key> <string>action</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -67,10 +61,14 @@ ...@@ -67,10 +61,14 @@
<key> <string>group_list</string> </key> <key> <string>group_list</string> </key>
<value> <value>
<list> <list>
<string>Default</string> <string>left column transparent (Logo)</string>
<string>right</string> <string>left column (Navigation)</string>
<string>center</string> <string>left column (Contents)</string>
<string>bottom</string> <string>left column (Search)</string>
<string>left column (Debug)</string>
<string>right column (Demo)</string>
<string>right column (Toolbox)</string>
<string>footer</string>
</list> </list>
</value> </value>
</item> </item>
...@@ -79,30 +77,68 @@ ...@@ -79,30 +77,68 @@
<value> <value>
<dictionary> <dictionary>
<item> <item>
<key> <string>Default</string> </key> <key> <string>footer</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left column (Contents)</string> </key>
<value> <value>
<list> <list>
<string>my_tasks_title</string> <string>subsection_list</string>
<string>my_tasks_description</string> <string>section_content_list</string>
</list> </list>
</value> </value>
</item> </item>
<item> <item>
<key> <string>bottom</string> </key> <key> <string>left column (Debug)</string> </key>
<value> <value>
<list/> <list>
<string>applicable_layout</string>
</list>
</value> </value>
</item> </item>
<item> <item>
<key> <string>center</string> </key> <key> <string>left column (Navigation)</string> </key>
<value> <value>
<list/> <list>
<string>language_selector</string>
<string>breadcrumb</string>
</list>
</value> </value>
</item> </item>
<item> <item>
<key> <string>right</string> </key> <key> <string>left column (Search)</string> </key>
<value> <value>
<list/> <list>
<string>your_search_text</string>
<string>search_action</string>
</list>
</value>
</item>
<item>
<key> <string>left column transparent (Logo)</string> </key>
<value>
<list>
<string>website_logo</string>
</list>
</value>
</item>
<item>
<key> <string>right column (Demo)</string> </key>
<value>
<list>
<string>about_box</string>
</list>
</value>
</item>
<item>
<key> <string>right column (Toolbox)</string> </key>
<value>
<list>
<string>admin_toolbox</string>
</list>
</value> </value>
</item> </item>
</dictionary> </dictionary>
...@@ -110,7 +146,7 @@ ...@@ -110,7 +146,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>ERP5Web_viewMyTask</string> </value> <value> <string>erp5_web_layout</string> </value>
</item> </item>
<item> <item>
<key> <string>method</string> </key> <key> <string>method</string> </key>
...@@ -118,19 +154,15 @@ ...@@ -118,19 +154,15 @@
</item> </item>
<item> <item>
<key> <string>name</string> </key> <key> <string>name</string> </key>
<value> <string>ERP5Web_viewMyTask</string> </value> <value> <string>erp5_web_default_layout</string> </value>
</item> </item>
<item> <item>
<key> <string>pt</string> </key> <key> <string>pt</string> </key>
<value> <string>report_list</string> </value> <value> <string>template_erp5_web</string> </value>
</item>
<item>
<key> <string>report_method</string> </key>
<value> <string>ERP5Web_getMyTaskSectionList</string> </value>
</item> </item>
<item> <item>
<key> <string>row_length</string> </key> <key> <string>row_length</string> </key>
<value> <int>4</int> </value> <value> <int>6</int> </value>
</item> </item>
<item> <item>
<key> <string>stored_encoding</string> </key> <key> <string>stored_encoding</string> </key>
...@@ -138,7 +170,7 @@ ...@@ -138,7 +170,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>My Tasks</string> </value> <value> <string>Default Web Layout</string> </value>
</item> </item>
<item> <item>
<key> <string>unicode_mode</string> </key> <key> <string>unicode_mode</string> </key>
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>latest_news</string> </value> <value> <string>about_box</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -211,17 +211,13 @@ ...@@ -211,17 +211,13 @@
</item> </item>
<item> <item>
<key> <string>css_class</string> </key> <key> <string>css_class</string> </key>
<value> <string></string> </value> <value> <string>hiddenLabel</string> </value>
</item> </item>
<item> <item>
<key> <string>default</string> </key> <key> <string>default</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<ul>\n This is a <b>demo</b> html box that displays a some text on the <i>right column</i> of the site.
<li>a</li>\n
<li>b</li>\n
<li>c</li>\n
</ul>
]]></string> </value> ]]></string> </value>
</item> </item>
...@@ -271,7 +267,7 @@ ...@@ -271,7 +267,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Latest News</string> </value> <value> <string>Demo</string> </value>
</item> </item>
<item> <item>
<key> <string>unicode</string> </key> <key> <string>unicode</string> </key>
......
...@@ -267,7 +267,7 @@ ...@@ -267,7 +267,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Admin Tool Box</string> </value> <value> <string>Admin</string> </value>
</item> </item>
<item> <item>
<key> <string>unicode</string> </key> <key> <string>unicode</string> </key>
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>listbox_modification_date</string> </value> <value> <string>applicable_layout</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -217,7 +217,7 @@ ...@@ -217,7 +217,7 @@
</item> </item>
<item> <item>
<key> <string>editable</string> </key> <key> <string>editable</string> </key>
<value> <int>0</int> </value> <value> <int>1</int> </value>
</item> </item>
<item> <item>
<key> <string>enabled</string> </key> <key> <string>enabled</string> </key>
...@@ -245,7 +245,7 @@ ...@@ -245,7 +245,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>listbox_modification_date</string> </value> <value> <string>Layout</string> </value>
</item> </item>
<item> <item>
<key> <string>truncate</string> </key> <key> <string>truncate</string> </key>
...@@ -279,7 +279,7 @@ ...@@ -279,7 +279,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>cell/WebPage_getModificationDate</string> </value> <value> <string>here/getApplicableLayout</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -213,7 +213,7 @@ ...@@ -213,7 +213,7 @@
</item> </item>
<item> <item>
<key> <string>css_class</string> </key> <key> <string>css_class</string> </key>
<value> <string></string> </value> <value> <string>hiddenLabel</string> </value>
</item> </item>
<item> <item>
<key> <string>default</string> </key> <key> <string>default</string> </key>
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>sub_document_list</string> </value> <value> <string>language_selector</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -213,7 +213,7 @@ ...@@ -213,7 +213,7 @@
</item> </item>
<item> <item>
<key> <string>css_class</string> </key> <key> <string>css_class</string> </key>
<value> <string></string> </value> <value> <string>hiddenLabel languageSelector</string> </value>
</item> </item>
<item> <item>
<key> <string>default</string> </key> <key> <string>default</string> </key>
...@@ -265,7 +265,7 @@ ...@@ -265,7 +265,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Sub Documents</string> </value> <value> <string>Language</string> </value>
</item> </item>
<item> <item>
<key> <string>unicode</string> </key> <key> <string>unicode</string> </key>
...@@ -299,7 +299,7 @@ ...@@ -299,7 +299,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>here/sub_document_list</string> </value> <value> <string>here/language_selector</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
<pickle> <pickle>
<tuple> <tuple>
<tuple> <tuple>
<string>Products.Formulator.StandardFields</string> <string>Products.ERP5Form.InputButtonField</string>
<string>StringField</string> <string>InputButtonField</string>
</tuple> </tuple>
<none/> <none/>
</tuple> </tuple>
...@@ -14,25 +14,12 @@ ...@@ -14,25 +14,12 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>listbox_version</string> </value> <value> <string>search_action</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
<value> <value>
<dictionary> <dictionary/>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value> </value>
</item> </item>
<item> <item>
...@@ -55,14 +42,6 @@ ...@@ -55,14 +42,6 @@
<key> <string>description</string> </key> <key> <string>description</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item> <item>
<key> <string>editable</string> </key> <key> <string>editable</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -71,10 +50,6 @@ ...@@ -71,10 +50,6 @@
<key> <string>enabled</string> </key> <key> <string>enabled</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item> <item>
<key> <string>extra</string> </key> <key> <string>extra</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -84,29 +59,13 @@ ...@@ -84,29 +59,13 @@
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>max_length</string> </key> <key> <string>name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary> </dictionary>
</value> </value>
</item> </item>
...@@ -130,14 +89,6 @@ ...@@ -130,14 +89,6 @@
<key> <string>description</string> </key> <key> <string>description</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item> <item>
<key> <string>editable</string> </key> <key> <string>editable</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -146,10 +97,6 @@ ...@@ -146,10 +97,6 @@
<key> <string>enabled</string> </key> <key> <string>enabled</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item> <item>
<key> <string>extra</string> </key> <key> <string>extra</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -159,29 +106,13 @@ ...@@ -159,29 +106,13 @@
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>max_length</string> </key> <key> <string>name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary> </dictionary>
</value> </value>
</item> </item>
...@@ -195,36 +126,24 @@ ...@@ -195,36 +126,24 @@
</item> </item>
<item> <item>
<key> <string>css_class</string> </key> <key> <string>css_class</string> </key>
<value> <string>number</string> </value> <value> <string>hiddenLabel searchButton</string> </value>
</item> </item>
<item> <item>
<key> <string>default</string> </key> <key> <string>default</string> </key>
<value> <string></string> </value> <value> <string>Go</string> </value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>description</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item> <item>
<key> <string>editable</string> </key> <key> <string>editable</string> </key>
<value> <int>0</int> </value> <value> <int>1</int> </value>
</item> </item>
<item> <item>
<key> <string>enabled</string> </key> <key> <string>enabled</string> </key>
<value> <int>1</int> </value> <value> <int>1</int> </value>
</item> </item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item> <item>
<key> <string>extra</string> </key> <key> <string>extra</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -234,28 +153,12 @@ ...@@ -234,28 +153,12 @@
<value> <int>0</int> </value> <value> <int>0</int> </value>
</item> </item>
<item> <item>
<key> <string>max_length</string> </key> <key> <string>name</string> </key>
<value> <string></string> </value> <value> <string>Base_searchResultList:method</string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>version</string> </value> <value> <string>Search</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item> </item>
</dictionary> </dictionary>
</value> </value>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.ERP5Form.EditorField</string>
<string>EditorField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>section_content_list</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>line_too_long</string> </key>
<value> <string>A line was too long.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>You entered too many characters.</string> </value>
</item>
<item>
<key> <string>too_many_lines</string> </key>
<value> <string>You entered too many lines.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Documents</string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>40</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>here/section_content_render</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python:here.getPortalType() in (\'Web Site\', \'Web Section\')</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>sub_web_object_list</string> </value> <value> <string>subsection_list</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -150,7 +150,9 @@ ...@@ -150,7 +150,9 @@
</item> </item>
<item> <item>
<key> <string>enabled</string> </key> <key> <string>enabled</string> </key>
<value> <string></string> </value> <value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item> </item>
<item> <item>
<key> <string>external_validator</string> </key> <key> <string>external_validator</string> </key>
...@@ -265,7 +267,7 @@ ...@@ -265,7 +267,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Sub Web Objects</string> </value> <value> <string>Subsections</string> </value>
</item> </item>
<item> <item>
<key> <string>unicode</string> </key> <key> <string>unicode</string> </key>
...@@ -299,7 +301,26 @@ ...@@ -299,7 +301,26 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>here/sub_web_object_list</string> </value> <value> <string>here/subsection_render</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python:here.getPortalType() in (\'Web Site\', \'Web Section\')</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>listbox_title</string> </value> <value> <string>your_search_text</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -197,7 +197,7 @@ ...@@ -197,7 +197,7 @@
</item> </item>
<item> <item>
<key> <string>css_class</string> </key> <key> <string>css_class</string> </key>
<value> <string>mainLink</string> </value> <value> <string>hiddenLabel searchInput</string> </value>
</item> </item>
<item> <item>
<key> <string>default</string> </key> <key> <string>default</string> </key>
...@@ -217,7 +217,7 @@ ...@@ -217,7 +217,7 @@
</item> </item>
<item> <item>
<key> <string>editable</string> </key> <key> <string>editable</string> </key>
<value> <int>0</int> </value> <value> <int>1</int> </value>
</item> </item>
<item> <item>
<key> <string>enabled</string> </key> <key> <string>enabled</string> </key>
...@@ -245,7 +245,7 @@ ...@@ -245,7 +245,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>title</string> </value> <value> <string>Search</string> </value>
</item> </item>
<item> <item>
<key> <string>truncate</string> </key> <key> <string>truncate</string> </key>
...@@ -279,7 +279,7 @@ ...@@ -279,7 +279,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>cell/ERP5Web_getVerboseTitle</string> </value> <value> <string>request/your_search_text | string:</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -45,15 +45,9 @@ ...@@ -45,15 +45,9 @@
<tuple/> <tuple/>
</value> </value>
</item> </item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>action</string> </key> <key> <string>action</string> </key>
<value> <string>Base_doSelect</string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>encoding</string> </key> <key> <string>encoding</string> </key>
...@@ -67,11 +61,14 @@ ...@@ -67,11 +61,14 @@
<key> <string>group_list</string> </key> <key> <string>group_list</string> </key>
<value> <value>
<list> <list>
<string>left</string> <string>left column transparent (Logo)</string>
<string>right</string> <string>left column (Navigation)</string>
<string>center</string> <string>left column (Contents)</string>
<string>bottom</string> <string>left column (Search)</string>
<string>hidden</string> <string>left column (Debug)</string>
<string>right column (Demo)</string>
<string>right column (Toolbox)</string>
<string>footer</string>
</list> </list>
</value> </value>
</item> </item>
...@@ -80,40 +77,67 @@ ...@@ -80,40 +77,67 @@
<value> <value>
<dictionary> <dictionary>
<item> <item>
<key> <string>bottom</string> </key> <key> <string>footer</string> </key>
<value> <value>
<list/> <list/>
</value> </value>
</item> </item>
<item> <item>
<key> <string>center</string> </key> <key> <string>left column (Contents)</string> </key>
<value> <value>
<list/> <list>
<string>subsection_list</string>
<string>section_content_list</string>
</list>
</value> </value>
</item> </item>
<item> <item>
<key> <string>hidden</string> </key> <key> <string>left column (Debug)</string> </key>
<value> <value>
<list> <list>
<string>listbox_translated_validation_state_title</string> <string>applicable_layout</string>
<string>listbox_version</string>
<string>listbox_title</string>
</list> </list>
</value> </value>
</item> </item>
<item> <item>
<key> <string>left</string> </key> <key> <string>left column (Navigation)</string> </key>
<value> <value>
<list> <list>
<string>recent_changes_title</string> <string>breadcrumb</string>
<string>listbox</string>
</list> </list>
</value> </value>
</item> </item>
<item> <item>
<key> <string>right</string> </key> <key> <string>left column (Search)</string> </key>
<value> <value>
<list/> <list>
<string>your_search_text</string>
<string>search_action</string>
</list>
</value>
</item>
<item>
<key> <string>left column transparent (Logo)</string> </key>
<value>
<list>
<string>website_logo</string>
</list>
</value>
</item>
<item>
<key> <string>right column (Demo)</string> </key>
<value>
<list>
<string>about_box</string>
</list>
</value>
</item>
<item>
<key> <string>right column (Toolbox)</string> </key>
<value>
<list>
<string>admin_toolbox</string>
</list>
</value> </value>
</item> </item>
</dictionary> </dictionary>
...@@ -121,7 +145,7 @@ ...@@ -121,7 +145,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>WebPageModule_viewRecentChanges</string> </value> <value> <string>erp5_web_section_layout</string> </value>
</item> </item>
<item> <item>
<key> <string>method</string> </key> <key> <string>method</string> </key>
...@@ -129,19 +153,15 @@ ...@@ -129,19 +153,15 @@
</item> </item>
<item> <item>
<key> <string>name</string> </key> <key> <string>name</string> </key>
<value> <string>WebPageModule_viewRecentChanges</string> </value> <value> <string>erp5_web_default_layout</string> </value>
</item> </item>
<item> <item>
<key> <string>pt</string> </key> <key> <string>pt</string> </key>
<value> <string>form_list</string> </value> <value> <string>template_erp5_web</string> </value>
</item>
<item>
<key> <string>rid</string> </key>
<value> <int>-1722436574</int> </value>
</item> </item>
<item> <item>
<key> <string>row_length</string> </key> <key> <string>row_length</string> </key>
<value> <int>4</int> </value> <value> <int>6</int> </value>
</item> </item>
<item> <item>
<key> <string>stored_encoding</string> </key> <key> <string>stored_encoding</string> </key>
...@@ -149,13 +169,7 @@ ...@@ -149,13 +169,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Web Site Last Changes</string> </value> <value> <string>Default Section Layout</string> </value>
</item>
<item>
<key> <string>uid</string> </key>
<value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>unicode_mode</string> </key> <key> <string>unicode_mode</string> </key>
......
...@@ -211,11 +211,15 @@ ...@@ -211,11 +211,15 @@
</item> </item>
<item> <item>
<key> <string>css_class</string> </key> <key> <string>css_class</string> </key>
<value> <string></string> </value> <value> <string>hiddenLabel</string> </value>
</item> </item>
<item> <item>
<key> <string>default</string> </key> <key> <string>default</string> </key>
<value> <string>This is a demo html box that display a little description of the current web site.</string> </value> <value> <string encoding="cdata"><![CDATA[
This is a <b>demo</b> html box that displays a some text on the <i>right column</i> of the site.
]]></string> </value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>description</string> </key>
...@@ -263,7 +267,7 @@ ...@@ -263,7 +267,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>About</string> </value> <value> <string>Demo</string> </value>
</item> </item>
<item> <item>
<key> <string>unicode</string> </key> <key> <string>unicode</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.ERP5Form.EditorField</string>
<string>EditorField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>admin_toolbox</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>line_too_long</string> </key>
<value> <string>A line was too long.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>You entered too many characters.</string> </value>
</item>
<item>
<key> <string>too_many_lines</string> </key>
<value> <string>You entered too many lines.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string>adminToolbox</string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Admin</string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>40</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>here/admin_toolbox</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>not: here/portal_membership/isAnonymousUser</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>listbox_translated_validation_state_title</string> </value> <value> <string>applicable_layout</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -120,13 +120,13 @@ ...@@ -120,13 +120,13 @@
</item> </item>
<item> <item>
<key> <string>css_class</string> </key> <key> <string>css_class</string> </key>
<value> <value> <string></string> </value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item> </item>
<item> <item>
<key> <string>default</string> </key> <key> <string>default</string> </key>
<value> <string></string> </value> <value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>description</string> </key>
...@@ -217,7 +217,7 @@ ...@@ -217,7 +217,7 @@
</item> </item>
<item> <item>
<key> <string>editable</string> </key> <key> <string>editable</string> </key>
<value> <int>0</int> </value> <value> <int>1</int> </value>
</item> </item>
<item> <item>
<key> <string>enabled</string> </key> <key> <string>enabled</string> </key>
...@@ -245,7 +245,7 @@ ...@@ -245,7 +245,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>translated_validation_state_title</string> </value> <value> <string>Layout</string> </value>
</item> </item>
<item> <item>
<key> <string>truncate</string> </key> <key> <string>truncate</string> </key>
...@@ -279,7 +279,7 @@ ...@@ -279,7 +279,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>python: cell.getValidationState()</string> </value> <value> <string>here/getApplicableLayout</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>login_box</string> </value> <value> <string>breadcrumb</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -213,7 +213,7 @@ ...@@ -213,7 +213,7 @@
</item> </item>
<item> <item>
<key> <string>css_class</string> </key> <key> <string>css_class</string> </key>
<value> <string>centered</string> </value> <value> <string>hiddenLabel</string> </value>
</item> </item>
<item> <item>
<key> <string>default</string> </key> <key> <string>default</string> </key>
...@@ -265,7 +265,7 @@ ...@@ -265,7 +265,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Login Menu</string> </value> <value> <string>Breadcrumb</string> </value>
</item> </item>
<item> <item>
<key> <string>unicode</string> </key> <key> <string>unicode</string> </key>
...@@ -299,7 +299,7 @@ ...@@ -299,7 +299,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>here/login_box/login</string> </value> <value> <string>here/breadcrumb</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
<pickle> <pickle>
<tuple> <tuple>
<tuple> <tuple>
<string>Products.Formulator.StandardFields</string> <string>Products.ERP5Form.InputButtonField</string>
<string>StringField</string> <string>InputButtonField</string>
</tuple> </tuple>
<none/> <none/>
</tuple> </tuple>
...@@ -14,25 +14,12 @@ ...@@ -14,25 +14,12 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>listbox_version</string> </value> <value> <string>search_action</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
<value> <value>
<dictionary> <dictionary/>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value> </value>
</item> </item>
<item> <item>
...@@ -55,14 +42,6 @@ ...@@ -55,14 +42,6 @@
<key> <string>description</string> </key> <key> <string>description</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item> <item>
<key> <string>editable</string> </key> <key> <string>editable</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -71,10 +50,6 @@ ...@@ -71,10 +50,6 @@
<key> <string>enabled</string> </key> <key> <string>enabled</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item> <item>
<key> <string>extra</string> </key> <key> <string>extra</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -84,29 +59,13 @@ ...@@ -84,29 +59,13 @@
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>max_length</string> </key> <key> <string>name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary> </dictionary>
</value> </value>
</item> </item>
...@@ -130,14 +89,6 @@ ...@@ -130,14 +89,6 @@
<key> <string>description</string> </key> <key> <string>description</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item> <item>
<key> <string>editable</string> </key> <key> <string>editable</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -146,10 +97,6 @@ ...@@ -146,10 +97,6 @@
<key> <string>enabled</string> </key> <key> <string>enabled</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item> <item>
<key> <string>extra</string> </key> <key> <string>extra</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -159,29 +106,13 @@ ...@@ -159,29 +106,13 @@
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>max_length</string> </key> <key> <string>name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary> </dictionary>
</value> </value>
</item> </item>
...@@ -195,36 +126,24 @@ ...@@ -195,36 +126,24 @@
</item> </item>
<item> <item>
<key> <string>css_class</string> </key> <key> <string>css_class</string> </key>
<value> <string>number</string> </value> <value> <string>hiddenLabel searchButton</string> </value>
</item> </item>
<item> <item>
<key> <string>default</string> </key> <key> <string>default</string> </key>
<value> <string></string> </value> <value> <string>Go</string> </value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>description</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item> <item>
<key> <string>editable</string> </key> <key> <string>editable</string> </key>
<value> <int>0</int> </value> <value> <int>1</int> </value>
</item> </item>
<item> <item>
<key> <string>enabled</string> </key> <key> <string>enabled</string> </key>
<value> <int>1</int> </value> <value> <int>1</int> </value>
</item> </item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item> <item>
<key> <string>extra</string> </key> <key> <string>extra</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -234,28 +153,12 @@ ...@@ -234,28 +153,12 @@
<value> <int>0</int> </value> <value> <int>0</int> </value>
</item> </item>
<item> <item>
<key> <string>max_length</string> </key> <key> <string>name</string> </key>
<value> <string></string> </value> <value> <string>Base_searchResultList:method</string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>version</string> </value> <value> <string>Search</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item> </item>
</dictionary> </dictionary>
</value> </value>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.ERP5Form.EditorField</string>
<string>EditorField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>section_content_list</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>line_too_long</string> </key>
<value> <string>A line was too long.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>You entered too many characters.</string> </value>
</item>
<item>
<key> <string>too_many_lines</string> </key>
<value> <string>You entered too many lines.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Documents</string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>40</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>here/section_content_render</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python:here.getPortalType() in (\'Web Site\', \'Web Section\')</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.ERP5Form.EditorField</string>
<string>EditorField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>subsection_list</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>line_too_long</string> </key>
<value> <string>A line was too long.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>You entered too many characters.</string> </value>
</item>
<item>
<key> <string>too_many_lines</string> </key>
<value> <string>You entered too many lines.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Subsections</string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>40</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>here/subsection_render</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python:here.getPortalType() in (\'Web Site\', \'Web Section\')</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.ERP5Form.EditorField</string>
<string>EditorField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>website_logo</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>line_too_long</string> </key>
<value> <string>A line was too long.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>You entered too many characters.</string> </value>
</item>
<item>
<key> <string>too_many_lines</string> </key>
<value> <string>You entered too many lines.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string>centered logo</string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string encoding="cdata"><![CDATA[
<a href="http://erp5.org"><img src="erp5-website-logo.png"/></a>
]]></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ERP5 WebSite Logo</string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>40</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
python: """<a href="%s" title="%s"><img src="erp5-website-logo.png" alt="Web Site Logo"/></a>""" % (here.getWebSiteValue().absolute_url(), here.getWebSiteValue().getTitleOrId())
]]></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>listbox_title</string> </value> <value> <string>your_search_text</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -197,7 +197,7 @@ ...@@ -197,7 +197,7 @@
</item> </item>
<item> <item>
<key> <string>css_class</string> </key> <key> <string>css_class</string> </key>
<value> <string>mainLink</string> </value> <value> <string>hiddenLabel searchInput</string> </value>
</item> </item>
<item> <item>
<key> <string>default</string> </key> <key> <string>default</string> </key>
...@@ -217,7 +217,7 @@ ...@@ -217,7 +217,7 @@
</item> </item>
<item> <item>
<key> <string>editable</string> </key> <key> <string>editable</string> </key>
<value> <int>0</int> </value> <value> <int>1</int> </value>
</item> </item>
<item> <item>
<key> <string>enabled</string> </key> <key> <string>enabled</string> </key>
...@@ -245,7 +245,7 @@ ...@@ -245,7 +245,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>title</string> </value> <value> <string>Search</string> </value>
</item> </item>
<item> <item>
<key> <string>truncate</string> </key> <key> <string>truncate</string> </key>
...@@ -279,7 +279,7 @@ ...@@ -279,7 +279,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>cell/ERP5Web_getVerboseTitle</string> </value> <value> <string>request/your_search_text | string:</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -48,17 +48,13 @@ ...@@ -48,17 +48,13 @@
<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 tal:define="language_list here/Localizer/get_languages_map;\n
tal:define="website python: here.WebSite_getBreadcrumbItemList()[0][1];\n absolute_url here/absolute_url">\n
website_url python: website.absolute_url()">\n <tal:block tal:repeat="language language_list" tal:condition="python:len(language_list) > 1">\n
<a tal:condition="here/portal_membership/isAnonymousUser"\n <b tal:condition="language/selected"><u tal:content="language/id"/></b>\n
tal:attributes="href python: \'%s/login_form\' % website_url">\n <a tal:attributes="href python:\'%s/Base_doLanguage?select_language=%s\' % (absolute_url, language[\'id\'])"\n
<img src="login_box/login.png"/> Login\n tal:content="language/id" tal:condition="not:language/selected"/>\n
</a>\n </tal:block>\n
<a tal:condition="not: here/portal_membership/isAnonymousUser"\n
tal:attributes="href python: \'%s/logout\' % website_url"> \n
<img src="login_box/logout.png"/> Logout\n
</a>\n
</tal:block> </tal:block>
]]></string> </value> ]]></string> </value>
...@@ -73,7 +69,7 @@ ...@@ -73,7 +69,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>login</string> </value> <value> <string>language_selector</string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -62,99 +62,148 @@ html {\n ...@@ -62,99 +62,148 @@ html {\n
margin-left: auto;\n margin-left: auto;\n
}\n }\n
\n \n
/* General Layout.\n /*========================================================================================\n
** Layout technic based on http://alistapart.com/articles/holygrail/\n ** GENERAL LAYOUT\n
-----------------------------------------------*/\n ** Layout technique based on http://alistapart.com/articles/holygrail/\n
**========================================================================================*/\n
\n \n
div.content {\n .document div.content {\n
background: #fff;\n background: #fff;\n
border: .1em solid #ccc;\n border: .1em solid #ccc;\n
}\n }\n
\n \n
div#main_content {\n
margin: 4em 0;\n
}\n
\n
\n
\n
/* Define some constant to make the css flexible without pain */\n /* Define some constant to make the css flexible without pain */\n
<tal:block\n <tal:block\n
define="unit python: \'px\';\n define="unit python: \'px\';\n
LC_fullwidth python: 200;\n LC_fullwidth python: 190;\n
LC_width python: 180;\n LC_width python: 180;\n
LC_padding python: 10;\n LC_padding python: 5;\n
CC_padding python: 40;\n CC_padding python: 0;\n
RC_fullwidth python: 150;\n RC_fullwidth python: 200;\n
RC_width python: 130;\n RC_width python: 190;\n
RC_padding python: 10;\n RC_padding python: 5;\n
">\n ">\n
\n
body {\n
min-width: <tal:block replace="python: (\'%s%s\') % (2 * (LC_fullwidth + CC_padding) + RC_fullwidth, unit)"/>;\n
}\n
\n
form#main_form {\n form#main_form {\n
padding-left: <tal:block replace="python: (\'%s%s\') % (LC_fullwidth, unit)"/>;\n padding-left: <tal:block replace="python: (\'%s%s\') % (LC_fullwidth, unit)"/>;\n
padding-right: <tal:block replace="python: (\'%s%s\') % (RC_fullwidth + CC_padding, unit)"/>;\n padding-right: <tal:block replace="python: (\'%s%s\') % (RC_fullwidth + CC_padding, unit)"/>;\n
min-width: <tal:block replace="python: (\'%s%s\') % (LC_fullwidth + CC_padding, unit)"/>;\n
}\n }\n
\n \n
form#main_form div#footer,\n form#main_form div#wrapper_footer,\n
form#main_form div#header /* XXX Is header working ?? */\n form#main_form div#wrapper_header /* Customisation of template_erp5_web is required to make header work */\n
{\n {\n
margin-left: <tal:block replace="python: (\'-%s%s\') % (LC_fullwidth, unit)"/>;\n margin-left: <tal:block replace="python: (\'-%s%s\') % (LC_fullwidth, unit)"/>;\n
margin-right: <tal:block replace="python: (\'-%s%s\') % (RC_fullwidth + CC_padding, unit)"/>;\n margin-right: <tal:block replace="python: (\'-%s%s\') % (RC_fullwidth + CC_padding, unit)"/>;\n
}\n }\n
\n \n
form#main_form div.column {\n form#main_form div#main_content,\n
form#main_form div#wrapper_left,\n
form#main_form div#wrapper_right {\n
position: relative;\n position: relative;\n
float: left;\n float: left;\n
}\n }\n
\n \n
form#main_form div#main_content {\n form#main_form div#main_content {\n
padding: 0 20px;\n padding: 0 <tal:block replace="python: (\'%s%s\') % (CC_padding, unit)"/>;\n
width: 100%;\n width: 100%;\n
margin: 1em 0;\n
}\n }\n
\n \n
form#main_form div#left_column {\n form#main_form div#wrapper_left {\n
width: <tal:block replace="python: (\'%s%s\') % (LC_width, unit)"/>;\n width: <tal:block replace="python: (\'%s%s\') % (LC_width, unit)"/>;\n
padding: 0 <tal:block replace="python: (\'%s%s\') % (LC_padding, unit)"/>;\n padding: 0 <tal:block replace="python: (\'%s%s\') % (LC_padding, unit)"/>;\n
right: <tal:block replace="python: (\'%s%s\') % (LC_fullwidth + CC_padding, unit)"/>;\n right: <tal:block replace="python: (\'%s%s\') % (LC_fullwidth + CC_padding, unit)"/>;\n
margin-left: -100%;\n margin-left: -100%;\n
}\n }\n
\n \n
form#main_form div#right_column {\n form#main_form div#wrapper_right {\n
width: <tal:block replace="python: (\'%s%s\') % (RC_width, unit)"/>;\n width: <tal:block replace="python: (\'%s%s\') % (RC_width, unit)"/>;\n
padding: 0 <tal:block replace="python: (\'%s%s\') % (RC_padding, unit)"/>;\n padding: 0 <tal:block replace="python: (\'%s%s\') % (RC_padding, unit)"/>;\n
margin-right: -100%;\n margin-right: <tal:block replace="python: (\'-%s%s\') % (RC_fullwidth + CC_padding, unit)"/>;\n
}\n }\n
\n \n
form#main_form div#footer {\n form#main_form div#wrapper_header,\n
form#main_form div#wrapper_footer {\n
clear: both;\n clear: both;\n
}\n }\n
\n \n
/*** IE Fix ***/\n /*** IE Fix ***/\n
* html form#main_form div#left_column {\n * html form#main_form div#wrapper_left {\n
left: <tal:block replace="python: (\'%s%s\') % (RC_fullwidth, unit)"/>;\n left: <tal:block replace="python: (\'%s%s\') % (RC_fullwidth, unit)"/>;\n
}\n }\n
\n \n
</tal:block>\n </tal:block>\n
\n \n
\n \n
/*========================================================================================\n
** WIDGETS\n
**\n
** Widgets are built as a fieldset inside a wrapper div\n
** We use the fact that widgets are always part of a wrapper div to\n
** implement a different rendering from the standard form rendering\n
**\n
** TODO:\n
** - it could be useful to add a new class to identity widgets more easily\n
**========================================================================================*/\n
\n
/* Wrapper Layout\n
-----------------------------------------------*/\n
\n
/* Standard wrapper */\n
\n
form#main_form div.wrapper fieldset.column {\n
background: #fff url(erp5-website-field.png) top repeat-x;\n
border: 1px solid #ccc;\n
color: #666;\n
padding: 2px;\n
margin: 0.5em 0;\n
}\n
\n
form#main_form div.wrapper fieldset.column legend {\n
padding: 0.2em .5em;\n
font-weight: bold;\n
color: #666;\n
text-transform: capitalize;\n
background: #EEE;\n
}\n
\n
form#main_form div.wrapper fieldset.column div.field label:after {content: ":"}\n
\n
/* Transparent wrapper - useful to display a logo */\n
form#main_form div.wrapper fieldset.transparent {\n
border: 0;\n
background: transparent;\n
margin: 0 0;\n
padding: 0 0;\n
}\n
\n
form#main_form div.wrapper fieldset.transparent legend {\n
display: None;\n
}\n
\n
form#main_form div.wrapper fieldset.transparent label {\n
display: None;\n
}\n
\n \n
/* Widget Layout\n /* Widget Layout\n
-----------------------------------------------*/\n -----------------------------------------------*/\n
\n \n
/* Special layout for logo widget */\n /* Special layout for logo widget */\n
\n form#main_form fieldset.column div.field.logo {\n
form#main_form div.wrapper div.field.logo {\n
padding: 2em 0 0;\n padding: 2em 0 0;\n
border: 0;\n border: 0;\n
background: transparent;\n background: transparent;\n
}\n }\n
\n \n
div.wrapper div.field.logo label {\n form#main_form div.wrapper div.field.logo label {\n
display: none;\n display: none;\n
}\n }\n
\n \n
\n
/* Special layout for footer group */\n /* Special layout for footer group */\n
\n
form#main_form div#wrapper_footer div.field {\n form#main_form div#wrapper_footer div.field {\n
margin: 0;\n margin: 0;\n
padding: .7em;\n padding: .7em;\n
...@@ -164,38 +213,43 @@ form#main_form div#wrapper_footer div.field {\n ...@@ -164,38 +213,43 @@ form#main_form div#wrapper_footer div.field {\n
border-style: solid;\n border-style: solid;\n
}\n }\n
\n \n
div#wrapper_footer div.field label {\n form#main_form div#wrapper_footer fieldset {\n
display: none;\n border-width: 0;\n
padding: 0;\n
margin: 0;\n
width: 100%;\n
}\n }\n
\n \n
form#main_form div#wrapper_footer fieldset legend {\n
display: none;\n
}\n
\n \n
<tal:block replace="nothing">\n form#main_form div#wrapper_footer div.field label {\n
/* UNUSED YET */\n display: none;\n
/* Special layout for search bar widget: move it top right */\n
form#main_form > div.searchBar {\n
position: absolute;\n
z-index: 200;\n
top: .3em;\n
right: 1em; /* Same as "body > form#main_form[padding-right]".\n
TODO: use dtml code to make this more flexible.\n
*/\n
width: 28em; /* XXX Must be adapted dynamiccaly to let several web widget be diplayed inline.\n
TODO: find the appropriate CSS trick to do hit without pain.\n
*/\n
border: 0;\n
}\n }\n
div.searchBar > div.field {\n \n
float: right;\n /* Special layout for search widget */\n
form#main_form div.searchButton {\n
float: left;\n
margin-left: 0.3em;\n
}\n }\n
div.searchBar div.field > label {\n \n
display: inherit;\n form#main_form div.searchButton input {\n
height: 2em;\n
}\n }\n
div.searchBar > div.field > label,\n \n
div.searchBar > div.field > div.input {\n form#main_form div.searchInput {\n
float: left;\n float: left;\n
margin: 0 .5em;\n
}\n }\n
</tal:block> \n
form#main_form div.searchInput input, textarea, select { /* This should be common XXX */\n
border: 1px solid #999;\n
}\n
\n
/* Special layout for language widget */\n
form#main_form div.languageSelector {\n
float: right;\n
}
]]></string> </value> ]]></string> </value>
</item> </item>
...@@ -209,7 +263,7 @@ div.searchBar > div.field > div.input {\n ...@@ -209,7 +263,7 @@ div.searchBar > div.field > div.input {\n
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>erp5_web_default_theme.css</string> </value> <value> <string>template_erp5_web.css</string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -44,12 +44,6 @@ ...@@ -44,12 +44,6 @@
</object> </object>
</value> </value>
</item> </item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
...@@ -57,79 +51,76 @@ ...@@ -57,79 +51,76 @@
<tal:block tal:replace="nothing"\n <tal:block tal:replace="nothing"\n
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
* Note: If this template is not working, look at erp5_xhtml_style/template_erp5_xhtml_style\n <!--\n
which is the equivalent of this erp5_web_default_template page template in default\n Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n
erp5 xhtml style.\n Vincent Pelletier <vincent@nexedi.com>\n
* XXX Is it a good idea to merge this header with th one in template_erp5_xhtml_style ?\n Christophe Dumez <christophe@nexedi.com>\n
--></tal:block>\n
\n
<tal:block metal:define-macro="master">\n
\n
<tal:block metal:use-macro="here/global_definitions/macros/header_definitions"/>\n
\n \n
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\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
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">\n This program is distributed in the hope that it will be useful,\n
<head tal:define="dummy python: request.RESPONSE.setHeader(\'Content-Type\', \'text/html;; charset=utf-8\')">\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n
<base tal:attributes="href python: \'%s/\' % here.getWebSiteValue().absolute_url()"/>\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
<meta name="generator" content="ERP5"/>\n GNU General Public License for more details.\n
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>\n
<title tal:content="python: \'%s | %s\' % (here.getTitleOrId(), here.getPortalObject().getTitle() or here.getPortalObject().getId())"/>\n
\n \n
<!-- erp5_web_form.css is a constant among erp5 web themes -->\n You should have received a copy of the GNU General Public License\n
<link rel="stylesheet" type="text/css" media="screen" href="erp5_web_form.css"/>\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 tal:repeat="css css_list">\n <tal:block metal:define-macro="master">\n
<link tal:attributes="href css" type="text/css" rel="stylesheet"/>\n <tal:block tal:define="portal_path here/portal_url;\n
</tal:block>\n editable request/editable_mode | python: 0; \n
global css_list_template python:[\'%s/erp5_web.css\' % portal_path,\n
\'%s/erp5_web_%scontent.css\' % (portal_path, editable and \'editable_\' or \'\'),\n
\'%s/erp5_web_admin_toolbox.css\' % portal_path,\n
\'%s/template_erp5_web.css\' % portal_path,\n
]">\n
<tal:block metal:use-macro="here/template_erp5_xhtml_style/macros/master">\n
<tal:block metal:fill-slot="layout"\n
tal:define="dummy python: request.set(\'editable_mode\', True)">\n
<div id="main_content" class="column center">\n
<tal:block tal:condition="here/REQUEST/portal_status_message | nothing">\n
<!-- XXX Why no portal message displayed there ?\n
Normally a message should be displayed when saving an object through web interface... -->\n
<div tal:content="structure here/REQUEST/portal_status_message | nothing" id="transition_message"/>\n
</tal:block>\n
<tal:block metal:define-slot="main"/>\n
</div>\n
\n
<!-- Layout form rendering -->\n
<tal:block tal:condition="python: layout_form is not None">\n
\n \n
<script type="text/javascript">\n <tal:block tal:replace="nothing">\n
// The first input element with a "autofocus" class will get the focus,\n \n
// else, the first input is choosen.\n <!--<tal:block tal:define="template python: here.developper_shortcut_render">\n
function autoFocus() {\n <tal:block metal:use-macro="template/macros/form"/>\n
var inputs = document.getElementsByTagName("input");\n </tal:block>-->\n
var input_to_focus = inputs[0];\n \n
for (i=0;i<inputs.length;i++) {\n <!-- Here we force the editable_mode variable to True to let the layout and widgets\n
if (inputs[i].className == "autofocus") {\n based on forms be rendered as editable or non-editable according the "editable"\n
input_to_focus = inputs[i];\n property on fields.\n
}\n However this hasa bad side effect: the editable_mode variable in request is\n
}\n forced to True and is no longer representative of the web site mode.\n
input_to_focus.focus();\n -->\n
}\n </tal:block>\n
</script>\n
\n \n
<tal:block tal:repeat="js js_list">\n <tal:block tal:repeat="aggregate python: layout_form.WebSite_getGroupList([\'header\', \'left\', \'right\', \'footer\'])"\n
<script tal:attributes="src js" type="text/javascript"></script>\n tal:define="dummy python: request.set(\'editable_mode\', True);\n
dummy python: request.set(\'http_parameters\', http_parameters);\n
dummy python: request.set(\'actions\', actions);">\n
<tal:block metal:use-macro="here/aggregate_render/macros/aggregate_render"/>\n
</tal:block>\n
\n
</tal:block>\n
</tal:block>\t\n
</tal:block>\n </tal:block>\n
\n </tal:block>\n
<!-- TODO: No local JS and/or CSS file support yet: they should be registered via\n
generic mechanism and put in css_list and js_list above. -->\n
<tal:block metal:define-slot="erp5_web_template_head"/>\n
\n
<tal:block metal:use-macro="here/global_definitions/macros/planning_box_definitions"/>\n
</head>\n
\n
<body> <!-- TODO: This conflicts with tabber.js => onload="autoFocus()"-->\n
<!-- Global form is used to save data of other fields when we edit one another (generally make sense in listbox and/or relation string field) -->\n
<form id="main_form"\n
tal:attributes="enctype python: here.ERP5Site_getFormEnctype(form);\n
action url;\n
method form/method | string:post">\n
\n
<tal:block metal:use-macro="here/global_definitions/macros/http_definitions"/>\n
\n
<!-- Main content rendering -->\n
<!-- Here we force the editable_mode variable to True to let the layout and widgets based on forms be rendered as editable or non-editable according the "editable" property on fields.\n
XXX However this hasa bad side effect: the editable_mode variable in request is force to True and is no longer representative of the web site mode.\n
-->\n
<tal:block tal:define="dummy python: request.set(\'editable_mode\', True)">\n
<tal:block metal:define-slot="erp5_web_template_main_content"/>\n
</tal:block>\n
\n
</form>\n
</body>\n
</html>\n
</tal:block> </tal:block>
]]></string> </value> ]]></string> </value>
...@@ -144,7 +135,7 @@ ...@@ -144,7 +135,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>erp5_web_template_header</string> </value> <value> <string>template_erp5_web</string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -71,42 +71,59 @@ ...@@ -71,42 +71,59 @@
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
"""\n """\n
Create New Content by Cloning or Other Methods (replace old WebSite_clone).\n Create new Content by cloning an existing document\n
or by creating a new document.\n
\n
This script is called by the admin toolbox.\n
"""\n """\n
\n \n
form_data = context.REQUEST.form\n form_data = context.REQUEST.form\n
context.log(\'WebSite_clone received REQUEST:\', form_data)\n
\n \n
# Here is the list of field name to ignore as property\n # Define a list of field name to ignore in the cloning process\n
IGNORED_FORM_ID_LIST = [ \\\n ACCEPTABLE_FORM_ID_LIST = [ \\\n
# don\'t change id, else it would paste & setid in the same transaction.\n \'reference\'\n
\'id\'\n , \'language\'\n
# type of creation method\n , \'version\'\n
, \'document_action_mode\'\n , \'revision\'\n
# input button pointer coordinates\n , \'title\'\n
, \'x\', \'y\'\n , \'short_title\'\n
# custom forms field ids\n
, \'new_portal_type\', \'destination_section\'\n
]\n ]\n
\n \n
directory = context.restrictedTraverse(context.getRelativeUrl()).getParent()\n # Clone properties to the new object\n
creation_mode = form_data[\'document_action_mode\']\n kw = {}\n
property_id_list = context.propertyIds()\n
for (key, val) in form_data.items():\n
if key in ACCEPTABLE_FORM_ID_LIST and key in property_id_list:\n
kw[key] = val\n
new_object.edit(**kw)\n
\n
# First make sure that no document already exists with the\n
# same portal_type, reference, language and version.\n
if clone:\n
portal_type = context.getPortalType()\n
else:\n
portal_type = form_data[\'new_portal_type\']\n
\n \n
portal_catalog(portal_type=portal_type, reference=reference, ) \n
\n \n
\n \n
# Standard cloning method\n # Standard cloning method\n
if creation_mode == \'clone\':\n if clone:\n
\n
\n
\n
# TODO ?: If the document language hasn\'t changed and the version wasn\'t increased,\n # TODO ?: If the document language hasn\'t changed and the version wasn\'t increased,\n
# change the copied document reference to "copy-of-%s". This idea came from\n # change the copied document reference to "copy-of-%s". This idea came from\n
# the fact some published document are "invisible" because cloned documents\n # the fact some published document are "invisible" because cloned documents\n
# share by default the same reference (within a set of documents of same\n # share by default the same reference (within a set of documents of same\n
# references in a given section, only one document is display).\n # references in a given section, only one document is display).\n
\n \n
#context.log("Kev test context.getId >>>>>", repr(context.getId()))\n # We copy contents in place if possible\n
#context.log("Kev test directory >>>>>", repr(directory))\n directory = getattr(context, \'original_container\', None) or context.getParentValue()\n
\n \n
# Copy and paste the object\n # Copy and paste the object\n
clipboard = directory.manage_copyObjects(ids=[context.getId()])\n original_id = getattr(context, \'original_id\', None) or context.getId() # This is required for objects acquired in Web Section\n
clipboard = directory.manage_copyObjects(ids=[original_id])\n
#context.log("Kev test clipboard >>>>>", repr(clipboard))\n #context.log("Kev test clipboard >>>>>", repr(clipboard))\n
paste_result = directory.manage_pasteObjects(cb_copy_data=clipboard)\n paste_result = directory.manage_pasteObjects(cb_copy_data=clipboard)\n
new_object = directory[paste_result[0][\'new_id\']]\n new_object = directory[paste_result[0][\'new_id\']]\n
...@@ -115,57 +132,24 @@ if creation_mode == \'clone\':\n ...@@ -115,57 +132,24 @@ if creation_mode == \'clone\':\n
#context.log("Kev test directory.WebSite_getUrl() >>>>>", repr(directory.WebSite_getUrl()))\n #context.log("Kev test directory.WebSite_getUrl() >>>>>", repr(directory.WebSite_getUrl()))\n
#context.log("Kev test new_object.getId() >>>>>", repr(new_object.getId()))\n #context.log("Kev test new_object.getId() >>>>>", repr(new_object.getId()))\n
\n \n
redirect_url = \'%s/%s/WebPage_view?editable_mode=1\' % (directory.WebSite_getUrl(), new_object.getId())\n redirect_url = \'%s/view?editable_mode=1\' % new_object.absolute_url()\n
\n
\n
# Kevin\'s easy clone & edit method\n
elif creation_mode == \'clone_to\':\n
# Copy and paste the object\n
clipboard = directory.manage_copyObjects(ids=[context.getId()])\n
paste_result = directory.manage_pasteObjects(cb_copy_data=clipboard)\n
new_object = directory[paste_result[0][\'new_id\']]\n
\n
dest_section_url = form_data[\'destination_section\']\n
\n
# Put the cloned document in the right section.\n
# Because there is no direct relationship between a web page and its\n
# publication place, we need to randomly determine web page property\n
# value that will match the publishing predicate of the destination\n
# section.\n
website_id = context.WebSite_getSiteValue().getRelativeUrl()\n
dest_section_absolut_url = \'%s/%s\' % (website_id, dest_section_url)\n
dest_section_object = context.restrictedTraverse(dest_section_absolut_url)\n
criterion_list = dest_section_object.getMembershipCriterionCategoryList()\n
\n
# Choose a random criterion based on publication_section category\n
for criterion in criterion_list:\n
if criterion.startswith(\'publication_section/\'):\n
new_object.setPublicationSection(criterion[len(\'publication_section/\'):])\n
break\n
\n
# Redirect to the edit page of the cloned document in the context of the destination section\n
redirect_url = \'%s/%s/%s/WebPage_view?editable_mode=1\' % ( directory.WebSite_getUrl()\n
, dest_section_url\n
, new_object.getId()\n
)\n
\n
\n \n
# Create a new object here (this is a copy and paste of the previous WebSite_clone script)\n # Create a new object here (this is a copy and paste of the previous WebSite_clone script)\n
else:\n else:\n
# Get the new object portal type\n
new_portal_type = context.REQUEST.form[\'new_portal_type\']\n
# Guess the new document module\n # Guess the new document module\n
portal = context.getPortalObject()\n portal = context.getPortalObject()\n
module = portal.getDefaultModule(portal_type=new_portal_type)\n module = portal.getDefaultModule(portal_type=portal_type)\n
new_object = module.newContent(portal_type = new_portal_type)\n new_object = module.newContent(portal_type = portal_type)\n
redirect_url = \'%s/%s/%s/view?editable_mode=1\' % (directory.WebSite_getUrl(), module.getId(), new_object.getId())\n redirect_url = \'%s/view?editable_mode=1\' % new_object.absolute_url()\n
\n \n
\n \n
# Clone properties to the new object\n # Clone properties to the new object\n
kw = {}\n
property_id_list = new_object.propertyIds()\n
for (key, val) in form_data.items():\n for (key, val) in form_data.items():\n
if key not in IGNORED_FORM_ID_LIST and new_object.hasProperty(key):\n if key in ACCEPTABLE_FORM_ID_LIST and key in property_id_list:\n
context.log(\'WebSite_clone\', \'overwriting attribute "%s" to value "%s"\' % (key, val))\n kw[key] = val\n
new_object.setProperty(key, val)\n new_object.edit(**kw)\n
\n \n
\n \n
return context.REQUEST.RESPONSE.redirect(redirect_url)\n return context.REQUEST.RESPONSE.redirect(redirect_url)\n
...@@ -185,15 +169,9 @@ return context.REQUEST.RESPONSE.redirect(redirect_url)\n ...@@ -185,15 +169,9 @@ return context.REQUEST.RESPONSE.redirect(redirect_url)\n
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string></string> </value> <value> <string>clone=1</string> </value>
</item> </item>
<item> <item>
<key> <string>errors</string> </key> <key> <string>errors</string> </key>
...@@ -213,36 +191,38 @@ return context.REQUEST.RESPONSE.redirect(redirect_url)\n ...@@ -213,36 +191,38 @@ return context.REQUEST.RESPONSE.redirect(redirect_url)\n
<dictionary> <dictionary>
<item> <item>
<key> <string>co_argcount</string> </key> <key> <string>co_argcount</string> </key>
<value> <int>0</int> </value> <value> <int>1</int> </value>
</item> </item>
<item> <item>
<key> <string>co_varnames</string> </key> <key> <string>co_varnames</string> </key>
<value> <value>
<tuple> <tuple>
<string>clone</string>
<string>_getattr_</string> <string>_getattr_</string>
<string>context</string> <string>context</string>
<string>form_data</string> <string>form_data</string>
<string>IGNORED_FORM_ID_LIST</string> <string>ACCEPTABLE_FORM_ID_LIST</string>
<string>directory</string> <string>kw</string>
<string>property_id_list</string>
<string>_getiter_</string>
<string>key</string>
<string>val</string>
<string>_write_</string>
<string>_apply_</string>
<string>new_object</string>
<string>portal_type</string>
<string>_getitem_</string> <string>_getitem_</string>
<string>creation_mode</string> <string>portal_catalog</string>
<string>reference</string>
<string>getattr</string>
<string>None</string>
<string>directory</string>
<string>original_id</string>
<string>clipboard</string> <string>clipboard</string>
<string>paste_result</string> <string>paste_result</string>
<string>new_object</string>
<string>redirect_url</string> <string>redirect_url</string>
<string>dest_section_url</string>
<string>website_id</string>
<string>dest_section_absolut_url</string>
<string>dest_section_object</string>
<string>criterion_list</string>
<string>_getiter_</string>
<string>criterion</string>
<string>len</string>
<string>new_portal_type</string>
<string>portal</string> <string>portal</string>
<string>module</string> <string>module</string>
<string>key</string>
<string>val</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -254,12 +234,14 @@ return context.REQUEST.RESPONSE.redirect(redirect_url)\n ...@@ -254,12 +234,14 @@ return context.REQUEST.RESPONSE.redirect(redirect_url)\n
<item> <item>
<key> <string>func_defaults</string> </key> <key> <string>func_defaults</string> </key>
<value> <value>
<none/> <tuple>
<int>1</int>
</tuple>
</value> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>WebSite_newContent</string> </value> <value> <string>Base_cloneContent</string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -68,41 +68,85 @@ ...@@ -68,41 +68,85 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string>from Products.ERP5Form.Report import ReportSection\n <value> <string encoding="cdata"><![CDATA[
"""\n
This script creates edit actions for the admin toolbox\n
and adds some extra actions taken from the action_list\n
defined in portal_types tool.\n
\n \n
The script is able to rewrite some actions by looking at the\n
editable_absolute_url property stored on Context objects\n
which are created for virtual pages. (ie. pages which\n
are obtained through _aq_dynamic from Web Section or Web Page)\n
"""\n
# Init some variables\n
translateString = context.Base_translateString\n
result = []\n result = []\n
portal_type = context.getPortalType()\n
parent_object = context.aq_parent\n
parent_pt = parent_object.getPortalType()\n
request = context.REQUEST\n
action_dict = request.get(\'actions\', {}) # actions needs to be renamed to action_dict\n
exchange_action_list = action_dict.get(\'object_exchange\', [])\n
button_action_list = action_dict.get(\'object_button\', [])\n
portal_url = context.portal_url()\n
http_parameters = request.get(\'http_parameters\')\n
http_parameters = http_parameters.replace(\'editable_mode\', \'dummy_editable_mode\')\n
\n \n
workflow_dict = {}\n # Try to get the original absolute_url if this is a permanent URL\n
action_dict = context.portal_actions.listFilteredActionsFor(context)\n absolute_url = context.absolute_url()\n
global_action_list = action_dict[\'global\']\n editable_absolute_url = getattr(context, \'editable_absolute_url\', absolute_url)\n
\n \n
\n \n
for action in global_action_list:\n # Append a button to edit the current document\n
if action.has_key(\'workflow_id\'):\n if not request.form.get(\'editable_mode\', 0): result.append(dict(\n
url = "%s/view?editable_mode:int=1&%s" % (editable_absolute_url, http_parameters),\n
icon = context.getIcon() or \'file_icon.gif\',\n
title = translateString("Edit ${portal_type}", mapping=dict(portal_type=portal_type)),\n
label = "%s Icon" % portal_type,\n
))\n
else: result.append(dict(\n
url = "%s/view?editable_mode=&%s" % (editable_absolute_url, http_parameters),\n
icon = context.getIcon() or \'file_icon.gif\',\n
title = translateString("View ${portal_type}", mapping=dict(portal_type=portal_type)),\n
label = "%s Icon" % portal_type,\n
))\n
\n \n
# Get the workflow\n # Append a button to edit the default page\n
workflow = getattr(context.portal_workflow, action[\'workflow_id\'])\n
result.append( ReportSection( path = workflow.getPhysicalPath()\n
, level = 1\n
, form_id = \'ERP5Web_viewMyTaskWorkflowHeader\'\n
)\n
)\n
\n \n
# Each time we find a worklist, we add a section\n # Append a button to edit the parent section\n
if action.has_key(\'worklist_id\'):\n if portal_type == \'Web Page\' and parent_pt in (\'Web Section\', \'Web Site\'): result.append(dict(\n
# Get the worklist\n url = "%s/view?editable_mode=1" % parent_object.absolute_url(),\n
worklist = getattr(workflow.worklists, action[\'worklist_id\'])\n icon = parent_object.getIcon(),\n
# Print worklist content in a listbox\n title = translateString("Edit parent ${portal_type}", mapping=dict(portal_type=parent_pt)),\n
result.append( ReportSection( path = worklist.getPhysicalPath()\n label = "%s Icon" % parent_pt,\n
, level = 1\n ))\n
, form_id = \'WorkList_viewPendingWork\'\n \n
, selection_params = {}\n # Append a button to open WEBDAV\n
, listbox_display_mode = \'FlatListMode\'\n for action in button_action_list:\n
)\n if action[\'id\'] == \'webdav\':\n
)\n result.append(dict(\n
url = action[\'url\'].replace(absolute_url, editable_absolute_url),\n
icon = action[\'icon\'],\n
title = translateString(action[\'title\']),\n
label = "WebDAV Icon",\n
))\n
\n
# Append an exchange button\n
if len(exchange_action_list):\n
action = exchange_action_list[0]\n
result.append(dict(\n
url = action[\'url\'].replace(absolute_url, editable_absolute_url),\n
icon = \'%s/images/imp-exp.png\' % portal_url,\n
title = translateString(\'Import / Export\'),\n
label = "Import / Export Icon",\n
))\n
\n \n
return result\n return result\n
</string> </value>
]]></string> </value>
</item> </item>
<item> <item>
<key> <string>_code</string> </key> <key> <string>_code</string> </key>
...@@ -110,46 +154,16 @@ return result\n ...@@ -110,46 +154,16 @@ return result\n
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>_dav_writelocks</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item> <item>
<key> <string>_filepath</string> </key> <key> <string>_filepath</string> </key>
<value> <value>
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>_proxy_roles</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Authenticated</string>
<string>Author</string>
<string>Manager</string>
<string>Member</string>
<string>Owner</string>
<string>Reviewer</string>
</tuple>
</value>
</item>
<item> <item>
<key> <string>errors</string> </key> <key> <string>errors</string> </key>
<value> <value>
...@@ -174,20 +188,27 @@ return result\n ...@@ -174,20 +188,27 @@ return result\n
<key> <string>co_varnames</string> </key> <key> <string>co_varnames</string> </key>
<value> <value>
<tuple> <tuple>
<string>Products.ERP5Form.Report</string>
<string>ReportSection</string>
<string>result</string>
<string>workflow_dict</string>
<string>_getattr_</string> <string>_getattr_</string>
<string>context</string> <string>context</string>
<string>translateString</string>
<string>result</string>
<string>portal_type</string>
<string>parent_object</string>
<string>parent_pt</string>
<string>request</string>
<string>action_dict</string> <string>action_dict</string>
<string>_getitem_</string> <string>exchange_action_list</string>
<string>global_action_list</string> <string>button_action_list</string>
<string>portal_url</string>
<string>http_parameters</string>
<string>absolute_url</string>
<string>getattr</string>
<string>editable_absolute_url</string>
<string>dict</string>
<string>_getiter_</string> <string>_getiter_</string>
<string>action</string> <string>action</string>
<string>getattr</string> <string>_getitem_</string>
<string>workflow</string> <string>len</string>
<string>worklist</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -204,7 +225,7 @@ return result\n ...@@ -204,7 +225,7 @@ return result\n
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>ERP5Web_getMyTaskSectionList</string> </value> <value> <string>Base_getAdminToolboxEditShortcutList</string> </value>
</item> </item>
<item> <item>
<key> <string>warnings</string> </key> <key> <string>warnings</string> </key>
...@@ -215,25 +236,4 @@ return result\n ...@@ -215,25 +236,4 @@ return result\n
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Persistence</string>
<string>PersistentMapping</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_container</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -68,7 +68,13 @@ ...@@ -68,7 +68,13 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string>return context.WebSite_viewSearchResultList(**kw)\n <value> <string>"""\n
Create New Content by Cloning or Other Methods (replace old WebSite_clone).\n
\n
This script is called by the admin toolbox.\n
"""\n
\n
return context.Base_cloneContent(clone=0)\n
</string> </value> </string> </value>
</item> </item>
<item> <item>
...@@ -83,15 +89,9 @@ ...@@ -83,15 +89,9 @@
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>**kw</string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>errors</string> </key> <key> <string>errors</string> </key>
...@@ -117,10 +117,8 @@ ...@@ -117,10 +117,8 @@
<key> <string>co_varnames</string> </key> <key> <string>co_varnames</string> </key>
<value> <value>
<tuple> <tuple>
<string>kw</string>
<string>_apply_</string>
<string>_getattr_</string> <string>_getattr_</string>
<string>context</string> <string>context</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -137,7 +135,11 @@ ...@@ -137,7 +135,11 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>WebSite_viewSearchResult</string> </value> <value> <string>Base_newContent</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Clone or Create new content</string> </value>
</item> </item>
<item> <item>
<key> <string>warnings</string> </key> <key> <string>warnings</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string>"""\n
This method return short or long title. If both are available, priority is given to one of\n
them via the \'priority\' parameter (long title is chosen by default, for verbosity).\n
\n
If both of them are empty, we return a generic string containing the id. The previous behaviour\n
can be de-activated via \'pure_id\' parameters.\n
\n
ERP5 Web rule:\n
Short title is diplayed in any navigation widget (breadrumb, navigation menu, section list, ...)\n
with a higher priority than long title, except in Site Map.\n
"""\n
\n
portal_type = context.getPortalType()\n
\n
property_list = [\'title\', \'short_title\', \'id\']\n
if priority == \'short_title\':\n
property_list = [\'short_title\', \'title\', \'id\']\n
\n
for property in property_list:\n
if hasattr(context, property):\n
value = getattr(context, property)\n
if value not in (None, \'\'):\n
if property == \'id\' and pure_id == False:\n
return "Untitled %s (id: %s)" % (context.getPortalType(), value)\n
return value\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>priority=\'long_title\', pure_id=False</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>2</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>priority</string>
<string>pure_id</string>
<string>_getattr_</string>
<string>context</string>
<string>portal_type</string>
<string>property_list</string>
<string>_getiter_</string>
<string>property</string>
<string>hasattr</string>
<string>getattr</string>
<string>value</string>
<string>None</string>
<string>False</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<tuple>
<string>long_title</string>
<int>0</int>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5Web_getVerboseTitle</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string>if ref in (\'\', None):\n
return \'\'\n
\n
### Main function that compute the increased id\n
def getCopyId(id):\n
# User ask a second copy of a copied object, so add a number in the prefix\n
if id.startswith(\'copy-of-\'):\n
return \'copy2-of-\' + id[8:]\n
\n
# Return an increased "copyXXX-of-" prefix\n
if id.startswith(\'copy\'):\n
tmp_id = id[4:]\n
digit_prefix = 0\n
for i in range(len(tmp_id)):\n
if tmp_id[i].isdigit():\n
digit_prefix = (digit_prefix *10) + int(tmp_id[i])\n
else:\n
break\n
tmp_id = tmp_id[len(str(digit_prefix)):]\n
if tmp_id.startswith(\'-of-\'):\n
return \'copy%s-of-%s\' % (digit_prefix+1, tmp_id[4:])\n
\n
# Add simple "copy-of" prefix\n
return \'copy-of-\' + id\n
\n
\n
\n
# Get a list of all references in webpage_module\n
portal_object = context.getPortalObject()\n
webpage_module = portal_object[\'web_page_module\']\n
ref_list = map(lambda x: x.getReference(), webpage_module.objectValues())\n
\n
# Get an original and somehow unique reference\n
new_ref = getCopyId(ref)\n
while (new_ref in ref_list):\n
new_ref = getCopyId(new_ref)\n
\n
return new_ref\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>ref = None</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>ref</string>
<string>None</string>
<string>getCopyId</string>
<string>_getattr_</string>
<string>context</string>
<string>portal_object</string>
<string>_getitem_</string>
<string>webpage_module</string>
<string>map</string>
<string>ref_list</string>
<string>new_ref</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<tuple>
<none/>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebSite_getCopyOfReference</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Not used yet, but helpful</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -68,28 +68,26 @@ ...@@ -68,28 +68,26 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string>"""\n
Search for the current user and redirect to the default view.\n
"""\n This code is a good example to show how to redirect to\n
This little script transform any string to a nice URI, optimized for Search Engines.\n the appropriate object in the context of a Web Site.\n
Transformation example:\n
"New Document - 2006 Edition" -> "new-document-2006-edition"\n
"""\n
if string == None:\n
return None\n
\n
nice_uri = \'\'\n
\n \n
for char in string:\n TODO:\n
if char.isalnum():\n - Implement a wholistic view on user information\n
nice_uri += char.lower()\n (documents, membership, etc.)\n
elif len(nice_uri) > 0 and nice_uri[-1] != \'-\':\n """\n
nice_uri += \'-\'\n user_list = context.portal_catalog(reference=user, portal_type="Person")\n
if len(user_list):\n
# We found a user\n
user_object = user_list[0].getObject()\n
return user_object.Base_redirect(\'view\')\n
\n \n
return nice_uri\n # No user found\n
translateString = context.Base_translateString\n
return context.Base_redirect(form_id, editable_mode=editable_mode,\n
]]></string> </value> keep_items={\'portal_status_message\': translateString("Sorry, user ${user} could not be accessed.", mapping = dict(user = user))})\n
</string> </value>
</item> </item>
<item> <item>
<key> <string>_code</string> </key> <key> <string>_code</string> </key>
...@@ -105,7 +103,7 @@ return nice_uri\n ...@@ -105,7 +103,7 @@ return nice_uri\n
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>string=None</string> </value> <value> <string>user, form_id, editable_mode=0</string> </value>
</item> </item>
<item> <item>
<key> <string>errors</string> </key> <key> <string>errors</string> </key>
...@@ -125,20 +123,23 @@ return nice_uri\n ...@@ -125,20 +123,23 @@ return nice_uri\n
<dictionary> <dictionary>
<item> <item>
<key> <string>co_argcount</string> </key> <key> <string>co_argcount</string> </key>
<value> <int>1</int> </value> <value> <int>3</int> </value>
</item> </item>
<item> <item>
<key> <string>co_varnames</string> </key> <key> <string>co_varnames</string> </key>
<value> <value>
<tuple> <tuple>
<string>string</string> <string>user</string>
<string>None</string> <string>form_id</string>
<string>nice_uri</string> <string>editable_mode</string>
<string>_getiter_</string>
<string>char</string>
<string>_getattr_</string> <string>_getattr_</string>
<string>context</string>
<string>user_list</string>
<string>len</string> <string>len</string>
<string>_getitem_</string> <string>_getitem_</string>
<string>user_object</string>
<string>translateString</string>
<string>dict</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -151,13 +152,17 @@ return nice_uri\n ...@@ -151,13 +152,17 @@ return nice_uri\n
<key> <string>func_defaults</string> </key> <key> <string>func_defaults</string> </key>
<value> <value>
<tuple> <tuple>
<none/> <int>0</int>
</tuple> </tuple>
</value> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>ERP5Web_getNiceURI</string> </value> <value> <string>WebSite_redirectToUserView</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Redirect to user view</string> </value>
</item> </item>
<item> <item>
<key> <string>warnings</string> </key> <key> <string>warnings</string> </key>
......
...@@ -60,98 +60,48 @@ ...@@ -60,98 +60,48 @@
\n \n
<tal:block\n <tal:block\n
tal:define="is_web_mode python: True;\n tal:define="is_web_mode python: True;\n
portal_type python: here.getPortalType();">\n portal_type python: here.getPortalType()">\n
\n
<tal:block metal:use-macro="here/global_definitions/macros/header_definitions"/>\n
\n
<script type="text/javascript" language="JavaScript" src="admin_toolbox_cookie_utils.js"></script>\n
<script type="text/javascript" language="JavaScript">\n
<!--\n
// global variables\n
var cookie_name = "erp5_admin_toolbox_hidden_state"\n
var hidden_class = "doNotDisplay";\n
var displayed_class = "adminSection";\n
var elements_to_hide_name = "adminSection";\n
\n
function hideElements (hide) {\n
if (hide == true) {\n
new_hidden_class = hidden_class;\n
} else if (hide == false) {\n
new_hidden_class = displayed_class;\n
} else {\n
return;\n
}\n
// set the visibility of each element\n
element_list = document.getElementsByName(elements_to_hide_name);\n
for (var i = 0; i < element_list.length; i++) {\n
element_list[i].className = new_hidden_class;\n
}\n
// update cookie to remember the visibility status\n
days = 1; // cookie lifetime\n
stop_date = new Date();\n
stop_date.setTime(stop_date.getTime() + (days*24*60*60*1000));\n
SetCookie(cookie_name, hidden_status, stop_date);\n
}\n
\n
function autoHide () {\n
element_list = document.getElementsByName(elements_to_hide_name);\n
hidden_status = false;\n
// compute the global visibility only once to avoid inconsistencies\n
if (element_list[0].className != hidden_class) {\n
hidden_status = true;\n
}\n
hideElements(hidden_status);\n
}\n
\n
function initHiddenState () {\n
hidden_status = GetCookie(cookie_name);\n
// be carefull: cookies contain string values\n
if (hidden_status == "false") {\n
hidden_status = false;\n
} else if (hidden_status == "true") {\n
hidden_status = true;\n
}\n
// restore the previous state\n
hideElements(hidden_status);\n
}\n
-->\n
</script>\n
\n
\n
<h3 title="Click to Collapse / Expand administrator toolbar." onclick="autoHide()" class="important"><img src="admin_toolbox.png"/><span name="adminSection"> Admin Tool Box</span></h3>\n
\n \n
<!-- XXX is this really useful - called how many times ?? - tried to removed but failed -->\n
<!-- <tal:block metal:use-macro="here/global_definitions/macros/header_definitions"/> -->\n
\n \n
<!-- Edit button menu -->\n <!-- Edit button menu -->\n
<div name="adminSection" class="adminSection">\n <div name="adminSection" class="adminSection">\n
<h3>Edit</h3>\n <h3>Edit</h3>\n
<ul tal:define="edit_links python: context.admin_toolbox_getEditShortcutList(truc=context)">\n <ul tal:define="edit_link_list python: context.Base_getAdminToolboxEditShortcutList()">\n
<li tal:repeat="link edit_links">\n <li tal:repeat="link edit_link_list">\n
<a tal:attributes="href python: link[\'url\']">\n <a tal:attributes="href python: link[\'url\']">\n
<img tal:attributes="src python: link[\'icon\'];\n <img tal:attributes="src python: link[\'icon\'];\n
title python: link[\'portal_type\'];\n title python: link[\'label\'];\n
alt python: \'%s Icon\' % link[\'portal_type\'];"/>\n alt python: \'%s Icon\' % link[\'label\'];"/>\n
<tal:block tal:replace="python: link[\'label\']"/>\n <tal:block tal:replace="python: link[\'title\']"/>\n
</a>\n </a>\n
</li>\n </li>\n
</ul>\n </ul>\n
</div>\n </div>\n
\n \n
<!-- Action drop-down contextual menu -->\n <!-- A pop-up menu with all actions which can be applied to\n
<div name="adminSection" class="adminSection">\n the current object and which have no button equivalent\n
\n
We need to setup the actions variable from the request because\n
this template is called from outside the main rendering process-->\n
<div name="adminSection" class="adminSection" tal:define="actions request/actions">\n
<h3><tal:block tal:content="portal_type"/> Actions</h3>\n <h3><tal:block tal:content="portal_type"/> Actions</h3>\n
<tal:block metal:use-macro="here/context_box_render/macros/action"/>\n <tal:block metal:use-macro="here/context_box_render/macros/action"/>\n
</div>\n </div>\n
\n
\n \n
<!-- Document creation panel.\n <!-- Document creation panel.\n
This part is displayed any document apart Web Site and Web Section.\n \n
But if Web Site and Web Section have default page, then it will be displayed anyway.\n This part is displayed for any document apart Web Site and Web Section.\n
But if Web Site and Web Section have a default page, then it will be displayed anyway\n
in order to let the user clone the default page.\n
\n
XXX - This is not so good to create new content in a section\n
Behaviour should be to create content in section / site\n
-->\n -->\n
<div name="adminSection" class="adminSection"\n <div name="adminSection" class="adminSection"\n
tal:condition="python: (portal_type in [\'Web Site\', \'Web Section\'] and here.WebSite_getDefaultWebPageValue()) or not portal_type in [\'Web Site\', \'Web Section\']">\n tal:condition="here/isDocument | python: (portal_type in [\'Web Site\', \'Web Section\']\n
\n and here.WebSite_getDefaultWebPageValue())">\n
<form name="tool_create" method="post" action="WebSite_newContent">\n
<input id="document_action_mode" name="document_action_mode" value="clone" type="hidden"/>\n
\n \n
<h3>\n <h3>\n
<span id="create_new_document_title"></span>\n <span id="create_new_document_title"></span>\n
...@@ -163,56 +113,50 @@ ...@@ -163,56 +113,50 @@
\n \n
<div class="field">\n <div class="field">\n
<label>Title</label>\n <label>Title</label>\n
<div class="input"><input class="input" size="15" type="text" name="title" tal:attributes="value here/getTitle | nothing"/></div>\n <div class="input"><input class="input" size="15" type="text" name="title"\n
tal:attributes="value here/getTitle | nothing"/></div>\n
</div>\n </div>\n
\n \n
<div class="field">\n <div class="field">\n
<label>Page URI</label>\n <label>Reference</label>\n
<div class="input"><input class="input" size="15" type="text" name="reference" tal:attributes="value here/getReference | nothing"/></div>\n <div class="input"><input class="input" size="15" type="text" name="reference"\n
tal:attributes="value here/getReference | nothing"/></div>\n
</div>\n </div>\n
\n \n
<div class="field">\n <div class="field">\n
<label>Version</label>\n <label>Version</label>\n
<div class="input"><input class="input" size="5" type="text" name="version" tal:attributes="value here/getVersion | nothing"/></div>\n <div class="input"><input class="input" size="5" type="text" name="version"\n
tal:attributes="value here/getVersion | nothing"/></div>\n
</div>\n </div>\n
\n \n
<div class="field">\n <div class="field">\n
<label>Language</label>\n <label>Language</label>\n
<div class="input"><input class="input" size="5" type="text" name="language" tal:attributes="value here/getLanguage | nothing"/></div>\n <div class="input"><input class="input" size="5" type="text" name="language"\n
<!-- Not a required widget (make the form more complex) -->\n tal:attributes="value here/getLanguage | nothing"/></div>\n
<!--select name="language" size="1"\n
tal:define="language_map python: here.Localizer.get_languages_map()">\n
<tal:block tal:repeat="language language_map">\n
<tal:block tal:condition="python: document.getLanguage() == language[\'id\'] or language[\'selected\']">\n
<option tal:attributes="value language/id"\n
tal:content="language/id"\n
selected/>\n
</tal:block>\n
<tal:block tal:condition="python: not(document.getLanguage() == language[\'id\'] or language[\'selected\'])">\n
<option tal:attributes="value language/id"\n
tal:content="language/id"/>\n
</tal:block>\n
</tal:block>\n
</select-->\n
</div>\n </div>\n
\n \n
<div class="field">\n <div class="field hiddenLabel">\n
<label>Type</label>\n <label>Type</label>\n
<div class="input">\n <div class="input">\n
<select class="input" name="new_portal_type" size="1" onchange="setCreationMode(this)">\n <select class="input" name="new_portal_type" size="1" onchange="setCreationMode(this)">\n
<option value="None" selected>&mdash; Same as Current &mdash;</option>\n <option value="None" selected>&mdash; Same as Current &mdash;</option>\n
<tal:block tal:repeat="portal_type python: here.portal_types.objectValues()">\n <tal:block tal:repeat="portal_type python: here.getPortalWebDocumentTypeList()">\n
<option tal:condition="python: \'web_document\' in getattr(portal_type, \'group_list\', [])"\n <option tal:content="portal_type"\n
tal:content="portal_type/id"\n tal:attributes="value portal_type"/>\n
tal:attributes="value portal_type/id"/>\n
</tal:block>\n </tal:block>\n
</select>\n </select>\n
</div>\n </div>\n
</div>\n </div>\n
\n \n
<div class="field">\n <div class="field hiddenLabel">\n
<label> </label>\n <label> </label>\n
<div class="input"><button alt=\'Clone &amp; Edit\' id="clone_action_button" title=\'Clone &amp; Edit\'><img src="admin_toolbox_clone_document.png" id="clone_action_icon"/> <span id="duplicate_document_action">Clone &amp; Edit</span></button></div>\n <div class="input">\n
<button alt=\'Clone &amp; Edit\' id="clone_action_button" title=\'Clone &amp; Edit\'\n
name="Base_cloneContent:method">\n
<img src="admin_toolbox_clone_document.png" id="clone_action_icon"/>\n
<span id="duplicate_document_action">Clone &amp; Edit</span>\n
</button>\n
</div>\n
</div>\n </div>\n
\n \n
</fieldset>\n </fieldset>\n
...@@ -232,6 +176,7 @@ ...@@ -232,6 +176,7 @@
var action = \'clone\';\n var action = \'clone\';\n
var action_name = \'Clone &amp; Edit\';\n var action_name = \'Clone &amp; Edit\';\n
var icon = \'admin_toolbox_clone_document.png\';\n var icon = \'admin_toolbox_clone_document.png\';\n
var name = \'Base_cloneContent:method\';\n
var clone_class = \'\';\n var clone_class = \'\';\n
var new_title = \'\';\n var new_title = \'\';\n
\n \n
...@@ -241,12 +186,12 @@ ...@@ -241,12 +186,12 @@
action = \'new\'\n action = \'new\'\n
action_name = \'Create New &amp; Edit\';\n action_name = \'Create New &amp; Edit\';\n
icon = \'admin_toolbox_new_document.png\';\n icon = \'admin_toolbox_new_document.png\';\n
name = \'Base_newContent:method\';\n
clone_class = \'doNotDisplay\';\n clone_class = \'doNotDisplay\';\n
new_title = \'Create New Document\';\n new_title = \'Create New Document\';\n
}\n }\n
\n \n
// update action dependent values\n // update action dependent values\n
document.getElementById(\'document_action_mode\' ).value = action;\n
document.getElementById(\'create_new_document_title\').innerHTML = new_title;\n document.getElementById(\'create_new_document_title\').innerHTML = new_title;\n
document.getElementById(\'clone_document_title\' ).className = clone_class;\n document.getElementById(\'clone_document_title\' ).className = clone_class;\n
document.getElementById(\'duplicate_document_action\').innerHTML = action_name;\n document.getElementById(\'duplicate_document_action\').innerHTML = action_name;\n
...@@ -258,12 +203,11 @@ ...@@ -258,12 +203,11 @@
var button = document.getElementById(\'clone_action_button\');\n var button = document.getElementById(\'clone_action_button\');\n
button.alt = action_name;\n button.alt = action_name;\n
button.title = action_name;\n button.title = action_name;\n
button.name = name;\n
}\n }\n
-->\n -->\n
</script>\n </script>\n
</form>\n
</div>\n </div>\n
\n
</tal:block> </tal:block>
]]></string> </value> ]]></string> </value>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.DTMLDocument</string>
<string>DTMLDocument</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>admin_toolbox_cookie_utils.js</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>raw</string> </key>
<value> <string encoding="cdata"><![CDATA[
//******************************************************************************\n
// Cookie Functions -- "Night of the Living Cookie" Version (25-Jul-96)\n
// Written by: Bill Dortch, hIdaho Design <bdortch@hidaho.com>\n
\n
\n
// "Internal" function to return the decoded value of a cookie\n
function getCookieVal (offset) {\n
var endstr = document.cookie.indexOf (";", offset);\n
if (endstr == -1)\n
endstr = document.cookie.length;\n
return unescape(document.cookie.substring(offset, endstr));\n
}\n
\n
\n
// Function to return the value of the cookie specified by "name".\n
// name - String object containing the cookie name.\n
// returns - String object containing the cookie value,\n
// or null if the cookie does not exist.\n
//\n
function GetCookie (name) {\n
var arg = name + "=";\n
var alen = arg.length;\n
var clen = document.cookie.length;\n
var i = 0;\n
while (i < clen) {\n
var j = i + alen;\n
if (document.cookie.substring(i, j) == arg)\n
return getCookieVal (j);\n
i = document.cookie.indexOf(" ", i) + 1;\n
if (i == 0) break;\n
}\n
return null;\n
}\n
\n
\n
// Function to create or update a cookie.\n
// name - String object containing the cookie name.\n
// value - String object containing the cookie value. May contain\n
// any valid string characters.\n
// [expires] - Date object containing the expiration data of the cookie. If\n
// omitted or null, expires the cookie at the end of the current session.\n
// [path] - String object indicating the path for which the cookie is valid.\n
// If omitted or null, uses the path of the calling document.\n
// [domain] - String object indicating the domain for which the cookie is\n
// valid. If omitted or null, uses the domain of the calling document.\n
// [secure] - Boolean (true/false) value indicating whether cookie\n
// transmission requires a secure channel (HTTPS).\n
//\n
// The first two parameters are required. The others, if supplied, must\n
// be passed in the order listed above. To omit an unused optional field,\n
// use null as a place holder. For example, to call SetCookie using name,\n
// value and path, you would code:\n
//\n
// SetCookie ("myCookieName", "myCookieValue", null, "/");\n
//\n
// Note that trailing omitted parameters do not require a placeholder.\n
//\n
// To set a secure cookie for path "/myPath", that expires after the\n
// current session, you might code:\n
//\n
// SetCookie (myCookieVar, cookieValueVar, null, "/myPath", null, true);\n
//\n
function SetCookie (name,value,expires,path,domain,secure) {\n
document.cookie = name + "=" + escape (value) +\n
((expires) ? "; expires=" + expires.toGMTString() : "") +\n
((path) ? "; path=" + path : "") +\n
((domain) ? "; domain=" + domain : "") +\n
((secure) ? "; secure" : "");\n
}\n
\n
\n
// Function to delete a cookie. (Sets expiration date to start of epoch)\n
// name - String object containing the cookie name\n
// path - String object containing the path of the cookie to delete.\n
// This MUST be the same as the path used to create the cookie, or\n
// null/omitted if no path was specified when creating the cookie.\n
// domain - String object containing the domain of the cookie to delete.\n
// This MUST be the same as the domain used to create the cookie, or\n
// null/omitted if no domain was specified when creating the cookie.\n
//\n
function DeleteCookie (name,path,domain) {\n
if (GetCookie(name)) {\n
document.cookie = name + "=" +\n
((path) ? "; path=" + path : "") +\n
((domain) ? "; domain=" + domain : "") +\n
"; expires=Thu, 01-Jan-70 00:00:01 GMT";\n
}\n
}
]]></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.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string>global edit_links\n
edit_links = []\n
\n
# Generic function to get a consistent icon name\n
def getIconName(portal_type, suffix=\'\'):\n
return \'admin_toolbox_%s%s.png\' % ( portal_type.lower().replace(\' \', \'_\')\n
, suffix and (\'_%s\' % suffix) or \'\'\n
)\n
\n
# Generic function to make edit links consistent\n
def addLink(doc, portal_type, level):\n
global edit_links\n
# Remove trailing slashes\n
doc_url = doc.WebSite_getDocumentUrl()\n
while doc_url.endswith(\'/\'):\n
doc_url = doc_url[:-1]\n
for mode in [\'editable_mode\', \'ignore_layout\']:\n
new_link = {\n
\'doc\' : doc\n
, \'portal_type\': portal_type\n
, \'url\' : \'%s/view?%s=1\' % (doc_url, mode)\n
, \'label\' : \'Edit %s %s%s\' % ( level\n
, portal_type\n
, mode is \'ignore_layout\' and \' in ERP5\' or \'\'\n
)\n
, \'icon\' : getIconName( portal_type\n
, suffix = mode is \'ignore_layout\' and \'erp5_edit\' or \'\'\n
)\n
}\n
edit_links.append(new_link)\n
\n
\n
\n
# Add "edit current object" link\n
current_doc = context\n
current_pt = current_doc.getPortalType()\n
addLink(current_doc, current_pt, \'Current\')\n
\n
\n
\n
# Add "edit parent section" link when a Web Page is displayed\n
if current_pt == \'Web Page\':\n
parent_doc = current_doc.aq_parent\n
parent_pt = parent_doc.getPortalType()\n
if parent_pt in (\'Web Section\', \'Web Site\'):\n
addLink(parent_doc, parent_pt, \'Parent\')\n
\n
\n
\n
# Add "edit default page" action\n
default_page_doc = current_doc.WebSite_getDefaultWebPageValue()\n
if current_pt in (\'Web Section\', \'Web Site\') and default_page_doc:\n
addLink(default_page_doc, default_page_doc.getPortalType(), \'Default\')\n
\n
\n
\n
# Add contextual webdav access link.\n
# The \'webdav://\' protocol is currently known to be supported by Konqueror only.\n
context_url = current_doc.absolute_url()\n
url_sep_index = context_url.find(\'://\')\n
protocol = context_url[:url_sep_index]\n
url_list = context_url[url_sep_index+3:].split(\'/\')\n
is_secure = protocol is \'https\' # TODO: don\'t guess; use preferences instead\n
base_host = url_list[0].split(\':\')[0]\n
# base_port = url_list[0].split(\':\')[-1] # Unneeded parameter\n
doc_url = \'/\'.join(url_list[1:])\n
webdav_prefix = \'webdav\' + (is_secure and \'s\' or \'\')\n
WEBDAV_PORT = \'1980\' # TODO: put this constant in preferences\n
webdav_host = \'webdav.%s\' % base_host # Medicentre case\n
webdav_host = base_host # Generic case\n
\n
# Add to dict\n
portal_type = \'WebDAV\'\n
new_link = { \'doc\' : current_doc\n
, \'portal_type\': portal_type\n
, \'url\' : \'%s://%s:%s/%s\' % (webdav_prefix, webdav_host, WEBDAV_PORT, doc_url)\n
, \'label\' : \'Open %s %s\' % ((is_secure and \'Secured\') or \'Unsecured\', portal_type)\n
, \'icon\' : getIconName(portal_type)\n
}\n
edit_links.append(new_link)\n
\n
\n
return edit_links\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>truc</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>truc</string>
<string>edit_links</string>
<string>getIconName</string>
<string>addLink</string>
<string>context</string>
<string>current_doc</string>
<string>_getattr_</string>
<string>current_pt</string>
<string>parent_doc</string>
<string>parent_pt</string>
<string>default_page_doc</string>
<string>context_url</string>
<string>url_sep_index</string>
<string>_getitem_</string>
<string>protocol</string>
<string>url_list</string>
<string>is_secure</string>
<string>base_host</string>
<string>doc_url</string>
<string>webdav_prefix</string>
<string>WEBDAV_PORT</string>
<string>webdav_host</string>
<string>portal_type</string>
<string>new_link</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>admin_toolbox_getEditShortcutList</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>admin_toolbox_web_page.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAACXBIWXMAAAsTAAALEwEAmpwYAAAA
BGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VG
AAADs0lEQVR42mL8//8/w4wZM/4zUBFkZGQwAgQQC4yj5pTBwPyPgeHHbwaGv0BrPn79y3D27jeG
T9//AMX+Mnz7+Zfh5x8Q/Q+IfzF8//UXiP8wfP/zj+EnUO7t198MXiYSDF6cm8HmAQTgcYxyAIRB
GPpkjrlE739VjQHsh9kHtGnoCwvcNF3r0aEJPPbiHMX2+65QLKYa3gq34LBkRnBLyeTyd339CSC4
wXZqDAyPn75iYOVnZfj+/ScDMwsjg5M6L8OnLz8YmBgZGRgZWRg+ff4MVisoIMzAy8fL8BfoA2BI
As38y/APSPNyczLMmwMxDyCA4AYzAvGn9y8ZODk5GX79+sXw7etXhr8/BIGWfAfLMzExMvDx8zHw
8vAycHFxMrCAvMfGADb4/38mIP4HdAwinAECiAU50BUVlYAGMDH8/QtyCTAYGBnB4iA2CLCzs4Pp
30CX/vj5BSz+DxgEIJqVlZWBkwlhHEAAoRh8//59sMEwA2GG/vjxAyzOxcXF8OXLF4hGFhawup8/
fzL8+fMHrM7IyAiuDyCAUAwGBcPv378Z2NjYwBq/ffsG1iwsLAw2ACTGy8sLVgvzFcgXzMzMYAtB
lsMAQACe6BgLAAACAej9z+vZ9YdYSykvjAgkhLjpWDzik6eJDLOsdxwH9FoGjDsngBDJDahQXFwc
bADIQJBikCaQC0G+APFhBoAMBqkDAZA8LD6QgxAggFCCAhZuMENBYcrHxwc3FBbmIENhLoUZiGwo
CAAEENxgkGKQl0EuArkQFKag4AEFBSj5wXwBci1IDsYGWQzig+S1tLTgBgMEENxgUMy/f/8e7ioQ
BlkAMhgUTOC0DWSDAMgQkBjIQJA4yAEghykrK8MNBggguMEgb8vIyEAzAxM8fYJobm5uuAZYcgTJ
wdI8SA0oGGHpHAQAAogFOb1+hmZZkCKQYpAmEODn5wdbDPMJLDxh8tjCGCCAUMIY5DVwzgIGAch2
UPCAwKNHj1DEeHh4GHbt2oW36AQIILjBoLB6/vw5WDPIEhCGpWeQa0F8UBiDMhEsLmJjYxk4ODjg
rp01axZDZmamKrA8ZgAIILjBoMQuICAA1ggCoGABpWspKSm4l5GT5fXr1+HBAgprYGUBNhQofQek
BiCAUDIIKOuCFIEsAYWrmJgYOAXgAqDgQTLUAmYoCAAEEEoGAeUikEKQJbBkhQ+AggfJ0JPIcgAB
hGIwyMWkgNWrV4MM1QMyL6PLAQQQ3GCQzaQCoKEqQOouNjmAAAMA2QLS53NAjtkAAAAASUVORK5C
YII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <long>1085</long> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>admin_toolbox_web_page_erp5_edit.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAAGzs1ytAAAAB3RJTUUH1gkUCA8CvV3bcAAABEtJ
REFUOMu1lE1sVFUYhp9z59xhpsPMtFN1IPybUKH+JMVWXKlYJIGFiRhMxIWuCE2MLnSjCQvdSWL8
izZaNTGI+APRqAH5ETE2Umi7GApDCS1ptLVQKZ1OZ+bOvXfu+VyMbWlsFyx8d9/Je77vPe/33qsA
2tvbBUAB9Pb2iud5WDv3dEhZJ9nfeQU1TQFQmUxGPM+jp6cHXQkncYxHtpisNhgYuCxlx2HFiuXE
4wk+/KgDtXNPx8z9m2GxAOZMnIGISE/3Wcle6BMRkYrviqpUKpLNZimVSgRBQCQSmX+gyk0V5eV3
DxJdZLOjtZnhsYkFmACnLom4nqHgGE73T3Gj6DLlVLiWKzDpeIzecHmtubdKFhHJZrMopRARPM/D
GIPWGs/z8H2fTCaDnh6RTqfxPI90Oo0xZuYSgGVZVfLOPR0yWXB44Z1vaVyzlKHRcV55dit/Xc/R
fuhXXn1uG29/eYKyZ1etVKravXn9apRS1CViqKpCxibyKKWIhO0F7J0HbW1tSgPc17qbvGPoulRg
vOCSK/lczztM5MvkSj73N9QCVB+YcPuos0M0bAjjOA61dUnSdyxHa40xghXSfPE8024oQOF6Pq7n
UyyWOdd3Adu2KRaLNDU1zWYlCAK01iilCIKAXC5HsVjEdV1EhHA4PCtj2bJl1UJr1q5di4gQBAG+
72NZFupfuxaM53zQACvTKeqTMXY98RBtb+yntWUd8ZoolSBgZTrFZ4dPU3TcquanNjfz4L13AvDm
izv4ubuf5OIoxgiLaxbx+q7HZx/49YkefuzsI2RZvH/wFC2Nq5kqOhz+vY+9+45ijNy6ZjX9mTc8
upuQgbIPgcBkMaB3sETeqVD2A0pugFsJKLmGkuvheAGOV8GpGFw3YLzos615CduiP8xGA2BTA/w5
MoZt2ziOS6hesfXuOPmCg6UUSoXIT5UAqKtNEU/ECSoBImBMgBGIx6J8+vFNLk9Lr6+NYVkW8Rob
EUEpQypRg0jVgdtTCabDEfgOSgQxBiVCxLbRlpm7vmlcvXoV3/cJh8NorSmVqgqj0Siu66K1JgiC
meYiQigUIhQKUSgUaGxsnL9xLBbDGINtVxVrrRERfN+fOaupqcFxHCyr+heMx+Mz57Ztzy7vVjZ9
K9AAT295gI33rGFkLIfnV0glYogIdYkYg8NjRBbZGCN0Z4d4bGMjrleh4LhEwpqTPf2sWlpP4+ql
BEYYGr3OviNd1SAfOHaWsNZ8dbyb9745ybmBYfZ+fpSwHeKT7zs5fvYi9ckYXeevMDw2Qd/gCG8d
OM4f126wckmK25KLOXYmyweHfmHfka7/egxgjDA6PjlTh23Nk5s2kLk8jOtX5nD3/3RmTv3SM1s4
c/4KnZmBqsfbH2nirlVLKHs+IhAJa2ytMWL4e2KKj777jdaWdWxuWU+p7JMvORzrynJxaJTd2x8m
bGuUgpPd/fQNjvy/y/sHwqQ9+coPx3sAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <long>1175</long> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>admin_toolbox_web_section.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAAK/INwWK6QAAABl0RVh0
U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAATeSURBVHjaYvz//z8DLQBAADHSymCAAGIk
VUN540mFf3/+z2dlYzL4/Pm34uQu6w/Y1AEEEEmooulkQeeEi++v3/ry/879b/+zSg6vx6UWIIAY
QEGBC8NAbespg6rmU+f3Hnjx/+vX//9fvfr9//37v/+nz7v1Pzn3UAA2cwECiFE+8fr/AAcxhn//
GBh+/WVg+P3nH8OvPwwMa7Y//fB9i75gQ+eZBgUZgXpXJ3kGfl5Whj9//jP8/v0XTHNwMDPUtJ38
8PHTT8WlsxxRggQggBhty+79769XBBv2A2gwiP75m4Hh6Z3vDA+P32IIcpFlMDEUAhoGlPvFwPD3
L8JgkK/uPv7C0Dzp0obdVxgLGS45PIAZDBBALOip4g9Q87NTTxl4//xgqMvTZ+DiBBmGPRj//fvP
oKMmwGBrKBTw79/bhXsvMcANBggglr//EAZ/ePSd4enZBww+LgoMCnKceCPy/Zc/DBM3vGQAOhvo
A26GW+/e9zPoHzQAhylQDCCAWJBd8+nFJwYrU0mChn74+o/Bu/YWg4uNFIOSLA/YLAV1CYXPX/8W
/f7D8GFi7xlegAACuhihgUlajKFq3hUGc9N/DP+BFv799xcYDP8YgOmW4R8wbP9A2VtPvGMI8ZRn
YBMVYDj4kAFsMDsHA8PF8x95H++98wpo1AGAAEIJivV7XjMoqIoy6EmzMAiKcDF8A8p9/wXCDAzf
fvxn+Pb7H8OPHwwM6WoSDD9ZWRhO3YMYysjEwPD24XeGV8cf/GX490WBgfF/C0AAoRi85/ArhltL
dBjevvrNwC/MwvCPh4Hh9WcGhjdA/PA5A8OX90D2TyAGuundh78Mb17/ZPj29gvD86uvGD48+/qB
4QfjYwbev+oMTP8PAAQQy58/EEP3n/rOYKvLx8AJ9BKrGCvD+VufGETl+BhuPWFguAP07ovXfxhe
v/nL8PINiP7D8O3Dd4bvH74CDXzP8B/oK4ZvDK8YWP6yAAPwGsMttwcAAcTyD5rcDp58xxBkLcQA
jBeGl0BXvWLiY7hxAeiz/8zgYACl4R+//jH8BBry4+c/oGu/Mfz+Bkzc3NxAs4AaGICY+ZcAw/9/
s0DmAQQQ0z9ghHz6ysBw+doHhnAXHmCyYWB4AsTAoGR49/kfw8cvQMN+Aw0DGvgLaM6Hj78ZXrz4
xvCXhZ2BiYMdNbkw/+Fn+MuwAcQECCBwqthz/DODnR4/w4svDAw8QM9IAoODB5gq+CRZGD6++8Xw
h4WRQejfHwa+3z8YeMV/MSgLMDP8+/mT4d+3nwx/gNn0+zdg8Lz9J/zw8e9XDA88L4AMBggglj/A
ZHTg2FuGskBxBg1eqM2CDOAs/OMHKPEzMfz8+QeI/wKDgwmIWYDif4DiIJoTyGcFYg6GdYc/Ci94
9H8zzPEAAcT0FWjbg4efGfzNUTMFEzAJsbAwMTAzMwLZTFA2E5wNokFyMPaRq9+Bae//Rph+gABi
efvsK0NWlDxG7mJmhmBgUQNMq0AXAwP4+4+fDN+//2b49u0XMAJ/MvwAsn//BsXBH4Y7t78BI8d7
A0w/QAAxMlif+K+uysMgwM0MjND/4ATPAKb/gXPdX6DGP8A0+RdYnP4F0n/+AEs2YOn2D8gH08Dc
+fXbf4afr/5vYHjqHQgzGCCAaFbnAQQYALG5hI4vT2e0AAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <long>1356</long> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>admin_toolbox_web_section_erp5_edit.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAAGzs1ytAAAAB3RJTUUH1gkUCBAF7mNATQAABAZJ
REFUOMvNlWlslFUUhp9vmJkuM9DNyCbtQGOARgggBU0QWauJSwADKuoPY0KUBDVhDYFQIBogElEU
EwxuSFBbU1RktQtQS2c6jcBgp4G2NNBpZbTMtGW2bzv+GEOZBEgwkvj8uzdvzn1zznty4WYeXd4i
IiJLtraJdWRmNXXnwG5xk8rOPU0SCpnCuOpSpdHfLpG4SlmlN1UViYi8tuzkPABl8fpPhVtg4V+x
drPnt1DISJas6xEREYnHRX6/EJURJTWXbvmgEu6LyIoPy8lIs7Fw9mQ6gqHbW7slqze6XWs3e0Ip
l4+tapO6HpEjQZFdJ6Li9nZLPC4SCpnS2anKyfpuYXyNC0B5+M0W2bm5kI2lPqZMGo6qaegJEzVh
kJbtxBfNxmaHg+81tlpGZ1VTZImR53STpp2mu+soS5+xsmhGjM7WcrY/0cmQq1/x8vNnCi0AipK0
NHmsC0VRyBnkQCF5GQz1oigK6XYb/w0r19dXL1v1a/YdRevf8UyorPlDgkFNPvnsQmqvvRGRqmsi
PwREVm85I4Yh0tsrEgxqEggkZO7i6oob4/NGRC5fjDExB1z5GRgGRKMQj+us+6IDTTX4vCywEcNI
ipvahBZfCF0z0BIGqmrwU203L7wynoZL0Ozv4Upl44G7yoAVIH9wLnlZDpbMn84bW/cxu3gMAzMz
0A2D/MG5fHnoNJFYIpnvRXMm88i4UQBsf2shlQ3NZDkzME3BmZnGpiXP9i/Dd794OVjrY4DFwsfl
NRQXueiLxDhU52Pb3qOYZtLp3eX2f8GaTe63t+44G/JfuC4tl6KydMWpittplYJX/TJvxv2YJqgG
aLqJqkP54UA4/vOEnA1bGkpdD2RvmDurgKyBNnRd0DQDXRfS0wew7l13uKc3MXLf7pnhlMLTVrbK
jtJRqDrE/0nQFU8Apx5nwdOFZGaAYYCug6qCYfQXNgwTh8PGR3vOc6Kxe37lN7MO3MiFqvXP47Ln
KuOGpfHU/OF3bEk4YlKyxs+cacMYNcKJpfBBprsKKyY+2dOn6YQ/2O4deM8mbQV4sWQKUx8aSSAY
RtV0cgc5EBFyBjlo7QiSnmbDNIWGpnbmTi0ioepcjyVIt1up8jZTMDSPItdQDFNo7/qLvYfrk0He
f8yD3Wrl2+MN7Cyr4lxLB9u+PordNoA9P9Zy3OMnL8tB/fk2OoIhfK0B3t9/nMtXr5E/JJf7spwc
czex6/tq9h6u73d8M6YpdHX33DjbbVaemzmJsxc7SGh6inbfkdSPbPlLJbjPt1F7tiW5TQtmTGR0
wRDiqoYIpNut2KxWTDH5M9TH7gOnmF08hjnFY4nGNXqjMY7VN+Fv7+L1BY9jt1lRFKhqaMbXGri3
a/o3hx4chrkcrqAAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <long>1106</long> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>admin_toolbox_web_site.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
WXMAAAsSAAALEgHS3X78AAAAB3RJTUUH0wgcEiEg2pIl8gAABNFJREFUeNq1lVuIlGUYx3/fYWb2
MDs7u+q6u667q+H5lFm6lkRZGEQHDIQQlfTCG6OLwIuKgi4iiKguuiiIIKKguyKpjCIIwgxbXc1M
213HPc7O7py+b2a++b731MWqKRUdoAdenpv3/fF//y/v/4H/qZz/cuiFlz5bv+OevQ93L10zcn7o
m+jP9rj/BvjiK8e7mpsSe5f3L3rOse3mUjmbAN4F6v9J8cuvf+3s3LX/9u6u9Jvbbut7YvOGnpbe
nrQzmQ2WSZ36bvTXkznA3KR4yaETA0sXxJ5PNjqW0ob5BfmyqI5lJt46tNkaaU01HO7pbjuwY2D5
EsdxkEJhDOy6d93KK2PZI7O5sWeHTn08cyPc3dDf0vnkI0seXLM2TSghEBBI+Gm0xuefmIGNq93s
3Vv7b+9b2o5SoJTGmPm+oK3JHdi6Zs/Q6K4h5ha+R+ad8jW4izYIA76AUEEooVoRtNbyHHlgcc+W
dZ096dbG69AbSynNHZv7kt8PZY+eGilPlDMcA0IAV2tQZv4GRoM3mYeSz7b+Vpb1tgGg9R99r9YV
FyeqWLbNshVLOvo7Mw+f3fxGxbidPkp6rlIGqeb1y0gTTs9y//Z+WpINf/mY1VDx1ueTjMxJFrQ2
oU0i1n/btj2L1qo7s7M1+cv5sUFXmnkrAGINNldqcT49OUvHwiTGAMagtUEpkEKjtObsqM+4b7H9
rjXMVBy0gZZe3TQ8Wuzyhi/4sjKWd7U2SDVPrtXh+E91dm1IENoSrUEYgxAGoQxCGoSEeKqFLX1t
nJ128OpgWRBVQk59k2maGZ2u4I/+4kp51QoDp84X2NSfZN/ODmqhIrmwgUIEM2XIlWAqr8kVNbmS
oXhJ41Vr1Ct1ZjNzZmQwE4TlWpEmbwr/wkVXaYPUEEnDjz+XOHxfB7oxRt6T+GVBIYgxPKmZzinG
ZyTTM3XGp2tkpY8pBFQLHkFBGFWsl3C0QVUzVM5NuUobhDZkZ+s4UrOsM4GvoOg0cPlShFKGuZJm
rqTIF0KGC0Wyqkr5zg6cQiOWSWNdytvWcS9hLGEIMicRpbJ9TfF4NmT54jiR4zJehlzFohLZFP2I
UEAooOyHTKgYpd0raMwrFl4osXjYo6stSerghnZnVaqF/PEfgKorNQgNZ84WeHRbO0JZNFuwOA6J
VodcJEg2GOLNgozxkAbcvKZrskZKa6TUKMcl3Zm2JlZ1Uhx5bL3l7TjvKmnI5gXFQo2dq/tIN3P9
U0SRJuq1CENBFAlGZ6He3U1CODx0a4zdPQ0IIbgSKD7QBrVzdaIY2/eM+Xbwsq2M4cSZPPdvaiPd
/HvYWRY4jo3jONd7p61oH8wT5iy+8FsZqcRxbJs2LRCXc0G8wRWUhaZcCxzrlv2ri+Xg8dcOr6S1
6WbwtTwQQiCEYGm7JhHMctJLMeemuFByCaRkrqY4nW8uZVV7vBbZSYr+lDuXr4pUMua9+tGwHXMs
jDYYA8YYtNbISBCG8+B6PWRwSsTlwLo4JuRirIXhKykStkZY9iIxKUH6Hpaesq6G/SJgwd8mvuVY
zvqntuiBR45S9qfMXRu3E/QmSSpNt2VxLjB8duxDPO9p64ZJ8o/nn9O9v1FNvR9w8Ku32brxAF+e
Psatbb0ULcknPxzi8pFzvwGZ6MBrark5iAAAAABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <long>1348</long> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>admin_toolbox_web_site_erp5_edit.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAAGzs1ytAAAAB3RJTUUH1gkUCCYFZ3/ROAAABIpJ
REFUOMullXtMllUcxz/Py/O+XIW4JKByUVsBw5oKSs55CXNuLYbXmTbbrNnN5Yb1R2YuLXORzk2r
rVKbqUNFQ5uCoCAlIjdFLgIqILKXEOQFX17e+/Oc0x8siw3XqM9/57ez8/vud77fc+CfpH9Snyml
lBv2t0k10lCZV14fgMlVyUhOFzZLq9Urk9eXNSnXmzuk3eUht7gGJq6/ljZvy/X8jVtOx1sHvTJr
y4lDAMqaT3+UjIKBsaAs2labb37otmdnBL84J3XyxIgIf4NSa5fyBX/QNNh6qIXb3R7HqA2VRza7
/HDfKfx9jaxMT8HcO/BkaaOy+5vSzWfzm92A3+Piks8aMm/apfzdImXOb53S0u+QHo+UVqtX9vTY
5b37VhmSums5gGp36Uhg53dNrJrzNCdqbDhcVhwuSUBEOGUdAcxdt+nUecfUB4YYY3XeZOEk3FNO
9/0qblRfYOkMHxY+O8SNyz/zxfw/iB7M5fUVg1EGAEUZlpSSGI+iKIQGB6IwXOwdGERRFPxMRv4/
27MLo385d6v//c0H3xsx5LSPas77+xoUjyaprbu3Z/eK6PTVy2Z+LAX09g1pq9e+FVNXc+YBAHm1
A7JyUMqC+x5ZdKVd6rqUQ0O67Otzye7uIZm1vcgM+AIox6v75aS4EKb5eQge54cQ4HQKLFYXWT+1
ExrsT0fX4N3S0pYq1alJvBg4UGIhONCEwyNwuAVCGgickozFDQ1N16dq3aV7x+QBFSA2MozwkEA2
LJ3Hu18dIz01gXEB/mi6TmxkGIfzr2F3uof9vWpRCmnTpgCwZ9NKiqtbCAnyRwhJUIAvOzZk/B2G
k5dqOFfWgI/BwLenSklNisdmd5Jf3kD2kUKEGFY6Js0+/+WGt+3MT567YM2rE2IS227VXfY8cRj/
xq69xT5CiBlRkSFfPp80Ye6U+Ag/kBw9GZRl6ftg3aX8fTcBfYSNluxozNyYMTEvMekp3Bo4veDU
oLHdQcHZevMrCeqDebPiU+JiwtB10HWB16uj6zqKolBa3jr0/fGyrcUVNw7TccAKSABVaBKXkNi8
4PJCX6cFHtlYHBfC25+nTQImCcHjQ//C7tK5bbYTHBkZlJkx/+s+uzq9PjQ5R6pRNnRtUHVrAqc2
3EYxwJ02K+ODjLT2w13LAEiJEBJdB80r0IWgvt3GnT6dmSnP0DPkgwgab3zpzYQ3YtsHltddbbZ1
tlzNHdsLNQZUgNcWz2J28mS6eh/h8WqEBQcipSQ0OJA2cy9+vkaEkFQ3dfDy7CTcHo0hpxs/k0pJ
TQtx0eEkxUejC0lHdx9HCiqGjZxTVIVJVTlxsZr9uSXUt5rJPlqIyejDwV/LuFjVTHhIIBWN7Zh7
B2ho62JvzkU6e/qJjQojIiSIosomvjt9mSMFFaPbTQhJt8X6eG0yqixfOIO6u2bcXm3E3mMXRn5k
m9cuprKxnbK61uE0LVswnefionB5vEgJfiYVo6oipODhgI0fzlwhPTWBRamJOFxeBh1OiiqaaO7o
5p1l8zEZVRQFSqpbaGjrGntMx8KfbmtMkaKdjYMAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <long>1238</long> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>admin_toolbox_webdav.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAAGzs1ytAAAAB3RJTUUH1gkUCCkR+j0ZigAABeVJ
REFUOMuVlWtMlGcWx3/vvO8MlNvAXIDhNnIRKNKKu4DWrpYoFpS6bb0ka1Ol3WzX7Labaqwx3dBs
srHZW1faaGvTrjSbdqviatZaqoIKClrRVcErykWuIwMDDMPMMMPMy7MfimaXph/29+08OTnnyTn/
fw7MELP0/QLKDzs/OdUVEEdPdwsAhBDi+c37vwusr1yQATQ2IURZjhQEDJqm1infweoGUFLKALjp
FO59zR7H3nqPML/q9gEogKTVED7oJfzmVyfo/2RNSLF775cP20tAGfAYkA4g818s3X7t41G/+ZSy
oU6U26+1FT+7NOvlA7USqu5uFEIIcdUtxNZvhOjuHxOk3pjSdHnxj3nBeaIKa2I0XWfTtJqCldsi
VMBgSiFlyXu8U1n7XYPMtzqqgTAgAwhhNnl/EdJP3nW8tPvfIvDC7kGxqXKoNzTv3a0AmmX7hhcJ
IUSfEOKWT4jlmePTq5ca/9FwE6XbFUfzDVMy0sJyQKfIntFwMPHpOR8rc0OZl6XHfvoiby82E/mM
gYTYaESwaH5U8vMrJIC1Ve5t6YnT7y2fH8mpZicrojz8Ye9B6hsHEbY/s/i5Cm70KScf/TXzVxfX
+4JCuPxiOvzHb3+5ZWeDZ/dnLaJi10WR8qPNHwLR/BBZP28snP9a0xHzc1/lz+wFZXbS3Ap33CKr
vykiyZChHbCJ/TXmVGAZMKaUNgl9nsq5dD3J1afvN/xmQ/iLh0+4GOqH1u4EibEeMxAFjCm/nxO4
kZ2oTR5WIcWS+uLkqIocaWFkAEJkUP2ySWtdkxPoOdKjMYRrY4OAIsPJyy7uOGX6bnfw/rMOjv7C
yfxsZ0ggbEUpIPH1PXVwVAhR+e2kOG4T4pWP2oXH4xNfn2oRPp8Qbo8Qq14/6wZCSfvT+KbDHUFx
e1qIQ91ClG76QpRv3y8eMuIMiiPf9KtAiqZrh/7zx6Ml1SCByw9WcxQVm0vQ5+0EAR2dNq7c6dEA
4RpAbNjVtaOmxcdTcVBSZGHusu2YYsJYtO5jijbuocvmHQWcj8yQu6NtQgghtlf12hb+9K+Nu/7W
Iiqrron1bxwZmJmz9GgZxjU1T0SXfLQHmANogHjgcSD2YaLE/0HiG0NG3WTfaysXml+Nn5uceeac
bVI30XnPaEwM/uufB7dMXvntJWDqe9IoOi7M7hFKVA8PbMd2XojK3RSY8geLlqRp3noyx/hM3JzI
0JoLMuEaH+5BL6ou4bG6TjlW3+pxooSvBtoBO4CyrGrElGk1VGycq76+OBnFC0wA11dXEKID+wSc
b3USDEwz1AuKZOD8IHgmICAgNd5gcbX6Qv3Cmq+YCpOCjkvDwLQiglNpZdapFxYn65QxwANMBiHJ
CGduB8iMkLDER+OcALsDhsaht6Of4REfwiuhuMIITEbq1YD1SSWmYAGOS3cArzIvVllVaNElA+iA
ANDcp3K9c4r8ZJlJnRavF1rPNvPOajNPrUsDkmaPX3PynN305ger3rzb/uEZoEf2W56+2uxJTV+f
q8z7rGVKMutk0hM0xMRocQVlBhzQcrSO0gwt92091J4fQEUhwazH5Z1iwh3AMylIiDcRGyobjt+M
UFVH01XZfvGAv6O9vWY8de3anxUq5qt9KkazhlEXTPihs3uYkN5eCvIzidJH8enBRu50jDA46KD4
6QzCwxT8AQ0Njbd44PBoRpw+j63tWL0MoNpvBUdSXq6NDVEK/ZKSFBMqM66CfRyitTqm7H2YjEZq
z17mTHMv/UNujtXd5YnseLLSYikrr6T7fjely5erX1RXn5540Hz+f3Rs2ViTUJC/4GjJAn3+r5eE
PXpXg0G2/bEhWP9tmxxnjpZCZAlJgkBQJaCCLzDNsDPgGehqPuBp37cHuPc9g1jWHTJ6IjIq/741
96WsWEVs2XPleu2+333OYM1lkyXbV7zql4U5OXnF+hhzknt8zH2vs623sf7Q5a5bdVeALmAEmP4h
k8mRmaVWTUhU9oxNtbNVMGMu7cPrObvAfwCEmrBl6F8BjgAAAABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <long>1585</long> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
tal:condition="remaining_items">\n tal:condition="remaining_items">\n
<li tal:define="current_item python: remaining_items[0];\n <li tal:define="current_item python: remaining_items[0];\n
remaining_items python: remaining_items[1:]">\n remaining_items python: remaining_items[1:]">\n
<a tal:attributes="href python: current_item[1].WebSite_getDocumentUrl();\n <a tal:attributes="href python: \'%s/view\' % current_item[1].Base_getPermanentURL();\n
class python: len(remaining_items) == 0 and \'selected\' or \'\'"\n class python: len(remaining_items) == 0 and \'selected\' or \'\'"\n
tal:content="python: current_item[0]"/>\n tal:content="python: current_item[0]"/>\n
<tal:block metal:use-macro="here/breadcrumb/macros/renderBreadcrumbItem"/>\n <tal:block metal:use-macro="here/breadcrumb/macros/renderBreadcrumbItem"/>\n
...@@ -68,7 +68,15 @@ ...@@ -68,7 +68,15 @@
<!-- Initialize the recursive loop -->\n <!-- Initialize the recursive loop -->\n
<div class="breadcrumb" tal:define="remaining_items python: context.WebSite_getBreadcrumbItemList()">\n <div class="breadcrumb" tal:define="remaining_items python: context.WebSite_getBreadcrumbItemList()">\n
<tal:block metal:use-macro="here/breadcrumb/macros/renderBreadcrumbItem"/>\n <tal:block metal:use-macro="here/breadcrumb/macros/renderBreadcrumbItem"/>\n
</div> </div>\n
\n
<span style="float:right;" tal:condition="python:not here.portal_membership.isAnonymousUser()">\n
Logged in as: <a style="color:blue;" tal:define="user here/portal_membership/getAuthenticatedMember"\n
tal:content="user"\n
tal:attributes="href python:\'WebSite_redirectToUserView?%s&user=%s\' % (\n
request.get(\'http_parameters\', None), user)">userid</a>\n
</span>\n
]]></string> </value> ]]></string> </value>
</item> </item>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>login.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QIVBh44a+4oAgAABAhJREFUGFeFld1LI2cUxp+ZSWJI
NIkTzBj8gKi1BrdVkWqJ2NawBAq1ILZ7oRWqFIT2D/BCKBTbu4qtshcieLGwtN2LxgUvpEusujUS
Q0dXMW3iV4lYU1YTazLGjDPv9KLtMjNrtz+Yi/Oe8zwczpl5h4KOgYEBuqWlZaipqeljSZJeBaBQ
FLXJ8/zdYDB4LxKJEL3mJgzqYHBwkPH7/fccDse7MzMzDzc2Nu4aDIZrn8/X0dPT8zXLsm+m0+mP
dnd3ZbXuf5mYmBicm5vL1tbWfgCgSJWifT5f5/z8/J8jIyNDqvP/hFYHHo9nYHFx8eH+/v53AAqq
FAmHw493d3dn6uvrBwEwqtyNqI0pRVG4y8vLnwFcq86fIUlSjKbpCgBmfU6PesZKNps99Hq9rwB/
LxFAmSzLufb29pebm5sbU6lU997e3gkASaW7EUodjIyMdLe2tj7IZDIzbW1t73EcxymKQkRRZAgh
FMuyyGQyp0tLS3eGhoZ+VGv1aGbF8/x+R0fHbbfbfQdAyfHxMRWLxWibzUaVlJRgZWUFNpvN4vV6
3zk8PLwfj8ezar0azfL6+vpcTU1Nr7e1tcFqtQIAJEnC+fk5CCFwuVw4OTmB2Wx2dnV1va/W6tG8
x8XFxY12u93kdDphtVqRy+Xg8XggCAIEQYDL5cLx8TEEQQBFUVVqrR5Nx4IgPL24uIAkSZBlGYQQ
EEIgyzKMRiNEUYTFYgFN04hEIodqrR6NcSgUiiUSiejp6SlkWX72GI1GuFwuZDIZcByHdDotbm5u
PlZr9WiWd35+TgghEY7jepxOZzHDMDCbzbBYLNje3kZlZSXy+Tyy2Szj8/ns8/PzQVEUFbXHvzz3
BYmi+EcgEOgvKytzHxwc4OzsLDU2NjaVSCQ2S0tLPVVVVdZ/Or9VV1e3t7CwsKX3AHTLAwC/319k
MpkaCoUCDAYD4vF4NBgMfgpAtlqtKw6H41un08mkUinK5/N9NTw8/NP09PRvep/nOq6oqDBVV1d/
yLKsw2QyIRwOf7+6uvoIAKLRaJxhGAFAfU1NjSOXy1kaGhpura2tfZNOpzXXqWZ5ANDd3f2a2+1m
ZFkGTdPY2dl5okrLs7Oz4xzH/UIIgdlsRmlp6e3R0dFPVDUAdMaBQIC6urr6zGazVRUKBVxfX4tb
W1sxdQ0AJRQKrYVCoV8VRQEhBIVC4Q3ovDRBZ2cnKIr6IZ/PAwCy2ezTZDL5u7oGAKampr4oLy+/
L0kSCCE4OjqKA9CMQrM8hmHe8ng8n9vtdgBAMpncB3DTfUDW19fDPM8/YFn2JZ7no/oCDW63u2h8
fPzR8vKyMjk5ud3Y2Pg2dDegDgZAMbR/m5vp7e2t7e/v/5KiKA9ebPpC/gLlOanhRol5GAAAAABJ
RU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <long>1147</long> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>logout.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI
WXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH1QwGDxEZUlJZDAAAAulJREFUOMu1lctr1FwYh59zTqbm
NlplvNd+4kLwXvDSheimGxGF6sKFCPJtXbnx0v9gcO9S3LhQV2OtCkJB8ULUQkWstbhxBAvfZ5UZ
m8lMJ5nExSSxsbUVoQdeAknOk9/7y/u+B5Zoid892L3vQPS30DcjL4W20AunT52g8q1KvV6nXq/j
ui6+7+N5HtVqFYByuZzZs3LtegAWBPfs6WHs7Ts8z2NqagqlFM1mkyAIyOfzAIRhiBACIbLJLwi2
LRvDMAjDkEKhQKPRoNFooJRienoa3/eRUiKlXBx8AyLg0BVAKolpmggh0s1SSpRSWJZFpVJBKfVn
4Hg9WV2rpaBcLoeu6ylUKcXMzAxAeu9XsJyP2lcs8u/4GK2JD2mqSWiaRkdHB7quA6SKk0jBNyCa
HbPhH8+ehffvM1YIIdi5aztHjx3JKE4iY0VfsThHdc1x6CsWGb58GTkwgNyyJVU1/m6CVYWVC1qR
elwdGiJ0XaRtI5YtgyCgOjj4E371agre37uX4YeP5lgB0JoNrjkO7tOnP9tR09of0DQ0x2krUwoZ
K/Q8j1arNa/i1q+KO/v7U3ClVKJVqdDZ349TKuEPDCB0HdlsIqVkYvwDhmG0RcT+J4r9cBbYKZUy
/mxTihXHj+OUSnw/fx61eTMqCDK1nICSn5ZWRNjWrE1C/its/R+sKlgn4UECFZcu4G/oQkYRUkqi
+JrAEyuypRaDL4ILjAF5wDwZZ3B92w7O9faif/mKaZpIKWnGVli2geuGKKWIoiirGD/j8UwcOYBJ
6PtiWcPd3d3Uah6aphFFEUIILNtk8vMnXrx8TrlcZvkKE6VaCBGb683f0v6ZeEbvjtM0DIPADyis
6UQQMnTvFq9GnmFaGms3KKSsZRT/961j8emmaTk2dXURRC53B68xMvoY25Z0/SOQMpgznNpr1eLg
QmE5N2/fYXT0Pus22hw83IMABAKSThPtFIUQRGGO168/L+3RtFRnKT8AA7EAz21sap0AAAAASUVO
RK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>860</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.ERP5Form.Form</string>
<string>ERP5Form</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/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>Base_doSelect</string> </value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>hidden</string> </key>
<value>
<list>
<string>listbox_title</string>
<string>listbox_version</string>
<string>listbox_creation_date</string>
<string>listbox_translated_validation_state_title</string>
</list>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>my_stuff_title</string>
<string>my_stuff_description</string>
<string>listbox</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5Web_viewMyStuff</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>ERP5Web_viewMyStuff</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_list</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>My Stuffs</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</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.ERP5Form.ListBox</string>
<string>ListBox</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>listbox</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>all_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>all_editable_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>domain_root_list</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>domain_tree</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>global_attributes</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>list_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>list_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>meta_types</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>portal_types</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>report_root_list</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>report_tree</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>search</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>search_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>select</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>selection_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>sort</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>sort_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>stat_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>stat_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>url_columns</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>all_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>all_editable_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>count_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>domain_root_list</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>domain_tree</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>global_attributes</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>list_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>list_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>meta_types</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>page_template</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>portal_types</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>report_root_list</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>report_tree</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>search</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>search_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>select</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>selection_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>sort</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>sort_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>stat_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>stat_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>url_columns</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>Base_viewSearchResultList</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>all_columns</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>all_editable_columns</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>columns</string> </key>
<value>
<list>
<tuple>
<string>title</string>
<string>Title</string>
</tuple>
<tuple>
<string>creation_date</string>
<string>Creation Date</string>
</tuple>
<tuple>
<string>WebPage_getModificationDate</string>
<string>Last Change</string>
</tuple>
<tuple>
<string>version</string>
<string>Version</string>
</tuple>
<tuple>
<string>language</string>
<string>Language</string>
</tuple>
<tuple>
<string>translated_portal_type</string>
<string>Type</string>
</tuple>
<tuple>
<string>translated_validation_state_title</string>
<string>State</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>count_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default_params</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>disable_link</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>domain_root_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>domain_tree</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>editable_columns</string> </key>
<value>
<list>
<tuple>
<string>version</string>
<string>Version</string>
</tuple>
<tuple>
<string>language</string>
<string>Language</string>
</tuple>
<tuple>
<string>title</string>
<string>Title</string>
</tuple>
<tuple>
<string>creation_date</string>
<string>Creation Date</string>
</tuple>
<tuple>
<string>translated_validation_state_title</string>
<string>State</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>editable_expression</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable_permission</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>editable_role</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>global_attributes</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>lines</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>list_action</string> </key>
<value> <string>ERP5Web_viewMyStuff</string> </value>
</item>
<item>
<key> <string>list_method</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>meta_types</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>not_viewable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>page_template</string> </key>
<value> <string>ListBox_asWebStyleHTML</string> </value>
</item>
<item>
<key> <string>portal_types</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>read_only</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>report_root_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>report_tree</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>search</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>search_columns</string> </key>
<value>
<list>
<tuple>
<string>title</string>
<string>Title</string>
</tuple>
<tuple>
<string>creation_date</string>
<string>Creation Date</string>
</tuple>
<tuple>
<string>translated_validation_state_title</string>
<string>State</string>
</tuple>
<tuple>
<string>translated_portal_type</string>
<string>Type</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>select</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>selection_name</string> </key>
<value> <string>my_stuff_selection</string> </value>
</item>
<item>
<key> <string>sort</string> </key>
<value>
<list>
<tuple>
<string>modification_date</string>
<string>descending</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>sort_columns</string> </key>
<value>
<list>
<tuple>
<string>modification_date</string>
<string>Last Change</string>
</tuple>
<tuple>
<string>title</string>
<string>Title</string>
</tuple>
<tuple>
<string>creation_date</string>
<string>Creation Date</string>
</tuple>
<tuple>
<string>translated_validation_state_title</string>
<string>State</string>
</tuple>
<tuple>
<string>translated_portal_type</string>
<string>Type</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>stat_columns</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>stat_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>My Documents</string> </value>
</item>
<item>
<key> <string>url_columns</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>viewable_expression</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>viewable_permission</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>viewable_role</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: zip(here.getPortalWebDocumentTypeList(), here.getPortalWebDocumentTypeList()) + zip(here.getPortalDocumentTypeList(), here.getPortalDocumentTypeList())</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.MethodField</string>
<string>Method</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>method_name</string> </key>
<value> <string>portal_catalog</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>DateTimeField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>listbox_creation_date</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>datetime_out_of_range</string> </key>
<value> <string>The date and time you entered were out of range.</string> </value>
</item>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>not_datetime</string> </key>
<value> <string>You did not enter a valid date and time.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>allow_empty_time</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>ampm_time_style</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>date_only</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>date_separator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default_now</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>end_datetime</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_order</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_style</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>start_datetime</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time_separator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>sub_form</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>allow_empty_time</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>ampm_time_style</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>date_only</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>date_separator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>default_now</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>end_datetime</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_order</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_style</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>start_datetime</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time_separator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>allow_empty_time</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>ampm_time_style</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>date_only</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>date_separator</string> </key>
<value> <string>/</string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>default_now</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>end_datetime</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_order</string> </key>
<value> <string>ymd</string> </value>
</item>
<item>
<key> <string>input_style</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>start_datetime</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>time_separator</string> </key>
<value> <string>:</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>listbox_creation_date</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.Form</string>
<string>BasicForm</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>fields</string> </key>
<value>
<dictionary>
<item>
<key> <string>ampm</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
<item>
<key> <string>day</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
<item>
<key> <string>hour</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
</value>
</item>
<item>
<key> <string>minute</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAc=</string> </persistent>
</value>
</item>
<item>
<key> <string>month</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAg=</string> </persistent>
</value>
</item>
<item>
<key> <string>year</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAk=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>Default</string>
<string>date</string>
<string>time</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>Default</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>date</string> </key>
<value>
<list>
<string>year</string>
<string>month</string>
<string>day</string>
</list>
</value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<list>
<string>hour</string>
<string>minute</string>
<string>ampm</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>ISO-8859-1</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Basic Form</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python:cell.getCreationDate()</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>StringField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>ampm</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <int>2</int> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>2</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <int>2</int> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>am/pm</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>IntegerField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>day</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>integer_out_of_range</string> </key>
<value> <string>The integer you entered was out of range.</string> </value>
</item>
<item>
<key> <string>not_integer</string> </key>
<value> <string>You did not enter an integer.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>end</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>start</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>end</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>start</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <int>2</int> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>2</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>end</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>start</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Day</string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="6" aka="AAAAAAAAAAY=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>IntegerField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>hour</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>integer_out_of_range</string> </key>
<value> <string>The integer you entered was out of range.</string> </value>
</item>
<item>
<key> <string>not_integer</string> </key>
<value> <string>You did not enter an integer.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>end</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>start</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>end</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>start</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <int>2</int> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>2</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>end</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>start</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Hour</string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="7" aka="AAAAAAAAAAc=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>IntegerField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>minute</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>integer_out_of_range</string> </key>
<value> <string>The integer you entered was out of range.</string> </value>
</item>
<item>
<key> <string>not_integer</string> </key>
<value> <string>You did not enter an integer.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>end</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>start</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>end</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>start</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <int>2</int> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>2</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>end</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>start</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Minute</string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="8" aka="AAAAAAAAAAg=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>IntegerField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>month</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>integer_out_of_range</string> </key>
<value> <string>The integer you entered was out of range.</string> </value>
</item>
<item>
<key> <string>not_integer</string> </key>
<value> <string>You did not enter an integer.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>end</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>start</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>end</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>start</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <int>2</int> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>2</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>end</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>start</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Month</string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="9" aka="AAAAAAAAAAk=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>IntegerField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>year</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>integer_out_of_range</string> </key>
<value> <string>The integer you entered was out of range.</string> </value>
</item>
<item>
<key> <string>not_integer</string> </key>
<value> <string>You did not enter an integer.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>end</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>start</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>end</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>start</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>end</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>start</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Year</string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>StringField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>my_stuff_description</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string encoding="cdata"><![CDATA[
<p>This page provides access to all documents which you have added to the system.</p>
]]></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>my_stuff_description</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>StringField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>my_stuff_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>My Stuffs</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
python: "<h1>%s</h1>" % (here.REQUEST[\'PUBLISHED\'].getProperty(\'title\'))
]]></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>StringField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>my_tasks_description</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string encoding="cdata"><![CDATA[
<p>This page contains all documents which require your attention. Documents are grouped by workflow and by worklist. It is advisable to access this page <u>everyday</u> in order to help information flow quickly accross your organisation.</p>
]]></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>my_tasks_description</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>StringField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>my_tasks_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string encoding="cdata"><![CDATA[
<h1>My Tasks</h1>
]]></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>my_tasks_title</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.ERP5Form.Form</string>
<string>ERP5Form</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/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>Default</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>Default</string> </key>
<value>
<list>
<string>workflow_title</string>
<string>workflow_description</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5Web_viewMyTaskWorkflowHeader</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>ERP5Web_viewMyTaskWorkflowHeader</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_list</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Workflow Web Header</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</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.Formulator.StandardFields</string>
<string>StringField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>workflow_description</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string>Workflow\'s description should be printed here</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Workflow Description</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
python: "<p>%s</p>" % here.description
]]></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>StringField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>workflow_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string>Workflow\'s title should be printed here</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Workflow Title</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
python: "<h2>%s</h2>" % here.title
]]></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.ERP5Form.Form</string>
<string>ERP5Form</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/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>hidden</string> </key>
<value>
<list>
<string>listbox_translated_validation_state_title</string>
<string>listbox_translated_publication_state_title</string>
<string>listbox_title</string>
<string>listbox_version</string>
</list>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>listbox</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WorkList_viewPendingWork</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>WorkList_viewPendingWork</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_list</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Worklist Pending Work</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</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.ERP5Form.ListBox</string>
<string>ListBox</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>listbox</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>all_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>all_editable_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>domain_root_list</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>domain_tree</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>global_attributes</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>list_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>list_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>meta_types</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>portal_types</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>report_root_list</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>report_tree</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>search</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>search_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>select</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>selection_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>sort</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>sort_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>stat_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>stat_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>url_columns</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>all_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>all_editable_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>count_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>domain_root_list</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>domain_tree</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>global_attributes</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>list_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>list_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>meta_types</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>page_template</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>portal_types</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>report_root_list</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>report_tree</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>search</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>search_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>select</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>selection_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>sort</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>sort_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>stat_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>stat_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>url_columns</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>Base_viewSearchResultList</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>all_columns</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>all_editable_columns</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>columns</string> </key>
<value>
<list>
<tuple>
<string>title</string>
<string>Title</string>
</tuple>
<tuple>
<string>WebPage_getModificationDate</string>
<string>Last Change</string>
</tuple>
<tuple>
<string>version</string>
<string>Version</string>
</tuple>
<tuple>
<string>language</string>
<string>Language</string>
</tuple>
<tuple>
<string>translated_validation_state_title</string>
<string>State</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>count_method</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default_params</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>domain_root_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>domain_tree</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>editable_columns</string> </key>
<value>
<list>
<tuple>
<string>version</string>
<string>Version</string>
</tuple>
<tuple>
<string>language</string>
<string>Language</string>
</tuple>
<tuple>
<string>title</string>
<string>Title</string>
</tuple>
<tuple>
<string>translated_validation_state_title</string>
<string>State</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>global_attributes</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>lines</string> </key>
<value> <int>30</int> </value>
</item>
<item>
<key> <string>list_action</string> </key>
<value> <string>list</string> </value>
</item>
<item>
<key> <string>list_cookie</string> </key>
<value> <string>FOLDER_LIST</string> </value>
</item>
<item>
<key> <string>list_method</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
<item>
<key> <string>meta_types</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>page_template</string> </key>
<value> <string>ListBox_asWebStyleHTML</string> </value>
</item>
<item>
<key> <string>portal_types</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>report_root_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>report_tree</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>reverse</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>search</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>search_columns</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>select</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>selection_name</string> </key>
<value> <string>recent_changes_selection</string> </value>
</item>
<item>
<key> <string>sort</string> </key>
<value>
<list>
<tuple>
<string>modification_date</string>
<string>descending</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>sort_columns</string> </key>
<value>
<list>
<tuple>
<string>modification_date</string>
<string>Last Change</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>stat_columns</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>stat_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Lastest Changes</string> </value>
</item>
<item>
<key> <string>url_columns</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>40</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: zip(here.getPortalWebDocumentTypeList(), here.getPortalWebDocumentTypeList())</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.MethodField</string>
<string>Method</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>method_name</string> </key>
<value> <string>portal_catalog</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.MethodField</string>
<string>Method</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>method_name</string> </key>
<value> <string>portal_catalog</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>StringField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>listbox_translated_validation_state_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>translated_validation_state_title</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: cell.getValidationState()</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>StringField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>recent_changes_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Recent Changes</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
python: "<h1>%s</h1>" % (here.REQUEST[\'PUBLISHED\'].getProperty(\'title\'))
]]></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>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<tal:block\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
tal:define="field_id here/getId;\n
form_id python: here.getForm().id;\n
selection_name here/getSelectionName;\n
requested_selection_name here/getRequestedSelectionName;\n
selection_index here/getSelectionIndex;\n
selection here/getSelection;\n
portal_url_string here/getPortalUrlString;\n
real_context here/getContext;\n
context_url real_context/getUrl;\n
md5_string here/getMD5Checksum;\n
line_list here/query;\n
is_domain_tree_mode here/isDomainTreeMode;\n
is_report_tree_mode here/isReportTreeMode;\n
is_domain_tree_supported here/isDomainTreeSupported;\n
is_report_tree_supported here/isReportTreeSupported;\n
show_select_column here/showSelectColumn;\n
show_search_line here/showSearchLine;\n
search_query python: here.request.has_key(\'SearchableText\') and here.request[\'SearchableText\'] or \'\';\n
">\n
<!-- ListBox starts here. -->\n
<input type="hidden" name="list_selection_name" value="default" tal:attributes="value selection_name" />\n
<input tal:condition="md5_string" type="hidden" name="md5_object_uid_list" value="checksum" tal:attributes="value md5_string" />\n
\n
<tal:replace tal:content="nothing">\n
Because TAL cannot accept unbalanced tags, the support for a domain tree is realized by a macro.\n
The macro ListBoxContainer is a no-op, if not in domain tree mode. Otherwise, the macro constructs\n
a domain tree and extracts the body in an extra table.\n
</tal:replace>\n
\n
<tal:block tal:define="expand python: 0">\n
<tal:block metal:define-macro="ListBoxContainer">\n
<tal:block tal:condition="expand">\n
<tal:block tal:condition="not: is_domain_tree_mode">\n
<tal:block metal:define-slot="ListBoxBody" />\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
\n
<tal:block tal:define="expand python: 1">\n
<tal:block metal:use-macro="template/macros/ListBoxContainer">\n
<tal:block\n
metal:fill-slot="ListBoxBody"\n
tal:define="listbox_max_lines python: int(here.getMaxLineNumber());\n
total_line python: int(here.total_size);\n
current_page python: int(here.current_page) + 1;\n
current_page_max python: listbox_max_lines * current_page;\n
current_page_start python: (listbox_max_lines * (current_page - 1)) + 1;\n
current_page_stop python: (total_line < current_page_max) and total_line or current_page_max;">\n
\n
<!-- top search -->\n
<div class="centeredInner searchBar">\n
<!-- TODO: get dynamic path here -->\n
<form method="POST" id="main_form" enctype="" tal:attributes="action python:\'erp5/medicentre/site/search/WebSite_viewSearchResult\'">\n
<input class="text" id="SearchableText" name="SearchableText" type="text" size="40"\n
tal:attributes="value search_query"/>\n
<input type="hidden" name="reset" value="1"/>\n
<input class="button" value="Chercher" name="WebSite_viewSearchResultList:method" type="submit"/>\n
<!--a href="advanced_search" class="tinyFont">Advanced search</a-->\n
</form>\n
</div>\n
\n
<!-- result header -->\n
<div class="searchResultHeader">\n
<div>\n
<span class="left"><em tal:content="here/getTitle" tal:condition="here/getTitle"/></span>\n
<span class="right">\n
<tal:block condition="python: total_line > 0">Resultats <em tal:content="current_page_start"/> - <em tal:content="current_page_stop"/> sur un total de <em tal:content="total_line"/><tal:block tal:condition="search_query"> pour <em tal:content="search_query"/></tal:block>.</tal:block>\n
<span tal:condition="python: total_line == 0" class="warning">No result !</span>\n
</span>\n
</div>\n
<div class="clear"></div>\n
</div>\n
\n
<tal:block tal:condition="total_line">\n
\n
<!-- search results -->\n
<ul class="searchResult">\n
<li tal:repeat="line line_list" tal:define="checked_uid_set here/getCheckedUidSet">\n
<div class="typeIcon">\n
<!-- TODO: get dynamic icon here -->\n
<a href="#" title="Download original file"><img src="pictures/type-image.png"/></a>\n
</div>\n
<div class="detail"\n
tal:define="line_details python: line.render();\n
html_list python: [(x[1] not in (\'\', None) and x[0] or None) for x in line_details];\n
main_link python: html_list[0];\n
context_result python: html_list[1];\n
details_links python: html_list[2:6];\n
related_links python: html_list[6:9]">\n
<h4 tal:content="structure python: main_link"/>\n
<p>\n
<tal:block tal:condition="python: context_result != None"><tal:block replace="structure python: context_result"/><br/></tal:block>\n
<span class="searchDetails">\n
<tal:block repeat="link details_links"><tal:block tal:condition="python: link != None"><tal:block replace="structure python: link"/><tal:block tal:condition="not: repeat/link/end"> - </tal:block></tal:block></tal:block>\n
</span>\n
<span class="relatedLinks">\n
<tal:block repeat="link related_links"><tal:block tal:condition="python: link != None"> - <tal:block replace="structure python: link"/></tal:block></tal:block>\n
</span>\n
</p>\n
</div>\n
<div class="clear"></div>\n
</li>\n
</ul>\n
\n
<!-- result page -->\n
<div class="centeredInner searchPages" tal:condition="python: total_line > listbox_max_lines">\n
<p>Result Page:\n
<a href="#"\n
tal:repeat="p python: range(0, here.total_pages)"\n
tal:content="python: p+1"\n
tal:attributes="class python: p == here.current_page and \'selected\' or nothing;\n
href python: \'portal_selections/setPage?%s_page_selection=%s&amp;selection_name=%s&amp;form_id=%s&amp;listbox_uid:list=&amp;list_selection_name=%s&amp;SearchableText=%s&amp;list_start=%s&amp;reset=1\' % (field_id, p+1, selection_name, form_id, selection_name, search_query, p*listbox_max_lines)"/>\n
</p>\n
</div>\n
\n
<!-- bottom search -->\n
<!-- TODO: macro-ize / widget-ize this part of code (duplicate with top search) -->\n
<div class="centeredInner extendedSearchBar">\n
<!-- TODO: get dynamic path here -->\n
<!-- TODO: when switch to another page, search_query is lost -->\n
<form method="POST" id="main_form" enctype="" tal:attributes="action python:\'erp5/medicentre/site/search/WebSite_viewSearchResult\'">\n
<input class="text" id="SearchableText" name="SearchableText" type="text" size="40"\n
tal:attributes="value search_query"/>\n
<input type="hidden" name="reset" value="1"/>\n
<input class="button" value="Chercher" name="WebSite_viewSearchResultList:method" type="submit"/>\n
</form>\n
<!--p>\n
<a href="advanced_search">Search within results</a> |\n
<a href="advanced_search">Search Tips</a> |\n
<a href="advanced_search">Advanced search</a>\n
</p-->\n
</div>\n
\n
</tal:block>\n
\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
<!-- ListBox ends here. -->\n
\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>ListBox_asWebStyleSearchResultHTML</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.ERP5Form.Form</string>
<string>ERP5Form</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/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>hidden</string> </key>
<value>
<list>
<string>listbox_modification_date</string>
</list>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>listbox</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebSite_viewSearchResultList</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>Folder_viewContentList</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_list</string> </value>
</item>
<item>
<key> <string>rid</string> </key>
<value> <int>-1722436574</int> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>uid</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</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.ERP5Form.ListBox</string>
<string>ListBox</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>listbox</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>all_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>all_editable_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>domain_root_list</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>domain_tree</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>global_attributes</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>list_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>list_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>meta_types</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>portal_types</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>report_root_list</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>report_tree</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>search</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>search_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>select</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>selection_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>sort</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>sort_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>stat_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>stat_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>url_columns</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>all_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>all_editable_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>domain_root_list</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>domain_tree</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>global_attributes</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>list_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>list_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>meta_types</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>portal_types</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>report_root_list</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>report_tree</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>search</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>search_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>select</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>selection_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>sort</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>sort_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>stat_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>stat_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>url_columns</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>Base_viewSearchResultList</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>all_columns</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>all_editable_columns</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>columns</string> </key>
<value>
<list>
<tuple>
<string>ERP5Web_getVerboseTitle</string>
<string>Title</string>
</tuple>
<tuple>
<string>description</string>
<string>Description</string>
</tuple>
<tuple>
<string>reference</string>
<string>Code</string>
</tuple>
<tuple>
<string>version</string>
<string>Version</string>
</tuple>
<tuple>
<string>language</string>
<string>Language</string>
</tuple>
<tuple>
<string>modification_date</string>
<string>Last Change</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>count_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default_params</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>domain_root_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>domain_tree</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>editable_columns</string> </key>
<value>
<list>
<tuple>
<string>modification_date</string>
<string>Last Change</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>global_attributes</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>lines</string> </key>
<value> <int>10</int> </value>
</item>
<item>
<key> <string>list_action</string> </key>
<value> <string>WebSite_viewSearchResultList</string> </value>
</item>
<item>
<key> <string>list_cookie</string> </key>
<value> <string>SEARCH_LIST</string> </value>
</item>
<item>
<key> <string>list_method</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>meta_types</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>page_template</string> </key>
<value> <string>ListBox_asWebStyleSearchResultHTML</string> </value>
</item>
<item>
<key> <string>portal_types</string> </key>
<value>
<list>
<tuple>
<string>Web Page</string>
<string>Web Page</string>
</tuple>
<tuple>
<string>Web Section</string>
<string>Web Section</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>report_root_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>report_tree</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>reverse</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>search</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>search_columns</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>select</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>selection_name</string> </key>
<value> <string>search_selection</string> </value>
</item>
<item>
<key> <string>sort</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>sort_columns</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>stat_columns</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>stat_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Search Results</string> </value>
</item>
<item>
<key> <string>url_columns</string> </key>
<value>
<list>
<tuple>
<string>description</string>
<string>None</string>
</tuple>
<tuple>
<string>language</string>
<string>None</string>
</tuple>
<tuple>
<string>version</string>
<string>None</string>
</tuple>
<tuple>
<string>modification_date</string>
<string>None</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>40</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.MethodField</string>
<string>Method</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>method_name</string> </key>
<value> <string>portal_catalog</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -55,7 +55,8 @@ ...@@ -55,7 +55,8 @@
\n \n
<ul tal:repeat="document python: context.WebSection_getDocumentValueList()">\n <ul tal:repeat="document python: context.WebSection_getDocumentValueList()">\n
<li><a tal:attributes="href python: document.WebSite_getDocumentUrl()"\n <li><a tal:attributes="href python: document.WebSite_getDocumentUrl()"\n
tal:content="python: document.ERP5Web_getVerboseTitle(priority=\'short_title\')"/></li>\n tal:content="python: document.getProperty(\'translated_short_title\', None)\n
or document.getTranslatedTitleOrId()"/></li>\n
</ul> </ul>
]]></string> </value> ]]></string> </value>
...@@ -70,7 +71,7 @@ ...@@ -70,7 +71,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>sub_document_list</string> </value> <value> <string>section_content_render</string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string encoding="cdata"><![CDATA[
"""\n
TODO: add parameters to filter by object type / object visibility (admin or not) and security\n
"""\n
\n
def WebDocument_getURI(object):\n
"""\n
This function return the right URI depending of the object type.\n
"""\n
if object.getPortalType() == \'Web Page\':\n
return object.getReference()\n
else:\n
return object.getId()\n
\n
\n
\n
# Get default site root\n
site_root = context.WebSite_getSiteValue()\n
\n
# \'site_content\' is the tree of sections/subsections/documents of the web site.\n
# Here is the description of data structure:\n
# site_content = [ {} <- first_level object #1\n
# , {} <- first_level object #2\n
# , {\'sub-content\': []} <- first_level object #3 with sub objects\n
# ]\n
# {dict} contain properties of the object\n
# [list] can be ordered\n
site_content = []\n
\n
# Start browsing the site from main sections\n
for section in site_root.WebSite_getMainSectionList():\n
sub_doc_list = section.WebSite_getDocumentValueList() or []\n
sub_content_list = []\n
section_url = section.absolute_url()\n
# Get sub sections and content of each main section\n
for sub_doc in sub_doc_list:\n
sub_content_list.append({\n
\'title\' : sub_doc.ERP5Web_getVerboseTitle()\n
, \'link\' : "%s/%s" % (section_url, WebDocument_getURI(sub_doc))\n
, \'object\' : sub_doc\n
, \'sub-content\': []\n
})\n
site_content.append({\n
\'title\' : section.ERP5Web_getVerboseTitle()\n
, \'link\' : section_url\n
, \'object\' : section\n
, \'sub-content\': sub_content_list\n
})\n
\n
if include_site:\n
# Add the most upper object: the website site itself\n
site_map = {\n
\'title\' : "%s - Home" % (site_root.getTitleOrId())\n
, \'link\' : site_root.absolute_url()\n
, \'object\' : site_root\n
, \'sub-content\' : site_content\n
}\n
else:\n
site_map = site_content\n
\n
return site_map\n
]]></string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>show_pages=True, include_site=True, depth_limit=None</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>show_pages</string>
<string>include_site</string>
<string>depth_limit</string>
<string>WebDocument_getURI</string>
<string>_getattr_</string>
<string>context</string>
<string>site_root</string>
<string>site_content</string>
<string>_getiter_</string>
<string>section</string>
<string>sub_doc_list</string>
<string>sub_content_list</string>
<string>section_url</string>
<string>sub_doc</string>
<string>site_map</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<tuple>
<int>1</int>
<int>1</int>
<none/>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebSite_getSiteMap</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -49,13 +49,14 @@ ...@@ -49,13 +49,14 @@
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<tal:block replace="nothing"><!--\n <tal:block replace="nothing"><!--\n
This widget display a list of sub Web Pages or Web Sections objects.\n This widget displays the list of Sections contained in the current context.\n
--></tal:block>\n --></tal:block>\n
\n \n
<ul><tal:block tal:repeat="sub_object python:context.objectValues()">\n <ul><tal:block tal:repeat="section python:context.contentValues(portal_type=\'Web Section\')">\n
<li tal:condition="python: sub_object.getPortalType() in [\'Web Section\', \'Web Page\'] and sub_object.getVisible()">\n <li>\n
<a tal:attributes="href python: sub_object.WebSite_getDocumentUrl()"\n <a tal:attributes="href python: section.absolute_url_path()"\n
tal:content="python: sub_object.ERP5Web_getVerboseTitle(priority=\'short_title\')"/>\n tal:content="python: section.getProperty(\'translated_short_title\', None)\n
or section.getTranslatedTitleOrId()"/>\n
</li>\n </li>\n
</tal:block></ul> </tal:block></ul>
...@@ -71,7 +72,7 @@ ...@@ -71,7 +72,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>sub_web_object_list</string> </value> <value> <string>subsection_render</string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
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