Commit eaa382cc authored by Rafael Monnerat's avatar Rafael Monnerat :ghost:
Browse files

Integrated access_tab and xhtml_style. It is required to update ERP5 product and erp5_core too.

Notes that this commit should not change the front page for any site at beginning. So for projects that not use access tab, this commit should change nothing.

For projects thats use access tab, it required to check Access tab Front Page at User Interface preferences. This field is only available for managers.

For projects that has their own front pages, increase their business_template_skin_layer_priority at your project skin folder over than 100.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@20966 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent b8b6bff7
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="Folder" module="OFS.Folder"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_local_properties</string> </key>
<value>
<tuple>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>business_template_skin_layer_priority</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>float</string> </value>
</item>
</dictionary>
</tuple>
</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>business_template_skin_layer_priority</string> </key>
<value> <float>100.0</float> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>erp5_access_tab</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>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</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
A method invoked with parameters provided by the \n
contribute widget.\n
\n
**kw -- remaining params passed to the constructor\n
"""\n
from Products.ERP5.Document.Document import ConversionError\n
from xmlrpclib import Fault\n
from socket import error as SocketError\n
\n
# Do some processing of parameters cause we do not use ERP5 Form here\n
if contribute_classification:\n
kw[\'classification\'] = contribute_classification\n
\n
if contribute_source_project:\n
kw[\'follow_up\'] = contribute_source_project\n
\n
if contribute_portal_type:\n
kw[\'portal_type\'] = contribute_portal_type\n
\n
if contribute_file is not None:\n
kw[\'file\'] = contribute_file\n
\n
# We want to discover metadata synchronously\n
kw[\'discover_metadata\'] = 0\n
\n
editable_mode = 1\n
file_name = getattr(contribute_file, \'filename\', None)\n
# try to ingest file\n
failure = 0\n
new_content = None\n
merged_content = None\n
\n
try:\n
new_content = context.portal_contributions.newContent(**kw)\n
new_content.processFile()\n
merged_content = new_content.Document_convertToBaseFormatAndDiscoverMetadata(file_name=file_name)\n
except ConversionError, Fault:\n
# there are errors during ingestion content\n
failure = 1\n
msg = \'Sorry, there was a problem during conversion of your document.\'\n
except SocketError:\n
# conversion server is down\n
failure = 1\n
msg = \'Sorry, the conversion server is down. Please try again later.\'\n
except (TypeError, KeyError, AttributeError):\n
# there\'s an unknow error occured\n
failure = 1\n
msg = \'Sorry, unknow error occured.\'\n
\n
target = None\n
if merged_content is not None:\n
target = merged_content\n
elif new_content is not None:\n
target = new_content\n
else:\n
target = context\n
\n
if failure:\n
msg = context.Base_translateString(msg)\n
return target.Base_redirect(\'view\',\n
keep_items=dict(portal_status_message=msg,\n
editable_mode=0))\n
# successful ingestion, show appropriate message\n
if merged_content is not None and merged_content is not new_content:\n
msg = context.Base_translateString(\'Document successfully updated\')\n
target = merged_content\n
else:\n
msg = context.Base_translateString(\'Document successfully created\')\n
target = new_content\n
\n
return target.Base_redirect(\'view\',\n
keep_items=dict(portal_status_message=msg, \n
editable_mode=editable_mode))\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>contribute_file=None, contribute_classification=None, contribute_source_project=None, contribute_portal_type=None, **kw</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>4</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>contribute_file</string>
<string>contribute_classification</string>
<string>contribute_source_project</string>
<string>contribute_portal_type</string>
<string>kw</string>
<string>Products.ERP5.Document.Document</string>
<string>ConversionError</string>
<string>xmlrpclib</string>
<string>Fault</string>
<string>socket</string>
<string>error</string>
<string>SocketError</string>
<string>_write_</string>
<string>None</string>
<string>editable_mode</string>
<string>getattr</string>
<string>file_name</string>
<string>failure</string>
<string>new_content</string>
<string>merged_content</string>
<string>_apply_</string>
<string>_getattr_</string>
<string>context</string>
<string>msg</string>
<string>TypeError</string>
<string>KeyError</string>
<string>AttributeError</string>
<string>target</string>
<string>dict</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<tuple>
<none/>
<none/>
<none/>
<none/>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5Site_contributeContent</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>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</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 search_section_path is not None:\n
section_value = context.getPortalObject().restrictedTraverse(search_section_path)\n
return section_value.countResults(**kw)\n
\n
return context.portal_catalog.countResults(**kw)\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>search_section_path=None, **kw</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>search_section_path</string>
<string>kw</string>
<string>None</string>
<string>_getattr_</string>
<string>context</string>
<string>section_value</string>
<string>_apply_</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>ERP5Site_countAdvancedSearchResultList</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>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</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 search_section_path is not None:\n
section_value = context.getPortalObject().restrictedTraverse(search_section_path)\n
return section_value.searchResults(**kw)\n
return context.portal_catalog(**kw)\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>search_section_path=None, **kw</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>search_section_path</string>
<string>kw</string>
<string>None</string>
<string>_getattr_</string>
<string>context</string>
<string>section_value</string>
<string>_apply_</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>ERP5Site_getAdvancedSearchResultList</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>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</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>def getModuleActionInformationDict(**kw):\n
N_ = context.Base_translateString\n
result_dict = {}\n
\n
# If the user is not allowed to get the category, return immediately.\n
portal = context.getPortalObject()\n
business_application = portal.restrictedTraverse(\'portal_categories/business_application\',\n
None)\n
if business_application is None:\n
return result_dict\n
\n
renderCustomLink = portal.ERP5Site_renderCustomLink\n
listFilteredActionsFor = portal.portal_actions.listFilteredActionsFor\n
cancel_url = portal.absolute_url()\n
\n
# Use searchFolder, because security checks are required, and sorting\n
# is not supported by listFolderContents.\n
for o in business_application.searchFolder(sort_on=\'int_index\'):\n
module_category = o.getObject()\n
module_list = module_category.getBusinessApplicationRelatedValueList(\n
checked_permission=\'View\',\n
portal_type=portal.getPortalModuleTypeList())\n
\n
# It is necessary to sort the modules by translated titles for convenience.\n
titled_module_list = [(module.getTranslatedTitle(), module) for module in module_list]\n
titled_module_list.sort(lambda a,b: cmp(a[0], b[0]))\n
\n
view_list = []\n
add_list = []\n
search_list = []\n
exchange_list = []\n
report_list = []\n
print_list = []\n
\n
for translated_title, module in titled_module_list:\n
module_url = module.absolute_url()\n
action_dict = module.Base_filterDuplicateActions(listFilteredActionsFor(module))\n
\n
# Obtain a form id and a selection name from the view.\n
form_id = \'view\'\n
selection_name = \'default_selection\'\n
type_info = module.getTypeInfo()\n
expr = None\n
for ai in type_info.listActions():\n
if ai.getId() == \'view\':\n
break\n
else:\n
ai = None\n
if ai is not None:\n
form_id = str(ai.getActionExpression()).rsplit(\'/\', 1)[-1]\n
form = getattr(portal, form_id, None)\n
if form is not None:\n
listbox = form.Form_getListbox()\n
if listbox is not None:\n
selection_name = listbox.get_value(\'selection_name\')\n
\n
# Collect view actions.\n
module_view_list = [(None, \'%s/view\' % module_url)]\n
view_list.append((translated_title, module_view_list))\n
\n
# Collect add actions.\n
module_add_list = []\n
for content_type in module.getVisibleAllowedContentTypeList():\n
action = \'add %s\' % content_type\n
url = renderCustomLink(\'%s/Base_doAction\' % module_url,\n
dict(cancel_url=cancel_url,\n
form_id=form_id,\n
selection_name=selection_name,\n
select_action=action))\n
module_add_list.append((content_type, url))\n
for template in module.getDocumentTemplateList():\n
action = \'template %s\' % template.getRelativeUrl()\n
url = renderCustomLink(\'%s/Base_doAction\' % module_url,\n
dict(cancel_url=cancel_url,\n
form_id=form_id,\n
selection_name=selection_name,\n
select_action=action))\n
template_name = N_(\'${template_title} (Template)\',\n
mapping=dict(template_title=template.getTitle()))\n
module_add_list.append((template_name, url))\n
for add_action in action_dict.get(\'object_add\', ()):\n
url = renderCustomLink(add_action[\'url\'],\n
dict(cancel_url=cancel_url,\n
form_id=form_id,\n
selection_name=selection_name,\n
select_action=action))\n
module_add_list.append((add_action[\'name\'], url))\n
if module_add_list:\n
add_list.append((translated_title, module_add_list))\n
\n
# Collect search actions.\n
module_search_list = []\n
for search_action in action_dict.get(\'object_search\', ()):\n
url = renderCustomLink(search_action[\'url\'],\n
dict(cancel_url=cancel_url,\n
form_id=form_id,\n
selection_name=selection_name,\n
dialog_category=\'object_search\')).strip()\n
module_search_list.append((search_action[\'name\'], url))\n
if module_search_list:\n
search_list.append((translated_title, module_search_list))\n
\n
# Collect exchange actions.\n
module_exchange_list = []\n
for exchange_action in action_dict.get(\'object_exchange\', ()):\n
url = renderCustomLink(exchange_action[\'url\'],\n
dict(cancel_url=cancel_url,\n
form_id=form_id,\n
selection_name=selection_name,\n
dialog_category=\'object_exchange\')).strip()\n
module_exchange_list.append((exchange_action[\'name\'], url))\n
if module_exchange_list:\n
exchange_list.append((translated_title, module_exchange_list))\n
\n
# Collect report actions.\n
module_report_list = []\n
for report_action in action_dict.get(\'object_report\', ()):\n
url = renderCustomLink(report_action[\'url\'],\n
dict(cancel_url=cancel_url,\n
form_id=form_id,\n
selection_name=selection_name,\n
dialog_category=\'object_report\')).strip()\n
module_report_list.append((report_action[\'name\'], url))\n
if module_report_list:\n
report_list.append((translated_title, module_report_list))\n
\n
# Collect print actions.\n
module_print_list = []\n
for print_action in action_dict.get(\'object_print\', ()):\n
url = renderCustomLink(print_action[\'url\'],\n
dict(cancel_url=cancel_url,\n
form_id=form_id,\n
selection_name=selection_name,\n
dialog_category=\'object_print\')).strip()\n
module_print_list.append((print_action[\'name\'], url))\n
if module_print_list:\n
print_list.append((translated_title, module_print_list))\n
\n
# Add the actions, only if they are not empty.\n
action_list_dict = {}\n
for k, v in ((\'add\', add_list), (\'search\', search_list),\n
(\'exchange\', exchange_list), (\'report\', report_list),\n
(\'print\', print_list), (\'view\', view_list)):\n
if v:\n
result_dict.setdefault(k, []).append((module_category.getTitle(), v))\n
\n
return result_dict\n
\n
from Products.ERP5Type.Cache import CachingMethod\n
from AccessControl import getSecurityManager\n
\n
getModuleActionInformationDict = CachingMethod(getModuleActionInformationDict,\n
id=\'ERP5Site_getModuleActionInformationDict\',\n
cache_factory=\'erp5_ui_long\')\n
return getModuleActionInformationDict(user=getSecurityManager().getUser(),\n
language=context.Localizer.get_selected_language())\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></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>0</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>getModuleActionInformationDict</string>
<string>Products.ERP5Type.Cache</string>
<string>CachingMethod</string>
<string>AccessControl</string>
<string>getSecurityManager</string>
<string>_getattr_</string>
<string>context</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>ERP5Site_getCategorizedModuleActionInformationDict</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>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</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># Probe known skins to determine whether erp5_base and erp5_dms are installed.\n
basic_mode = (getattr(context, \'Currency_view\', None) is not None)\n
dms_mode = (getattr(context, \'DocumentModule_viewDocumentList\', None) is not None)\n
\n
express_pref_dict = context.ERP5Site_getExpressPreferenceDict()\n
subscription_status = express_pref_dict.get(\'subscription_status\')\n
configuration_status = express_pref_dict.get(\'configuration_status\')\n
user_id = express_pref_dict.get(\'user_id\')\n
\n
SUPPORT_ENABLED = \'support_enabled\'\n
SUPPORT_DISABLED = \'support_disabled\'\n
ADVERTISEMENT_ENABLED = \'advertisement_enabled\'\n
\n
portal = context.getPortalObject()\n
\n
if getattr(portal, \'portal_wizard\', None) is None:\n
express_mode = SUPPORT_DISABLED\n
elif subscription_status:\n
if user_id:\n
express_mode = SUPPORT_ENABLED\n
else:\n
express_mode = SUPPORT_DISABLED\n
else:\n
express_mode = ADVERTISEMENT_ENABLED\n
\n
# One more test for express\n
# If a user uses an account for configurator, only express tab will be displayed.\n
member = portal.portal_membership.getAuthenticatedMember()\n
role_list = list(member.getRoles())\n
role_list.sort()\n
group_list = ()\n
getGroups = getattr(member, \'getGroups\', None)\n
if role_list == [\'Authenticated\', \'Member\'] and not getGroups():\n
basic_mode = False\n
dms_mode = False\n
\n
return {\'basic_mode\': basic_mode,\n
\'dms_mode\': dms_mode,\n
\'express_mode\': express_mode,}\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></string> </value>
</item>
<item>
<key> <string>_proxy_roles</string> </key>
<value>
<tuple>
<string>Manager</string>
</tuple>
</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>0</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>getattr</string>
<string>context</string>
<string>None</string>
<string>basic_mode</string>
<string>dms_mode</string>
<string>_getattr_</string>
<string>express_pref_dict</string>
<string>subscription_status</string>
<string>configuration_status</string>
<string>user_id</string>
<string>SUPPORT_ENABLED</string>
<string>SUPPORT_DISABLED</string>
<string>ADVERTISEMENT_ENABLED</string>
<string>portal</string>
<string>express_mode</string>
<string>member</string>
<string>list</string>
<string>role_list</string>
<string>group_list</string>
<string>getGroups</string>
<string>False</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>ERP5Site_getConfiguredStatusDict</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ProxyRole(Manager)</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>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</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>tool = context.portal_preferences\n
subscription_status = tool.getPreference(\'preferred_express_subscription_status\')\n
configuration_status = tool.getPreference(\'preferred_express_configuration_status\')\n
user_id = tool.getPreference(\'preferred_express_user_id\')\n
\n
return {\'subscription_status\':subscription_status,\n
\'configuration_status\':configuration_status,\n
\'user_id\':user_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>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>0</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>_getattr_</string>
<string>context</string>
<string>tool</string>
<string>subscription_status</string>
<string>configuration_status</string>
<string>user_id</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>ERP5Site_getExpressPreferenceDict</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>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</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>language = context.Localizer.get_selected_language()\n
\n
SUPPORT_ENABLED = \'support_enabled\'\n
SUPPORT_DISABLED = \'support_disabled\'\n
ADVERTISEMENT_ENABLED = \'advertisement_enabled\'\n
\n
if express_mode==SUPPORT_ENABLED:\n
# For Express users.\n
proxy_path = \'web_site_module/express_frame/WebSite_viewExpressCustomerSupportMenu\'\n
elif express_mode==SUPPORT_DISABLED:\n
return \'\'\n
else:\n
# Advertisement\n
# XXXX FIX THIS URL!!!\n
proxy_path = \'web_site_module/express_frame/WebSite_viewDummyAdvertisement\'\n
\n
\n
# XXX we need to think about https\n
traverse_subpath = proxy_path.split(\'/\')\n
context.REQUEST.set(\'traverse_subpath\', traverse_subpath)\n
return context.portal_wizard.proxy()\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>express_mode</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>express_mode</string>
<string>_getattr_</string>
<string>context</string>
<string>language</string>
<string>SUPPORT_ENABLED</string>
<string>SUPPORT_DISABLED</string>
<string>ADVERTISEMENT_ENABLED</string>
<string>proxy_path</string>
<string>traverse_subpath</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>ERP5Site_getExpressSupportHTML</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>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</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>tab_list = context.ERP5Site_getTabList()\n
if tab_list:\n
# Obtain the selected tab from the request. This is typically a cookie.\n
selected_tab = context.REQUEST.get(\'erp5_site_selected_tab\', None)\n
for tab in tab_list:\n
if tab[\'id\'] == selected_tab:\n
break\n
else:\n
# If not matched, use the first one.\n
tab = tab_list[0]\n
else:\n
tab = None\n
\n
# Renew a cookie, if possible.\n
if tab is not None:\n
context.REQUEST.RESPONSE.setCookie(\'erp5_site_selected_tab\', tab[\'id\'])\n
\n
return tab\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></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>0</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>_getattr_</string>
<string>context</string>
<string>tab_list</string>
<string>None</string>
<string>selected_tab</string>
<string>_getiter_</string>
<string>tab</string>
<string>_getitem_</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>ERP5Site_getSelectedTab</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>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</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>def getTabList(**kw):\n
tab_list = []\n
\n
status_dict = context.ERP5Site_getConfiguredStatusDict()\n
basic_mode = status_dict[\'basic_mode\']\n
dms_mode = status_dict[\'dms_mode\'] or 1\n
express_mode = status_dict[\'express_mode\']\n
\n
info_dict = context.ERP5Site_getCategorizedModuleActionInformationDict()\n
\n
if dms_mode:\n
tab_list.append({\'id\': \'quick_search_tab\',\n
\t \'icon\': \'tab_icon/access_search.png\',\n
\'renderer\': \'ERP5Site_renderQuickSearchDialog\',\n
\'title\': \'Quick Search\'})\n
\n
tab_list.append({\'id\': \'contribution_tab\',\n
\t \'icon\': \'tab_icon/share.png\',\n
\'renderer\': \'ERP5Site_renderContributionDialog\',\n
\'title\': \'Contribute\'})\n
\n
if basic_mode:\n
if info_dict.get(\'view\'):\n
tab_list.append({\'id\': \'browse_tab\',\n
\t \'icon\': \'tab_icon/list.png\',\n
\'renderer\': \'ERP5Site_renderViewActionList\',\n
\'title\': \'Browse\'})\n
if info_dict.get(\'add\'):\n
tab_list.append({\'id\': \'document_creation_tab\',\n
\t \'icon\': \'tab_icon/filenew.png\',\n
\'renderer\': \'ERP5Site_renderDocumentCreationActionList\',\n
\'title\': \'New\'})\n
\n
if info_dict.get(\'search\'):\n
tab_list.append({\'id\': \'document_search_tab\',\n
\t \'icon\': \'tab_icon/filefind.png\',\n
\'renderer\': \'ERP5Site_renderDocumentSearchActionList\',\n
\'title\': \'Dig\'})\n
\n
if info_dict.get(\'report\'):\n
tab_list.append({\'id\': \'report_tab\',\n
\t \'icon\': \'tab_icon/webexport.png\',\n
\'renderer\': \'ERP5Site_renderReportActionList\',\n
\'title\': \'Reports\'})\n
\n
if info_dict.get(\'print\'):\n
tab_list.append({\'id\': \'printout_tab\',\n
\t \'icon\': \'tab_icon/ps.png\',\n
\'renderer\': \'ERP5Site_renderPrintActionList\',\n
\'title\': \'Printouts\'})\n
\n
if info_dict.get(\'exchange\'):\n
tab_list.append({\'id\': \'exchange_tab\',\n
\t \'icon\': \'tab_icon/imp-exp.png\',\n
\'renderer\': \'ERP5Site_renderExchangeActionList\',\n
\'title\': \'Exchange\'})\n
\n
if express_mode in (\'support_enabled\', \'advertisement_enabled\'):\n
tab_list.append({\'id\': \'express_support_tab\',\n
\t \'icon\': \'tab_icon/support.png\',\n
\'renderer\': \'ERP5Site_renderExpressSupport\',\n
\'title\': \'Express Support\'})\n
\n
return tab_list\n
\n
return getTabList()\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></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>0</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>getTabList</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>ERP5Site_getTabList</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>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<tuple/>
</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 xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<div class="fieldset hidden_label">\n
\n
<div>\n
<input type="file" name="contribute_file" size="30" />\n
</div>\n
<tal:block tal:define="contribute_prefix string:contribute_">\n
<div>\n
<label for="classification" value="" i18n:translate="" i18n:domain="ui">Classification</label>\n
<select size="1" name="classification" id="classification"\n
tal:attributes="name string:${contribute_prefix}classification">\n
<option value="" value="" i18n:translate="" i18n:domain="ui">-- Select Classification --</option>\n
<option tal:repeat="item python:[c for c in here.portal_categories.classification.getCategoryChildLogicalPathItemList()[1:] if len(c[1].split(\'/\'))>1]" tal:content="python:item[0]" tal:attributes="value python:item[1]">\n
Agricultural Development\n
</option>\n
</select>\n
</div>\n
<div>\n
<label for="source_project" value="" i18n:translate="" i18n:domain="ui">Programme</label>\n
<select size="1" id="source_project" name="source_project"\n
tal:attributes="name string:${contribute_prefix}source_project"\n
tal:define="ticket_module nocall:here/ticket_module|nothing;\n
project_module nocall:here/project_module|nothing;">\n
<option value="" value="" i18n:translate="" i18n:domain="ui">-- Select Programme --</option>\n
<option tal:condition="project_module"\n
tal:repeat="item python:[(o.getTitle(),o.getRelativeUrl()) for o in project_module.searchFolder()]" tal:content="python:item[0]" tal:attributes="value python:item[1]">\n
Project Name\n
</option>\n
<option tal:condition="ticket_module"\n
tal:repeat="item python:[(o.getTitle(),o.getRelativeUrl()) for o in ticket_module.searchFolder()]" tal:content="python:item[0]" tal:attributes="value python:item[1]">\n
Ticket Name\n
</option>\n
</select>\n
</div>\n
</tal:block>\n
\n
<p class="clear" />\n
<div style="float:none; margin-top:10px;">\n
<input type="submit" name="ERP5Site_uploadContributeContent:method" value="Contribute"/>\n
</div>\n
</div>\n
</tal:block>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5Site_renderContributionDialog</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>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<tuple/>
</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 xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
tal:define="info_dict here/ERP5Site_getCategorizedModuleActionInformationDict;\n
add_info info_dict/add | nothing">\n
<div>\n
<tal:block tal:repeat="module_category add_info">\n
<div style="width:25%; min-width:150px; float:left;"\n
tal:define="module_list python:module_category[1]">\n
<ul style="list-style-type:none; padding-left:10px;">\n
<li style="font-weight:bold; color:#002e3f;"\n
tal:content="python:module_category[0]"/>\n
<ul style="list-style-type:none; padding-left:0;">\n
<tal:block tal:repeat="module module_list">\n
<tal:block tal:define="action_list python:module[1];\n
default_action python:test(len(action_list) > 1, None, action_list[0])"\n
tal:condition="python:action_list">\n
<li style="color:#002e3f;">\n
<a href=""\n
tal:omit-tag="python:default_action is None"\n
tal:attributes="href python:default_action and default_action[1]"\n
tal:content="python:default_action and default_action[0] or module[0]">\n
</a>\n
</li>\n
<ul tal:condition="python:default_action is None"\n
style="list-style-type:none; padding-left:15px;">\n
<li tal:repeat="action action_list">\n
<a style="color:#3d7474"\n
tal:content="python:action[0]"\n
tal:attributes="href python:action[1]"/>\n
</li>\n
</ul>\n
</tal:block>\n
</tal:block>\n
</ul>\n
</ul>\n
</div>\n
</tal:block>\n
</div>\n
</tal:block>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5Site_renderDocumentCreationActionList</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>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<tuple/>
</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 xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
tal:define="info_dict here/ERP5Site_getCategorizedModuleActionInformationDict;\n
module_category_list info_dict/search">\n
<tal:block tal:repeat="module_category module_category_list">\n
<div style="width:25%; min-width:150px; float:left;"\n
class="tabbertabcont"\n
tal:define="module_list python:module_category[1]">\n
<ul style="list-style-type:none; padding-left:10px;"\n
tal:condition="python:module_list">\n
<li style="font-weight:bold; color:#002e3f;"\n
tal:content="python:module_category[0]" />\n
<ul style="list-style-type:none; padding-left:0;">\n
<tal:block tal:repeat="module module_list">\n
<tal:block tal:define="action_list python:module[1];\n
default_action python:test(len(action_list) > 1, None, action_list[0])"\n
tal:condition="python:action_list">\n
<li style="color:#002e3f;">\n
<span style="color:#002e3f;"\n
tal:condition="not:default_action"\n
tal:content="python:module[0]"></span>\n
<a tal:condition="default_action"\n
tal:content="python:module[0]"\n
tal:attributes="href python:default_action[1]"></a>\n
</li>\n
<ul tal:condition="not:default_action"\n
style="list-style-type:none; padding-left:15px;">\n
<li tal:repeat="action action_list">\n
<a style="color:#3d7474"\n
tal:content="python:action[0]"\n
tal:attributes="href python:action[1]"></a>\n
</li>\n
</ul>\n
</tal:block>\n
</tal:block>\n
</ul>\n
</ul>\n
</div>\n
</tal:block>\n
</tal:block>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5Site_renderDocumentSearchActionList</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>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<tuple/>
</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 xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
tal:define="info_dict here/ERP5Site_getCategorizedModuleActionInformationDict;\n
module_category_list info_dict/exchange">\n
<tal:block tal:repeat="module_category module_category_list">\n
<div style="width:25%; min-width:150px; float:left;"\n
class="tabbertabcont"\n
tal:define="module_list python:module_category[1]">\n
<ul style="list-style-type:none; padding-left:10px;"\n
tal:condition="python:module_list">\n
<li style="font-weight:bold; color:#002e3f;"\n
tal:content="python:module_category[0]" />\n
<ul style="list-style-type:none; padding-left:0;">\n
<tal:block tal:repeat="module module_list">\n
<tal:block tal:define="action_list python:module[1];\n
default_action python:test(len(action_list) > 1, None, action_list[0])"\n
tal:condition="python:action_list">\n
<li style="color:#002e3f;">\n
<span style="color:#002e3f;"\n
tal:condition="not:default_action"\n
tal:content="python:module[0]"></span>\n
<a tal:condition="default_action"\n
tal:content="python:module[0]"\n
tal:attributes="href python:default_action[1]"></a>\n
</li>\n
<ul tal:condition="not:default_action"\n
style="list-style-type:none; padding-left:15px;">\n
<li tal:repeat="action action_list">\n
<a style="color:#3d7474"\n
tal:content="python:action[0]"\n
tal:attributes="href python:action[1]"></a>\n
</li>\n
</ul>\n
</tal:block>\n
</tal:block>\n
</ul>\n
</ul>\n
</div>\n
</tal:block>\n
</tal:block>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5Site_renderExchangeActionList</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>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<tuple/>
</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 xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
tal:define="configured_status_dict here/ERP5Site_getConfiguredStatusDict;\n
express_mode configured_status_dict/express_mode;">\n
<tal:block replace="structure python:here.ERP5Site_getExpressSupportHTML(express_mode)"></tal:block>\n
</tal:block>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5Site_renderExpressSupport</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>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<tuple/>
</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 xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
tal:define="info_dict here/ERP5Site_getCategorizedModuleActionInformationDict;\n
module_category_list info_dict/print">\n
<tal:block tal:repeat="module_category module_category_list">\n
<div style="width:25%; min-width:150px; float:left;"\n
class="tabbertabcont"\n
tal:define="module_list python:module_category[1]">\n
<ul style="list-style-type:none; padding-left:10px;"\n
tal:condition="python:module_list">\n
<li style="font-weight:bold; color:#002e3f;"\n
tal:content="python:module_category[0]" />\n
<ul style="list-style-type:none; padding-left:0;">\n
<tal:block tal:repeat="module module_list">\n
<tal:block tal:define="action_list python:module[1];\n
default_action python:test(len(action_list) > 1, None, action_list[0])"\n
tal:condition="python:action_list">\n
<li style="color:#002e3f;">\n
<span style="color:#002e3f;"\n
tal:condition="not:default_action"\n
tal:content="python:module[0]"></span>\n
<a tal:condition="default_action"\n
tal:content="python:module[0]"\n
tal:attributes="href python:default_action[1]"></a>\n
</li>\n
<ul tal:condition="not:default_action"\n
style="list-style-type:none; padding-left:15px;">\n
<li tal:repeat="action action_list">\n
<a style="color:#3d7474"\n
tal:content="python:action[0]"\n
tal:attributes="href python:action[1]"></a>\n
</li>\n
</ul>\n
</tal:block>\n
</tal:block>\n
</ul>\n
</ul>\n
</div>\n
</tal:block>\n
</tal:block>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5Site_renderPrintActionList</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>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<tuple/>
</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 xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<div>\n
<input type="text" size="40" name="new_advanced_search_text" id="SearchableText" class="autofocus"/>\n
<tal:block i18n:translate="" i18n:domain="ui">in</tal:block>\n
<select size="1" class="input" name="new_advanced_search_portal_type">\n
<option value="" selected value="" i18n:translate="" i18n:domain="ui">Everything</option>\n
<option value="all" selected value="" i18n:translate="" i18n:domain="ui">All Documents</option>\n
<option tal:repeat="ptype here/getPortalDocumentTypeList"\n
tal:attributes="value ptype"\n
tal:content="python:ptype"\n
i18n:translate="" i18n:domain="ui">\n
Standard Type\n
</option>\n
<option value="" i18n:translate="" i18n:domain="ui">-- Directory --</option>\n
<option value="Person" i18n:translate="" i18n:domain="ui">Person</option>\n
<option value="Organisation" i18n:translate="" i18n:domain="ui">Organisation</option>\n
</select>\n
<input type="submit" name="ERP5Site_viewQuickSearchResultList:method" value="Search"\n
i18n:attributes="value" i18n:domain="ui"/>\n
</div>\n
</tal:block>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5Site_renderQuickSearchDialog</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>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<tuple/>
</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 xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
tal:define="info_dict here/ERP5Site_getCategorizedModuleActionInformationDict;\n
module_category_list info_dict/report">\n
<tal:block tal:repeat="module_category module_category_list">\n
<div style="width:25%; min-width:150px; float:left;"\n
class="tabbertabcont"\n
tal:define="module_list python:module_category[1]">\n
<ul style="list-style-type:none; padding-left:10px;"\n
tal:condition="python:module_list">\n
<li style="font-weight:bold; color:#002e3f;"\n
tal:content="python:module_category[0]" />\n
<ul style="list-style-type:none; padding-left:0;">\n
<tal:block tal:repeat="module module_list">\n
<tal:block tal:define="action_list python:module[1];\n
default_action python:test(len(action_list) > 1, None, action_list[0])"\n
tal:condition="python:action_list">\n
<li style="color:#002e3f;">\n
<span style="color:#002e3f;"\n
tal:condition="not:default_action"\n
tal:content="python:module[0]"></span>\n
<a tal:condition="default_action"\n
tal:content="python:module[0]"\n
tal:attributes="href python:default_action[1]"></a>\n
</li>\n
<ul tal:condition="not:default_action"\n
style="list-style-type:none; padding-left:15px;">\n
<li tal:repeat="action action_list">\n
<a style="color:#3d7474"\n
tal:content="python:action[0]"\n
tal:attributes="href python:action[1]"></a>\n
</li>\n
</ul>\n
</tal:block>\n
</tal:block>\n
</ul>\n
</ul>\n
</div>\n
</tal:block>\n
</tal:block>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5Site_renderReportActionList</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>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<tuple/>
</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 xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
tal:define="selected_tab options/selected_tab">\n
<ul id="tab_box" \n
tal:define="current_url here/absolute_url"><li tal:repeat="tab here/ERP5Site_getTabList"\n
id="quick_search_tab" class="selected"\n
tal:attributes="class python:test(selected_tab == tab[\'id\'], \'selected\', \'non_selected\');\n
id tab/id"><a href="view"\n
tal:attributes="href python:\'%s/view?erp5_site_selected_tab=%s\' % (current_url, tab[\'id\'])">\n
<span>\n
<img tal:attributes="src python:tab[\'icon\'] ; alt python:tab[\'id\']" width="16px" height="16px">\n
<tal:block i18n:translate="" i18n:domain="ui" tal:content="tab/title" /></span></a></li></ul>\n
</tal:block>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5Site_renderTabList</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>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<tuple/>
</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 xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
tal:define="info_dict here/ERP5Site_getCategorizedModuleActionInformationDict;\n
module_category_list info_dict/view">\n
<tal:block tal:repeat="module_category module_category_list">\n
<div style="width:25%; min-width:150px; float:left;"\n
tal:define="module_list python:module_category[1]">\n
<ul style="list-style-type:none; padding-left:10px;">\n
<li style="font-weight:bold; color:#002e3f;"\n
tal:content="python:module_category[0]"/>\n
<ul style="list-style-type:none; padding-left:0;">\n
<tal:block tal:repeat="module module_list">\n
<li style="color:#002e3f;">\n
<a tal:content="python:module[0]"\n
tal:attributes="href python:module[1][0][1]"></a>\n
</li>\n
</tal:block>\n
</ul>\n
</ul>\n
</div>\n
</tal:block>\n
</tal:block>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5Site_renderViewActionList</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
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