diff --git a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/WebSite_redirectToUserView.xml b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/WebSite_redirectToUserView.xml index ac0c9879cad576161ef5f12ac080c33ee3133d70..1e28e727d0e77bac617c269403f7f3b5d2f61a9c 100644 --- a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/WebSite_redirectToUserView.xml +++ b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/WebSite_redirectToUserView.xml @@ -59,21 +59,29 @@ - Implement a wholistic view on user information\n (documents, membership, etc.)\n """\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 -# No user found\n translateString = context.Base_translateString\n -return context.Base_redirect(form_id, editable_mode=editable_mode,\n - keep_items={\'portal_status_message\': translateString("Sorry, user ${user} could not be accessed.", mapping = dict(user = user))})\n +\n +# Return if anonymous\n +if context.portal_membership.isAnonymousUser():\n + msg = translateString("Anonymous users do not have a personal profile.")\n + return context.Base_redirect(form_id="view", \n + keep_items={\'portal_status_message\':msg})\n +\n +# Call generic erp5_base method to find user value \n +person_object = context.ERP5Site_getAuthenticatedMemberPersonValue(user)\n +\n +# Return if no such user\n +if person_object is None:\n + msg = translateString("This user has no personal profile.")\n + return context.Base_redirect(form_id="view", keep_items={\'portal_status_message\':msg})\n +\n +return person_object.Base_redirect(form_id="view",\n + keep_items={\'editable_mode\':editable_mode})\n </string> </value> </item> <item> <key> <string>_params</string> </key> - <value> <string>user, form_id, editable_mode=0</string> </value> + <value> <string>user=None, form_id="view", editable_mode=0</string> </value> </item> <item> <key> <string>id</string> </key> diff --git a/bt5/erp5_web/bt/revision b/bt5/erp5_web/bt/revision index 2d677318be9a7f186911d1213fec0ee5c2361989..487d273ddaf2d90947797f377d091c4b08061a64 100644 --- a/bt5/erp5_web/bt/revision +++ b/bt5/erp5_web/bt/revision @@ -1 +1 @@ -1039 \ No newline at end of file +1040 \ No newline at end of file