def createUsers(result): if not result: return False if not member_jids: return True deferred_list = [] roster_jids = [] for member_jid in member_jids: d = setupPrincipal(client, member_jid, member_passwords[member_jid], roster_jids) roster_jids.append(member_jid) deferred_list.append(d) if deferred_list: d = defer.DeferredList(deferred_list, consumeErrors=True) return d return True
def onUserCreation(event): """Create a jabber account for new user. """ client = getUtility(IAdminClient) xmpp_users = getUtility(IXMPPUsers) storage = getUtility(IPubSubStorage) principal = event.principal mtool = getToolByName(principal, 'portal_membership') principal_id = principal.getUserId() principal_jid = xmpp_users.getUserJID(principal_id) members_jids = [xmpp_users.getUserJID(member.getUserId()) for member in mtool.listMembers()] pass_storage = getUtility(IXMPPPasswordStorage) principal_pass = pass_storage.set(principal_id) storage.leaf_nodes.append(principal_id) storage.node_items[principal_id] = [] storage.collections['people'].append(principal_id) storage.publishers[principal_id] = [principal_id] d = setupPrincipal(client, principal_jid, principal_pass, members_jids) return d