+++ /dev/null
-## Script (Python) "member_registration_modify"
-##parameters=members=[], register=None, reject=None, ajax=''
-##title=Modify the status of a content object
-
-from Products.CMFCore.utils import getToolByName
-from ZTUtils import make_query as mq
-req = context.REQUEST
-resp = req.RESPONSE
-
-utool = getToolByName(context, 'portal_url')
-portal = utool.getPortalObject()
-mtool = getToolByName(portal, 'portal_membership')
-
-workflow_action = ''
-wfkw = {}
-
-if register :
- members = [ mtool.getMemberById(entry['id']) for entry in members if entry.has_key('checked') ]
- workflow_action = 'register'
- nbMembers = len(members)
- if not nbMembers :
- message = 'Please select at least one member.'
- elif nbMembers == 1 :
- message = 'Member registered.'
- else :
- message = 'Members registered.'
-
-elif reject :
- # handle form from reject_member_form
- members = [ mtool.getMemberById(entry['id']) for entry in members if entry.has_key('checked') ]
- workflow_action = 'reject'
- form = req.form
- wfkw['subject'] = form.get('subject', '')
- wfkw['body'] = form.get('body', '')
- message = 'Registration rejected.'
-
-else :
- for m in members :
- if m.has_key('reject') :
- resp.redirect('%s/reject_member_form?%s' % ( portal.absolute_url(),
- mq(id=m['id'], ajax=ajax) ))
- return
- raise ValueError, 'No action selected.'
-
-wtool = getToolByName(portal, 'portal_workflow')
-
-for m in members:
- wtool.doActionFor(m, workflow_action, wf_id = 'member_workflow', **wfkw)
-
-
-
-if ajax :
- query = mq(portal_status_message=message, ajax='1', syncFragments=['rightCell'] )
-else :
- query = mq(portal_status_message=message)
-redirect_url = portal.absolute_url() + '/pending_members?'+ query
-
-resp.redirect( redirect_url )
\ No newline at end of file