From ac585802da1cc86125a292f16556c04f1397c26c Mon Sep 17 00:00:00 2001 From: Nicolas Delaby <nicolas@nexedi.com> Date: Mon, 30 May 2011 11:35:58 +0200 Subject: [PATCH] fork Event_getEventResourceItemList because we need to add Auditor proxy roles on this script, in order to let anonymous users to access resource item list. --- .../WebSection_getEventResourceItemList.xml | 32 ++++++++++++++++--- bt5/erp5_web/bt/revision | 2 +- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_crm/WebSection_getEventResourceItemList.xml b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_crm/WebSection_getEventResourceItemList.xml index 6561a0d798..db2409ad14 100644 --- a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_crm/WebSection_getEventResourceItemList.xml +++ b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_crm/WebSection_getEventResourceItemList.xml @@ -50,18 +50,40 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>"""Create a temp event then returns\n -Event_getResourceItemList to display list of supported Resources of events.\n + <value> <string>"""Inspired by Event_getResourceItemList\n +Use Auditor proxy role to let anonymous users accessing resources.\n """\n -from Products.ERP5Type.Document import newTempEvent\n -event = newTempEvent(context, \'temp_event\')\n -return event.Event_getResourceItemList()\n +\n +from Products.ERP5Type.Cache import CachingMethod\n +portal = context.getPortalObject()\n +\n +sql_kw = {\'portal_type\': portal.getPortalResourceTypeList(),\n + \'use_uid\': portal.portal_categories.getCategoryUid(portal.portal_preferences.getPreferredEventUse(), base_category=\'use\'),\n + \'validation_state\': \'validated\',\n + \'sort_on\': \'title\'}\n +\n +def getResourceItemList():\n + return [(\'\', \'\')] + [(result.getTitle(), result.getRelativeUrl()) for result in portal.portal_catalog(**sql_kw)]\n +\n +getResourceItemList = CachingMethod(getResourceItemList, \n + id=(script.id, context.Localizer.get_selected_language()), \n + cache_factory=\'erp5_ui_long\')\n +\n +return getResourceItemList()\n </string> </value> </item> <item> <key> <string>_params</string> </key> <value> <string></string> </value> </item> + <item> + <key> <string>_proxy_roles</string> </key> + <value> + <tuple> + <string>Auditor</string> + </tuple> + </value> + </item> <item> <key> <string>id</string> </key> <value> <string>WebSection_getEventResourceItemList</string> </value> diff --git a/bt5/erp5_web/bt/revision b/bt5/erp5_web/bt/revision index 318d1517d8..12b3ce6528 100644 --- a/bt5/erp5_web/bt/revision +++ b/bt5/erp5_web/bt/revision @@ -1 +1 @@ -1055 \ No newline at end of file +1056 \ No newline at end of file -- 2.30.9