Guest User

Untitled

a guest
Jul 19th, 2018
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.05 KB | None | 0 0
  1. Index: browser/register.py
  2. ===================================================================
  3. --- browser/register.py (revision 32115)
  4. +++ browser/register.py (working copy)
  5. @@ -316,11 +316,14 @@
  6. @form.action(_(u'label_register', default=u'Register'),
  7. validator='validate_registration', name=u'register')
  8. def action_join(self, action, data):
  9. + try:
  10. + self.create_user(data)
  11. + except (AttributeError, ValueError), err:
  12. + IStatusMessage(self.request).addStatusMessage(err, type="error")
  13. + return
  14. return self.handle_join_success(data)
  15.  
  16. - def handle_join_success(self, data):
  17. - portal = getUtility(ISiteRoot)
  18. - registration = getToolByName(self.context, 'portal_registration')
  19. + def create_user(self, data):
  20. portal_props = getToolByName(self.context, 'portal_properties')
  21. props = portal_props.site_properties
  22. use_email_as_login = props.getProperty('use_email_as_login')
  23. @@ -335,9 +338,21 @@
  24. self.request.form['form.username'] = data['email']
  25.  
  26. username = data['username']
  27. + registration = getToolByName(self.context, 'portal_registration')
  28.  
  29. - password = data.get('password') or registration.generatePassword()
  30. + username = data['username']
  31. + password = data.get('password', None) or \
  32. + registration.generatePassword()
  33. +
  34. + registration.addMember(username, password, properties=data,
  35. + REQUEST=self.request)
  36. +
  37. + def handle_join_success(self, data):
  38. + portal = getUtility(ISiteRoot)
  39. +
  40. if portal.validate_email or data.get('mail_me', 0):
  41. + username = data['username']
  42. + registration = getToolByName(self.context, 'portal_registration')
  43. try:
  44. registration.registeredNotify(username)
  45. except ConflictError:
  46. @@ -416,33 +431,31 @@
  47. @form.action(_(u'label_register', default=u'Register'),
  48. validator='validate_registration', name=u'register')
  49. def action_join(self, action, data):
  50. - errors = super(AddUserForm, self).handle_join_success(data)
  51. - portal_groups = getToolByName(self.context, 'portal_groups')
  52. - registration = getToolByName(self.context, 'portal_registration')
  53. + try:
  54. + self.create_user(data)
  55. + except (AttributeError, ValueError), err:
  56. + IStatusMessage(self.request).addStatusMessage(err, type="error")
  57. + return
  58.  
  59. - securityManager = getSecurityManager()
  60. - canManageUsers = securityManager.checkPermission('Manage users',
  61. - self.context)
  62. username = data['username']
  63. - password = data.get('password', None) or \
  64. - registration.generatePassword()
  65. -
  66. + portal_groups = getToolByName(self.context, 'portal_groups')
  67. try:
  68. - registration.addMember(username, password, properties=data,
  69. - REQUEST=self.request)
  70. -
  71. # Add user to the selected group(s)
  72. + securityManager = getSecurityManager()
  73. + canManageUsers = securityManager.checkPermission('Manage users',
  74. + self.context)
  75. if 'groups' in data.keys() and canManageUsers:
  76. add = data['groups']
  77. for groupname in add:
  78. group = portal_groups.getGroupById(groupname)
  79. group.addMember(username, REQUEST=self.request)
  80. -
  81. except (AttributeError, ValueError), err:
  82. -
  83. + # XXX show a different error?
  84. IStatusMessage(self.request).addStatusMessage(err, type="error")
  85. return
  86.  
  87. + errors = super(AddUserForm, self).handle_join_success(data)
  88. + # XXX Should we do anything with these errors?
  89. IStatusMessage(self.request).addStatusMessage(
  90. _(u"User added."), type='info')
  91. self.request.response.redirect(
Add Comment
Please, Sign In to add comment