def onUserCreation(event): """Create a jabber account for new user. """ xmpp_users = getUtility(IXMPPUsers) principal = event.principal mtool = getToolByName(principal, 'portal_membership') principal_id = principal.getUserId() principal_jid = xmpp_users.getUserJID(principal_id) pass_storage = getUtility(IXMPPPasswordStorage) principal_pass = pass_storage.set(principal_id) D = {} try:D['username'] = unicode(principal_id,'utf-8') except:D['username'] = principal_id D['jid'] = pickle.dumps(principal_jid) try:D['password'] = unicode(principal_pass,'utf-8') except:D['password'] = principal_pass if setupPrincipal(principal_jid, principal_pass, D['username']): ModelsUserOpenFire().set_UserOpenFire(**D) logger.info("Usuario criado altomaticamente") return True else: logger.info("Erro ao criar o usuario") return False
def CreateUserXMPP(username): chat = {} xmpp_users = getUtility(IXMPPUsers) pass_storage = getUtility(IXMPPPasswordStorage) try:chat['username'] = unicode(username,'utf-8') except:chat['username'] = username member_jid = xmpp_users.getUserJID(username) member_password = pass_storage.set(username) chat['jid'] = pickle.dumps(member_jid) try:chat['password'] = unicode(member_password,'utf-8') except:chat['password'] = member_password if setupPrincipal(member_jid, member_password, chat['username']): ModelsUserOpenFire().set_UserOpenFire(**chat) logger.info("Usuario criado no openfire") else: logger.info("Usuario não criado no openfire")
def setupXMPPEnvironment(context): xmpp_users = getUtility(IXMPPUsers) pass_storage = getUtility(IXMPPPasswordStorage) mt = getToolByName(context, 'portal_membership') #member_ids = mt.listMemberIds() obj_member = mt.searchForMembers(**{'name':''}) member_ids = [i.getUserName() for i in obj_member] pass_storage.clear() log = [] for member_id in member_ids: D = {} resposta = {} member_jid = xmpp_users.getUserJID(member_id) member_password = pass_storage.set(member_id) try:D['username'] = unicode(member_id,'utf-8') except:D['username'] = member_id D['jid'] = pickle.dumps(member_jid) try:D['password'] = unicode(member_password,'utf-8') except:D['password'] = member_password resposta['user'] = member_jid if setupPrincipal(member_jid, member_password, D['username']): ModelsUserOpenFire().set_UserOpenFire(**D) resposta['log'] = "Usuario criado com sucesso" else: resposta['log'] = "Erro ao criar o usuario" log.append(resposta) return log