Skip to content

Instantly share code, notes, and snippets.

@simahawk
Last active December 12, 2015 03:29
Show Gist options
  • Save simahawk/4707567 to your computer and use it in GitHub Desktop.
Save simahawk/4707567 to your computer and use it in GitHub Desktop.
register plone user and notify if needed
def _register(self, username, properties):
member = None
try:
# force encoding to utf8
for k,v in properties.items():
properties[k]= v.encode('utf8')
member = self.regtool.addMember(username, properties['fullname'], properties['email'])
member.setMemberProperties(properties)
self.created += 1
msg = "created user '%s' -> %s" % (username,str(properties))
logger.info(msg)
self.success.append(msg)
self.add_to_group.append(username)
if not _validateEmail(properties['email']):
msg = "validating email address '%s' for %s" % (properties['email'],username)
e = "invalid email address '%s' for %s" % (properties['email'],username)
self.errors.append(dict(msg=msg,error=e))
except ValueError, e:
msg = "failed creation user '%s' -> %s" % (username,str(properties))
self.errors.append(dict(msg=msg,error=e))
logger.error(msg)
logger.error(e)
if self.must_notify:
try:
self.regtool.registeredNotify(username)
msg = "notified user %s" % username
logger.info(msg)
self.success.append(msg)
return True
except ValueError, e:
msg = "failed notification user %s" % username
self.errors.append(dict(msg=msg,error=e))
logger.error(msg)
logger.error(e)
return False
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment