Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: browser/register.py
- ===================================================================
- --- browser/register.py (revision 32115)
- +++ browser/register.py (working copy)
- @@ -316,11 +316,14 @@
- @form.action(_(u'label_register', default=u'Register'),
- validator='validate_registration', name=u'register')
- def action_join(self, action, data):
- + try:
- + self.create_user(data)
- + except (AttributeError, ValueError), err:
- + IStatusMessage(self.request).addStatusMessage(err, type="error")
- + return
- return self.handle_join_success(data)
- - def handle_join_success(self, data):
- - portal = getUtility(ISiteRoot)
- - registration = getToolByName(self.context, 'portal_registration')
- + def create_user(self, data):
- portal_props = getToolByName(self.context, 'portal_properties')
- props = portal_props.site_properties
- use_email_as_login = props.getProperty('use_email_as_login')
- @@ -335,9 +338,21 @@
- self.request.form['form.username'] = data['email']
- username = data['username']
- + registration = getToolByName(self.context, 'portal_registration')
- - password = data.get('password') or registration.generatePassword()
- + username = data['username']
- + password = data.get('password', None) or \
- + registration.generatePassword()
- +
- + registration.addMember(username, password, properties=data,
- + REQUEST=self.request)
- +
- + def handle_join_success(self, data):
- + portal = getUtility(ISiteRoot)
- +
- if portal.validate_email or data.get('mail_me', 0):
- + username = data['username']
- + registration = getToolByName(self.context, 'portal_registration')
- try:
- registration.registeredNotify(username)
- except ConflictError:
- @@ -416,33 +431,31 @@
- @form.action(_(u'label_register', default=u'Register'),
- validator='validate_registration', name=u'register')
- def action_join(self, action, data):
- - errors = super(AddUserForm, self).handle_join_success(data)
- - portal_groups = getToolByName(self.context, 'portal_groups')
- - registration = getToolByName(self.context, 'portal_registration')
- + try:
- + self.create_user(data)
- + except (AttributeError, ValueError), err:
- + IStatusMessage(self.request).addStatusMessage(err, type="error")
- + return
- - securityManager = getSecurityManager()
- - canManageUsers = securityManager.checkPermission('Manage users',
- - self.context)
- username = data['username']
- - password = data.get('password', None) or \
- - registration.generatePassword()
- -
- + portal_groups = getToolByName(self.context, 'portal_groups')
- try:
- - registration.addMember(username, password, properties=data,
- - REQUEST=self.request)
- -
- # Add user to the selected group(s)
- + securityManager = getSecurityManager()
- + canManageUsers = securityManager.checkPermission('Manage users',
- + self.context)
- if 'groups' in data.keys() and canManageUsers:
- add = data['groups']
- for groupname in add:
- group = portal_groups.getGroupById(groupname)
- group.addMember(username, REQUEST=self.request)
- -
- except (AttributeError, ValueError), err:
- -
- + # XXX show a different error?
- IStatusMessage(self.request).addStatusMessage(err, type="error")
- return
- + errors = super(AddUserForm, self).handle_join_success(data)
- + # XXX Should we do anything with these errors?
- IStatusMessage(self.request).addStatusMessage(
- _(u"User added."), type='info')
- self.request.response.redirect(
Add Comment
Please, Sign In to add comment