From 9157cb6aab6365f364bd736346d85d3976371dcb Mon Sep 17 00:00:00 2001 From: Ivan Tyagov <ivan@nexedi.com> Date: Fri, 28 May 2010 08:28:55 +0000 Subject: [PATCH] Move from erp5_discussion generic script to get Person's assignment details. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@35703 20353a03-c40f-0410-a6d1-a30d3c3de9de --- .../ERP5Site_getPersonAssignmentDict.xml | 169 ++++++++++++++++++ bt5/erp5_base/bt/revision | 2 +- 2 files changed, 170 insertions(+), 1 deletion(-) create mode 100644 bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/ERP5Site_getPersonAssignmentDict.xml diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/ERP5Site_getPersonAssignmentDict.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/ERP5Site_getPersonAssignmentDict.xml new file mode 100644 index 0000000000..9a37538027 --- /dev/null +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/ERP5Site_getPersonAssignmentDict.xml @@ -0,0 +1,169 @@ +<?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>Script_magic</string> </key> + <value> <int>3</int> </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 + Get Person assignment details.\n +"""\n +\n +from Products.ERP5Type.Cache import CachingMethod\n +\n +portal = context.getPortalObject()\n +result = {\'group_list\': [],\n + \'site_list\': [],\n + \'function_list\': [],\n + \'destination_trade_relative_url\': None}\n +person = portal.ERP5Site_getAuthenticatedMemberPersonValue(user_name=user_name)\n +if person is None:\n + return result\n +\n +def getAssignmentDict(username):\n + person = portal.restrictedTraverse(person_relative_url)\n + assignment_list = person.Person_getAvailableAssignmentValueList()\n + for assignment in assignment_list:\n + assignment = assignment.getObject()\n + result[\'group_list\'].extend(assignment.getGroupList())\n + result[\'function_list\'].extend(assignment.getFunctionList())\n + result[\'site_list\'].extend(assignment.getSiteList())\n + result[\'destination_trade_relative_url\'] = assignment.getDestinationTradeRelativeUrl()\n + return result\n +\n +person_relative_url = person.getRelativeUrl()\n +getAssignmentDict = CachingMethod(getAssignmentDict,\n + ("ERP5Site_getPersonAssignmentDict",),\n + cache_factory=\'erp5_ui_short\')\n +return getAssignmentDict(person_relative_url)\n +</string> </value> + </item> + <item> + <key> <string>_code</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>user_name=None</string> </value> + </item> + <item> + <key> <string>_proxy_roles</string> </key> + <value> + <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>1</int> </value> + </item> + <item> + <key> <string>co_varnames</string> </key> + <value> + <tuple> + <string>user_name</string> + <string>Products.ERP5Type.Cache</string> + <string>CachingMethod</string> + <string>_getattr_</string> + <string>context</string> + <string>portal</string> + <string>None</string> + <string>result</string> + <string>person</string> + <string>person_relative_url</string> + <string>getAssignmentDict</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_getPersonAssignmentDict</string> </value> + </item> + <item> + <key> <string>warnings</string> </key> + <value> + <tuple/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision index 5d5ad96f9f..4f1a32f190 100644 --- a/bt5/erp5_base/bt/revision +++ b/bt5/erp5_base/bt/revision @@ -1 +1 @@ -764 \ No newline at end of file +765 \ No newline at end of file -- 2.30.9