[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/ - added 'global/members_register' Action for redirects

Yvo Schubbe y.2011 at wcm-solutions.de
Fri Jul 29 02:47:08 EDT 2011


Log message for revision 122407:
  - added 'global/members_register' Action for redirects

Changed:
  U   Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/members.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/profiles/default/actions.xml
  U   Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/actions.xml
  U   Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/join_form.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/members_manage_form.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml
  U   Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py

-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt	2011-07-29 06:34:27 UTC (rev 122406)
+++ Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt	2011-07-29 06:47:08 UTC (rev 122407)
@@ -4,6 +4,9 @@
 2.3.0-alpha (unreleased)
 ------------------------
 
+- Actions: Added 'global/members_register' Action for redirects.
+  It is similar to 'user/join', but adjusted for user managers.
+
 - MemberDataTool: Changed property modes to 'w' and added 'fullname' property.
 
 - File and Image: Made sure `id` is always an attribute and not a method.

Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/members.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/members.py	2011-07-29 06:34:27 UTC (rev 122406)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/members.py	2011-07-29 06:47:08 UTC (rev 122407)
@@ -156,7 +156,7 @@
 
     def handle_add(self, action, data):
         """Redirect to the join form where managers can add users"""
-        return self._setRedirect('portal_actions', 'user/join')
+        return self._setRedirect('portal_actions', 'global/members_register')
 
     def handle_select_for_deletion(self, action, data):
         """Identify members to be deleted and redirect to confirmation

Modified: Products.CMFDefault/trunk/Products/CMFDefault/profiles/default/actions.xml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/profiles/default/actions.xml	2011-07-29 06:34:27 UTC (rev 122406)
+++ Products.CMFDefault/trunk/Products/CMFDefault/profiles/default/actions.xml	2011-07-29 06:47:08 UTC (rev 122407)
@@ -210,6 +210,20 @@
    </property>
    <property name="visible">True</property>
   </object>
+  <object name="members_register" meta_type="CMF Action"
+     i18n:domain="cmf_default">
+   <property name="title" i18n:translate="">Register a new member</property>
+   <property name="description"
+      i18n:translate="">Register a new portal member</property>
+   <property name="url_expr">string:${portal_url}/join_form</property>
+   <property name="link_target"></property>
+   <property name="icon_expr">string:${portal_url}/join_icon.png</property>
+   <property name="available_expr"></property>
+   <property name="permissions">
+    <element value="Manage users"/>
+   </property>
+   <property name="visible">False</property>
+  </object>
   <object name="members_delete" meta_type="CMF Action"
      i18n:domain="cmf_default">
    <property name="title" i18n:translate="">Delete members</property>

Modified: Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/actions.xml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/actions.xml	2011-07-29 06:34:27 UTC (rev 122406)
+++ Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/actions.xml	2011-07-29 06:47:08 UTC (rev 122407)
@@ -30,6 +30,9 @@
   <object name="manage_members" meta_type="CMF Action">
    <property name="url_expr">string:${portal_url}/@@members.html</property>
   </object>
+  <object name="members_register" meta_type="CMF Action">
+   <property name="url_expr">string:${portal_url}/@@join.html</property>
+  </object>
   <object name="configPortal" meta_type="CMF Action">
    <property name="url_expr">string:${portal_url}/@@configure.html</property>
   </object>

Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/join_form.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/join_form.py	2011-07-29 06:34:27 UTC (rev 122406)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/join_form.py	2011-07-29 06:47:08 UTC (rev 122407)
@@ -21,7 +21,8 @@
 if add and \
         context.validatePassword(**form) and \
         context.members_add_control(**form) and \
-        context.setRedirect(atool, 'user/join', b_start=b_start):
+        context.setRedirect(atool, ('global/members_register', 'user/join'),
+                            b_start=b_start):
     return
 elif cancel and \
         context.setRedirect(atool, 'global/manage_members', b_start=b_start):
@@ -52,7 +53,8 @@
     target = atool.getActionInfo('user/logged_in')['url']
     buttons.append( {'name': 'login', 'value': _(u'Log in')} )
 else:
-    target = atool.getActionInfo('user/join')['url']
+    target = atool.getActionInfo(('global/members_register',
+                                  'user/join'))['url']
     buttons.append( {'name': 'add', 'value': _(u'Register')} )
     buttons.append( {'name': 'cancel', 'value': _(u'Cancel')} )
 options['form'] = { 'action': target,

Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/members_manage_form.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/members_manage_form.py	2011-07-29 06:34:27 UTC (rev 122406)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/members_manage_form.py	2011-07-29 06:47:08 UTC (rev 122407)
@@ -17,7 +17,7 @@
                             ids=ids):
     return
 elif members_new and \
-        context.setRedirect(atool, 'user/join', b_start=b_start):
+        context.setRedirect(atool, 'global/members_register', b_start=b_start):
     return
 
 

Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml	2011-07-29 06:34:27 UTC (rev 122406)
+++ Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml	2011-07-29 06:47:08 UTC (rev 122407)
@@ -210,8 +210,8 @@
 
     <genericsetup:upgradeStep
         title="Upgrade actions tool"
-        description="Add 'change_password' and 'syndication' action if
-                     missing."
+        description="Add 'change_password', 'members_register' and
+                    'syndication' action if missing."
         handler=".to23.upgrade_actions_tool"
         checker=".to23.check_actions_tool"
         />

Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py	2011-07-29 06:34:27 UTC (rev 122406)
+++ Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py	2011-07-29 06:47:08 UTC (rev 122407)
@@ -114,6 +114,10 @@
     except AttributeError:
         return True
     try:
+        atool['global'].members_register # 'global' is a reserved word in Python
+    except (KeyError, AttributeError):
+        return True
+    try:
         atool['global'].syndication # 'global' is a reserved word in Python
     except (KeyError, AttributeError):
         return True
@@ -128,6 +132,8 @@
     environ._should_purge = False
     getMultiAdapter((atool, environ), IBody).body = _ACTIONS_PASSWORD_XML
     logger.info("'change_password' action added.")
+    getMultiAdapter((atool, environ), IBody).body = _ACTIONS_REGISTER_XML
+    logger.info("'members_register' action added.")
     getMultiAdapter((atool, environ), IBody).body = _ACTIONS_SYNDICATION_XML
     logger.info("'portal syndication settings' action added.")
 
@@ -155,6 +161,28 @@
 </object>
 """
 
+_ACTIONS_REGISTER_XML = """\
+<object name="portal_actions" meta_type="CMF Actions Tool"
+   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+ <object name="global" meta_type="CMF Action Category">
+  <object name="members_register" meta_type="CMF Action"
+     insert-after="manage_members" i18n:domain="cmf_default">
+   <property name="title" i18n:translate="">Register a new member</property>
+   <property name="description"
+      i18n:translate="">Register a new portal member</property>
+   <property name="url_expr">string:${portal_url}/join_form</property>
+   <property name="link_target"></property>
+   <property name="icon_expr">string:${portal_url}/join_icon.png</property>
+   <property name="available_expr"></property>
+   <property name="permissions">
+    <element value="Manage users"/>
+   </property>
+   <property name="visible">False</property>
+  </object>
+ </object>
+</object>
+"""
+
 _ACTIONS_SYNDICATION_XML = """\
 <object name="portal_actions" meta_type="CMF Actions Tool"
    xmlns:i18n="http://xml.zope.org/namespaces/i18n">



More information about the checkins mailing list