[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/ Join as view added including upgrade step but not configured as check for profile still required.
Charlie Clark
charlie at begeistert.org
Sat Sep 18 04:04:02 EDT 2010
Log message for revision 116548:
Join as view added including upgrade step but not configured as check for profile still required.
Changed:
U Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/configure.zcml
U Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/actions.xml
U Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py
-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/configure.zcml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/configure.zcml 2010-09-18 00:49:30 UTC (rev 116547)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/configure.zcml 2010-09-18 08:04:00 UTC (rev 116548)
@@ -72,4 +72,11 @@
permission="cmf.SetOwnPassword"
/>
+ <browser:page
+ for="*"
+ class=".user.Snoop"
+ name="userjs.html"
+ permission="zope.Public"
+ />
+
</configure>
Modified: Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/actions.xml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/actions.xml 2010-09-18 00:49:30 UTC (rev 116547)
+++ Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/actions.xml 2010-09-18 08:04:00 UTC (rev 116548)
@@ -19,6 +19,49 @@
</property>
<property name="visible">True</property>
</object>
+ <object name="join" meta_type="CMF Action" i18n:domain="cmf_default">
+ <property name="title" i18n:translate="">Join</property>
+ <property name="description"
+ i18n:translate="">Click here to Join</property>
+ <property name="url_expr">string:${portal_url}/@@join.html</property>
+ <property name="link_target"></property>
+ <property name="icon_expr">string:${portal_url}/join_icon.png</property>
+ <property name="available_expr">not: member</property>
+ <property name="permissions">
+ <element value="Add portal member"/>
+ </property>
+ <property name="visible">True</property>
+ </object>
+ <object name="change_password" meta_type="CMF Action"
+ i18n:domain="cmf_default">
+ <property name="title" i18n:translate="">Change password</property>
+ <property name="description"
+ i18n:translate="">Change your password</property>
+ <property name="url_expr">string:${portal_url}/password_form</property>
+ <property name="link_target"></property>
+ <property
+ name="icon_expr">string:${portal_url}/preferences_icon.png</property>
+ <property name="available_expr">member</property>
+ <property name="permissions">
+ <element value="Set own password"/>
+ </property>
+ <property name="visible">True</property>
+ </object>
+ <object name="preferences" meta_type="CMF Action" i18n:domain="cmf_default">
+ <property name="title" i18n:translate="">Preferences</property>
+ <property name="description"
+ i18n:translate="">Change your user preferences</property>
+ <property
+ name="url_expr">string:${portal_url}/@@preferences.html</property>
+ <property name="link_target"></property>
+ <property
+ name="icon_expr">string:${portal_url}/preferences_icon.png</property>
+ <property name="available_expr">member</property>
+ <property name="permissions">
+ <element value="View"/>
+ </property>
+ <property name="visible">True</property>
+ </object>
<object name="logout" meta_type="CMF Action" i18n:domain="cmf_default">
<property name="title" i18n:translate="">Log out</property>
<property name="description"
@@ -32,6 +75,52 @@
</property>
<property name="visible">True</property>
</object>
+ <object name="addFavorite" meta_type="CMF Action" i18n:domain="cmf_default">
+ <property name="title" i18n:translate="">Add to favorites</property>
+ <property name="description"
+ i18n:translate="">Add this item to your favorites</property>
+ <property name="url_expr">string:${object_url}/addtoFavorites</property>
+ <property name="link_target"></property>
+ <property
+ name="icon_expr">string:${portal_url}/addfavorite_icon.png</property>
+ <property
+ name="available_expr">portal/portal_membership/getHomeFolder</property>
+ <property name="permissions">
+ <element value="View"/>
+ </property>
+ <property name="visible">True</property>
+ </object>
+ <object name="mystuff" meta_type="CMF Action" i18n:domain="cmf_default">
+ <property name="title" i18n:translate="">My stuff</property>
+ <property name="description"
+ i18n:translate="">Goto your home folder</property>
+ <property
+ name="url_expr">string:${portal/portal_membership/getHomeUrl}/folder_contents</property>
+ <property name="link_target"></property>
+ <property name="icon_expr">string:${portal_url}/user_icon.png</property>
+ <property
+ name="available_expr">python: member and portal.portal_membership.getHomeFolder()</property>
+ <property name="permissions">
+ <element value="View"/>
+ </property>
+ <property name="visible">True</property>
+ </object>
+ <object name="favorites" meta_type="CMF Action" i18n:domain="cmf_default">
+ <property name="title" i18n:translate="">My favorites</property>
+ <property name="description"
+ i18n:translate="">Browse your favorites</property>
+ <property
+ name="url_expr">string:${portal/portal_membership/getHomeUrl}/Favorites/folder_contents</property>
+ <property name="link_target"></property>
+ <property
+ name="icon_expr">string:${portal_url}/favorite_icon.png</property>
+ <property
+ name="available_expr">python: member and hasattr(portal.portal_membership.getHomeFolder(), "Favorites")</property>
+ <property name="permissions">
+ <element value="View"/>
+ </property>
+ <property name="visible">True</property>
+ </object>
<object name="logged_in" meta_type="CMF Action" i18n:domain="cmf_default">
<property name="title" i18n:translate="">Logged in</property>
<property name="description" i18n:translate="">Used by scripts</property>
@@ -45,4 +134,123 @@
<property name="visible">False</property>
</object>
</object>
+ <object name="object" meta_type="CMF Action Category">
+ <property name="title"></property>
+ <object name="reply" meta_type="CMF Action" i18n:domain="cmf_default">
+ <property name="title" i18n:translate="">Reply</property>
+ <property name="description" i18n:translate=""></property>
+ <property
+ name="url_expr">string:${object_url}/discussion_reply_form</property>
+ <property name="link_target"></property>
+ <property name="icon_expr">string:${portal_url}/reply_icon.png</property>
+ <property
+ name="available_expr">python: object is not None and portal.portal_discussion.isDiscussionAllowedFor(object)</property>
+ <property name="permissions">
+ <element value="Reply to item"/>
+ </property>
+ <property name="visible">True</property>
+ </object>
+ <object name="syndication" meta_type="CMF Action" i18n:domain="cmf_default">
+ <property name="title" i18n:translate="">Syndication</property>
+ <property name="description" i18n:translate=""></property>
+ <property name="url_expr">string:${folder_url}/synPropertiesForm</property>
+ <property name="link_target"></property>
+ <property
+ name="icon_expr">string:${portal_url}/syndication_icon.png</property>
+ <property name="available_expr">python: folder is object</property>
+ <property name="permissions">
+ <element value="Manage properties"/>
+ </property>
+ <property name="visible">True</property>
+ </object>
+ <object name="interfaces" meta_type="CMF Action" i18n:domain="cmf_default">
+ <property name="title" i18n:translate="">Interfaces</property>
+ <property name="description"
+ i18n:translate="">Assign marker interfaces</property>
+ <property name="url_expr">string:${object_url}/edit-markers.html</property>
+ <property name="link_target"></property>
+ <property
+ name="icon_expr">string:${portal_url}/interfaces_icon.png</property>
+ <property name="available_expr"></property>
+ <property name="permissions">
+ <element value="Manage portal"/>
+ </property>
+ <property name="visible">True</property>
+ </object>
+ </object>
+ <object name="folder" meta_type="CMF Action Category">
+ <property name="title"></property>
+ <object name="folderContents" meta_type="CMF Action"
+ i18n:domain="cmf_default">
+ <property name="title" i18n:translate="">Folder contents</property>
+ <property name="description" i18n:translate=""></property>
+ <property name="url_expr">string:${folder_url}/folder_contents</property>
+ <property name="link_target"></property>
+ <property name="icon_expr">string:${portal_url}/folder_icon.png</property>
+ <property name="available_expr">python: folder is not object</property>
+ <property name="permissions">
+ <element value="List folder contents"/>
+ </property>
+ <property name="visible">True</property>
+ </object>
+ </object>
+ <object name="global" meta_type="CMF Action Category">
+ <property name="title"></property>
+ <object name="manage_members" meta_type="CMF Action"
+ i18n:domain="cmf_default">
+ <property name="title" i18n:translate="">Manage members</property>
+ <property name="description"
+ i18n:translate="">Manage portal members</property>
+ <property
+ name="url_expr">string:${portal_url}/members_manage_form</property>
+ <property name="link_target"></property>
+ <property name="icon_expr">string:${portal_url}/members_icon.png</property>
+ <property name="available_expr"></property>
+ <property name="permissions">
+ <element value="Manage users"/>
+ </property>
+ <property name="visible">True</property>
+ </object>
+ <object name="members_delete" meta_type="CMF Action"
+ i18n:domain="cmf_default">
+ <property name="title" i18n:translate="">Delete members</property>
+ <property name="description"
+ i18n:translate="">Delete portal members</property>
+ <property
+ name="url_expr">string:${portal_url}/members_delete_form</property>
+ <property name="link_target"></property>
+ <property name="icon_expr"></property>
+ <property name="available_expr"></property>
+ <property name="permissions">
+ <element value="Manage users"/>
+ </property>
+ <property name="visible">False</property>
+ </object>
+ <object name="undo" meta_type="CMF Action" i18n:domain="cmf_default">
+ <property name="title" i18n:translate="">Undo</property>
+ <property name="description" i18n:translate=""></property>
+ <property name="url_expr">string:${portal_url}/undo_form</property>
+ <property name="link_target"></property>
+ <property name="icon_expr">string:${portal_url}/undo_icon.png</property>
+ <property name="available_expr">member</property>
+ <property name="permissions">
+ <element value="List undoable changes"/>
+ </property>
+ <property name="visible">True</property>
+ </object>
+ <object name="configPortal" meta_type="CMF Action"
+ i18n:domain="cmf_default">
+ <property name="title" i18n:translate="">Reconfigure Portal</property>
+ <property name="description"
+ i18n:translate="">Reconfigure the portal</property>
+ <property name="url_expr">string:${portal_url}/reconfig_form</property>
+ <property name="link_target"></property>
+ <property name="icon_expr">string:${portal_url}/tool_icon.png</property>
+ <property name="available_expr"></property>
+ <property name="permissions">
+ <element value="Manage portal"/>
+ </property>
+ <property name="visible">True</property>
+ </object>
+ </object>
</object>
Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py 2010-09-18 00:49:30 UTC (rev 116547)
+++ Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py 2010-09-18 08:04:00 UTC (rev 116548)
@@ -15,14 +15,40 @@
import logging
+from zope.component import getMultiAdapter
+
from Acquisition import aq_base
from Acquisition import aq_inner
from Acquisition import aq_parent
from OFS.userfolder import UserFolder
from Products.CMFCore.utils import getToolByName
+from Products.GenericSetup.context import SetupEnviron
+from Products.GenericSetup.interfaces import IBody
_MARKER = object()
+_ACTIONS_XML = """\
+<?xml version="1.0"?>
+<object name="portal_actions" meta_type="CMF Actions Tool"
+ xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+ <object insert-after="join" name="change_password" meta_type="CMF Action"
+ i18n:domain="cmf_default">
+ <property name="title" i18n:translate="">Change password</property>
+ <property name="description"
+ i18n:translate="">Change your password</property>
+ <property name="url_expr">string:${portal_url}/password_form</property>
+ <property name="link_target"></property>
+ <property
+ name="icon_expr">string:${portal_url}/preferences_icon.png</property>
+ <property name="available_expr">member</property>
+ <property name="permissions">
+ <element value="Set own password"/>
+ </property>
+ <property name="visible">True</property>
+ </object>
+</object>
+"""
+
def check_cookie_crumbler(tool):
"""2.2.x to 2.3.0 upgrade step checker
"""
@@ -100,3 +126,23 @@
users._ofs_migrated = True
users._p_changed = True
logger.info("Updated UserFolder class.")
+
+def check_actions_tool(tool):
+ """2.2.x to 2.3.0 upgrade step checker
+ """
+ atool = getToolByName(tool, 'portal_actions')
+ try:
+ atool.user.change_password
+ except AttributeError:
+ return True
+ return False
+
+def upgrade_actions_tool(tool):
+ """2.2.x to 2.3.0 upgrade step handler
+ """
+ logger = logging.getLogger('GenericSetup.upgrade')
+ atool = getToolByName(tool, 'portal_actions')
+ environ = SetupEnviron()
+ environ._should_purge = False
+ getMultiAdapter((atool, environ), IBody).body = _ACTIONS_XML
+ logger.info("'change_password' action added.")
\ No newline at end of file
More information about the checkins
mailing list