Exemplo n.º 1
0
def GetLoginDetails(request):
    encdec  = Encrypt()
    try:
        if "details" in request.session.keys():
            token = request.session["details"]
            UpdateLoggedInUsersDict(token['loginid'])
            return {"userid":token['userid'],"groupid":token['groupid'],"loginid": encdec.decrypt(token['loginid']),}
        else:
            return {"userid":-1}
    except:
        LOGGERUSER.exception('EXCEPTION IN GetLoginDetails')
        return {"userid":-1}
Exemplo n.º 2
0
def Login(HttpRequest):
    usrfn = UserFnx()
    ip = HttpRequest.META["REMOTE_ADDR"]
    try:
        email = ""
        password = ""
        flag = 0
        if "LoginUser_email" in HttpRequest.POST.keys():
            email = HttpRequest.POST["LoginUser_email"]
        else:
            messages.error(HttpRequest, "ERROR : Email required for logging in.")
            flag = 1
        # TODO check if this is a valid email id or not
        if "LoginUser_pass" in HttpRequest.POST.keys():
            password = HttpRequest.POST["LoginUser_pass"]
        else:
            messages.error(HttpRequest, "ERROR : Password required for logging in.")
            flag = 1
        if len(password) < 4:
            messages.error(HttpRequest, "ERROR : Minimum password length should be 4.")
            flag = 1
        if flag is 1:
            return HttpResponseRedirect("/user/login/")
        else:
            res = usrfn.LoginUser(email, password, Login_From_Type, ip)
            if res[0] == 1:
                result = res[1]
                if result["result"] == 1:
                    encdec = Encrypt()
                    token = {
                        "userid": result["userid"],
                        "groupid": result["groupid"],
                        "loginid": encdec.encrypt(str(result["loginid"])),
                        "fname": result["username"],
                    }
                    HttpRequest.session["details"] = token
                    return HttpResponseRedirect("/userprofile/UserProfile/StudentDetails/")
                else:
                    messages.error(HttpRequest, res[1])
                    return HttpResponseRedirect("/message/")
            else:
                messages.error(HttpRequest, res[1])
                return HttpResponseRedirect("/message/")
    except Exception, ex:
        frame = inspect.currentframe()
        args, _, _, values = inspect.getargvalues(frame)
        msg = ""
        for i in args:
            msg += "[%s : %s]" % (i, values[i])
        LoggerUser.exception("%s : %s" % (inspect.getframeinfo(frame)[2], msg))
        messages.error(HttpRequest, "ERROR: " + str(ex))
        return HttpResponseRedirect("/message/")
Exemplo n.º 3
0
def GetLoginDetails(request):
    encdec  = Encrypt()
#    obj=User.objects.get(UserEmail='*****@*****.**')
#    return {"userid":obj.id,"groupid":obj.Group.id,"loginid": 1,"fname":obj.UserFirstName,}
    try:
        if "details" in request.session.keys():
            token = request.session["details"]
            #UpdateLoggedInUsersDict(token['loginid'])
            return {"userid":token['userid'],"groupid":token['groupid'],"loginid": encdec.decrypt(token['loginid']),"fname":token['fname'],}
        else:
            return {"userid":-1}
    except:
        LOGGERUSER.exception('EXCEPTION IN GetLoginDetails')
        return {"userid":-1}
Exemplo n.º 4
0
	def _RegisterUserFromSiteSystem(self):
		try:
			msg = ''
			msglist = []
			enc_dec = Encrypt()
			StateActiveObj = SecurityStates.objects.get(StateName=SYSTEM_STATE_ACTIVE,StateDescription=SYSTEM_STATE_ACTIVE)
			SystemInsertPermissionObject = SecurityPermissions.objects.get(PermissionName=SYSTEM_PERMISSION_INSERT)
			SYSTEM_STATE_USER_REGISTER_Object = SecurityStates.objects.get(StateName=SYSTEM_STATE_USER_REGISTER,StateDescription=SYSTEM_STATE_USER_REGISTER)
			SYSTEM_PERMISSION_EMAIL_AUObject = SecurityPermissions.objects.get(PermissionName=SYSTEM_PERMISSION_EMAIL_AU)
			SYSTEM_STATE_USER_EMAIL_AUObject = SecurityStates.objects.get(StateName=SYSTEM_STATE_USER_EMAIL_AU,StateDescription=SYSTEM_STATE_USER_EMAIL_AU)
			# GROUP
			
			GroupTypeObj,created = GroupType.objects.get_or_create(GroupTypeName=SYSTEM_GROUPTYPE,GroupTypeDescription=SYSTEM_GROUPTYPE)
			
			EntityObj,created = Entity.objects.get_or_create(EntityName=SYSTEM_ENTITY,EntityDescription=SYSTEM_ENTITY)
			
			Group_CREATEUSERDAEMON_Obj,created = Group.objects.get_or_create(GroupName=SYSTEM_CREATEUSERDAEMON_GROUP,GroupDescription=SYSTEM_CREATEUSERDAEMON_GROUP,GroupType=GroupTypeObj,GroupEntity=EntityObj,State=StateActiveObj)
			msg = 'OBJECT = %s, RESULT = %s\t%s'%("Group",Group_CREATEUSERDAEMON_Obj.GroupName,created)
			self.SecurityLogger.debug('[%s] %s'%('_RegisterUserFromSiteSystem',msg))
			msglist.append(msg)
			
			Group_SYSTEM_DAEMON_CREATE_USER_GROUP_Obj,created = Group.objects.get_or_create(GroupName=SYSTEM_DAEMON_CREATE_USER_GROUP,GroupDescription=SYSTEM_DAEMON_CREATE_USER_GROUP,GroupType=GroupTypeObj,GroupEntity=EntityObj,State=StateActiveObj)
			msg = 'OBJECT = %s, RESULT = %s\t%s'%("Group",Group_SYSTEM_DAEMON_CREATE_USER_GROUP_Obj.GroupName,created)
			self.SecurityLogger.debug('[%s] %s'%('_RegisterUserFromSiteSystem',msg))
			msglist.append(msg)
			
			Group_SYSTEM_DAEMON_USERAU_USER_GROUP_Obj,created = Group.objects.get_or_create(GroupName=SYSTEM_DAEMON_USERAU_USER_GROUP,GroupDescription=SYSTEM_DAEMON_USERAU_USER_GROUP,GroupType=GroupTypeObj,GroupEntity=EntityObj,State=StateActiveObj)
			msg = 'OBJECT = %s, RESULT = %s\t%s'%("Group",Group_SYSTEM_DAEMON_USERAU_USER_GROUP_Obj.GroupName,created)
			self.SecurityLogger.debug('[%s] %s'%('_RegisterUserFromSiteSystem',msg))
			msglist.append(msg)
			
			
			#get content type of Users_user
			ctlist = ContentType.objects.all()
			ctype = ContentType()
			for x in ctlist:
				if x.app_label == 'Users' and x.model == 'user':
					ctype = x
					
			Obj,created = SecurityGroupContent.objects.get_or_create(Group=Group_CREATEUSERDAEMON_Obj.id,ContentType=ctype,Permission=SystemInsertPermissionObject,State=SYSTEM_STATE_USER_REGISTER_Object,Active=1)
			msg = 'OBJECT = %s, RESULT = %s\t%s'%(ctype.name,"object",created)
			self.SecurityLogger.debug('[%s] %s'%('_RegisterUserFromSiteSystem',msg))
			msglist.append(msg)
			
			
			Obj,created = SecurityGroupContent.objects.get_or_create(Group=Group_SYSTEM_DAEMON_CREATE_USER_GROUP_Obj.id,ContentType=ctype,Permission=SYSTEM_PERMISSION_EMAIL_AUObject,State=SYSTEM_STATE_USER_EMAIL_AUObject,Active=1)
			msg = 'OBJECT = %s, RESULT = %s\t%s'%(ctype.name,"object",created)
			self.SecurityLogger.debug('[%s] %s'%('_RegisterUserFromSiteSystem',msg))
			msglist.append(msg)
			
			Obj,created = User.objects.get_or_create(UserEmail=SYSTEM_DAEMON_CREATE_USER,UserPassword=enc_dec.encrypt(SYSTEM_DAEMON_CREATE_USER),UserBirthDate=datetime.date.today(),UserFirstName='UserFirstName',UserMiddleName='UserMiddleName',UserLastName='UserLastName',UserEntity=EntityObj,State=StateActiveObj,UserGender='S',Group=Group_CREATEUSERDAEMON_Obj)
			msg = 'OBJECT = %s, RESULT = %s\t%s'%(Obj.UserEmail,"object",created)
			self.SecurityLogger.debug('[%s] %s'%('_RegisterUserFromSiteSystem',msg))
			msglist.append(msg)
			
			return (1,str(msglist))
		except:
			msg = "== EXCEPTION =="
			self.SecurityLogger.exception('[%s] %s'%('_RegisterUserFromSiteSystem',msg))
			return (-1,'Error occured in RegisterUserFromSiteSystem')
Exemplo n.º 5
0
	def _DefaultUserSystem(self):
		
		StateActiveObj = SecurityStates.objects.get(StateName=SYSTEM_STATE_ACTIVE,StateDescription=SYSTEM_STATE_ACTIVE)
		enc_dec = Encrypt()
		try:
			msg = ''
			msglist = []
			# ENTITY
			EntityObj,created = Entity.objects.get_or_create(EntityName=SYSTEM_ENTITY,EntityDescription=SYSTEM_ENTITY)
			msg = 'OBJECT = %s, RESULT = %s\t%s'%("ENTITY",EntityObj.EntityName,created)
			self.SecurityLogger.debug('[%s] %s'%('_DefaultUserSystem',msg))
			msglist.append(msg)
			
			# GROUP TYPE 
			GroupTypeObj,created = GroupType.objects.get_or_create(GroupTypeName=SYSTEM_GROUPTYPE,GroupTypeDescription=SYSTEM_GROUPTYPE)
			msg = 'OBJECT = %s, RESULT = %s\t%s'%("GroupType",GroupTypeObj.GroupTypeName,created)
			self.SecurityLogger.debug('[%s] %s'%('_DefaultUserSystem',msg))
			msglist.append(msg)
			
			GroupTypeObj,created = GroupType.objects.get_or_create(GroupTypeName=SYSTEM_USERDEFINED_GROUPTYPE,GroupTypeDescription=SYSTEM_USERDEFINED_GROUPTYPE)
			msg = 'OBJECT = %s, RESULT = %s\t%s'%("GroupType",GroupTypeObj.GroupTypeName,created)
			self.SecurityLogger.debug('[%s] %s'%('_DefaultUserSystem',msg))
			msglist.append(msg)
			
			# GROUP
			GroupObj,created = Group.objects.get_or_create(GroupName=SYSTEM_GROUP,GroupDescription=SYSTEM_GROUP,GroupType=GroupTypeObj,GroupEntity=EntityObj,State=StateActiveObj)
			msg = 'OBJECT = %s, RESULT = %s\t%s'%("Group",GroupObj.GroupName,created)
			self.SecurityLogger.debug('[%s] %s'%('_DefaultUserSystem',msg))
			msglist.append(msg)
			
			# USER

			UserObj,created = User.objects.get_or_create(UserEmail=SYSTEM_INIT_USER,UserPassword=enc_dec.encrypt(SYSTEM_INIT_USER),UserBirthDate=datetime.date.today(),UserFirstName='UserFirstName',UserMiddleName='UserMiddleName',UserLastName='UserLastName',UserEntity=EntityObj,State=StateActiveObj,UserGender='S',Group=GroupObj)
			msg = 'OBJECT = %s, RESULT = %s\t%s'%("User",UserObj.UserEmail,created)
			self.SecurityLogger.debug('[%s] %s'%('_DefaultUserSystem',msg))
			msglist.append(msg)

			
			# LOGIN TYPE

			LoginTypeObj,created = LoginType.objects.get_or_create(LoginTypeName=SYSTEM_LOGINTYPE,LoginTypeDesc=SYSTEM_LOGINTYPE)
			msg = 'OBJECT = %s, RESULT = %s\t%s'%("LoginType",LoginTypeObj.LoginTypeName,created)
			self.SecurityLogger.debug('[%s] %s'%('_DefaultUserSystem',msg))
			msglist.append(msg)
			return (1,str(msglist))
		except:
			msg = "== EXCEPTION =="
			self.SecurityLogger.exception('[%s] %s'%('_DefaultUserSystem',msg))
			return (-1,'Error occured in DefaultUserSystem')
Exemplo n.º 6
0
 def __init__(self):
     self.encrypt = Encrypt()
     self.UserLogger = logging.getLogger(LoggerUser)
Exemplo n.º 7
0
class UserFnx():
    
    def __init__(self):
        self.encrypt = Encrypt()
        self.UserLogger = logging.getLogger(LoggerUser)
        
    def AuthenticateUserFromSite(self,emailid,ip):
        try:
            to_emailid = self.encrypt.decrypt(emailid)
            s = to_emailid.split('___')
            userid = int(s[0])
            # get the user
            user_obj = User.objects.get(id=userid)
            self.UserLogger.debug('userid = %d, userid from token %d' % (user_obj.id, userid))
            if( user_obj is None ):
            	self.UserLogger.exception('user does not exists')
            	return -1
	    groupid = getSystemGroup_EmailAU();
	    if( groupid == -1):
	    	self.UserLogger.exception('group id is -1')
	    	return -1
            details = {
                       'email':user_obj.UserEmail,
                       'pass':user_obj.UserPassword,
                       'bday':str(user_obj.UserBirthDate),
                       'fname':user_obj.UserFirstName,
                       'mname':user_obj.UserMiddleName,
                       'lname':user_obj.UserLastName,
                       'entity':user_obj.UserEntity.id,
                       'gender':user_obj.UserGender,
                       'LogsDesc':'UserAuthenticationByEmail',
                       'PreviousState':'UserAuthenticationByEmail',
                       'group':groupid,
                       'op':SYSTEM_PERMISSION_EMAIL_AU,
                       'by':userid,
                       'ip':ip,
                       }
            self.UserLogger.debug('userid = %d, details = %s' % (userid, str(details)))
            result = DBUpdateUser(details)
            self.UserLogger.debug('result = %s' % (result))
            return (1,result)
        except:
            exception_log = ('[%s] %s,%s')%('AuthenticateUserFromSite',ip,emailid)
            self.UserLogger.exception(exception_log)
            return (-1,'error in authenticating user')
        
    def InsertUser(self,email,password,fname,mname,lname,gender,bday,entity,group,by,ip,op=SYSTEM_PERMISSION_INSERT):
        try:
            user = {'email':email, 
                    'pass':self.encrypt.encrypt(password),
                    'fname':fname,
                    'lname':lname,
                    'mname':mname,
                    'gender':gender,
                    'bday':str(bday), #date
                     'entity':entity,
                    'group':group,
                     'op':op,
                    'by':by,
                    'ip':ip}
            result = DBInsertUser(user)
            if ( result['result'] == 1):
            	 self.send_mail_test(email,result['rescode'],fname,ip)
            return (1,result)
        except:
            exception_log = ('[%s] %s,%s')%('InsertUserFromSite',ip,email)
            self.UserLogger.exception(exception_log)
            return (-1,'error in inserting user')
            
    def UpdateUser(self,email,password,bday,fname,mname,lname,entity,gender,group,by,ip,op=SYSTEM_PERMISSION_UPDATE):
        try:
#            to_emailid = self.encrypt.decrypt(emailid)
#            user_obj = User.objects.get(id=userid)
#            self.UserLogger.debug('userid = %d, userid from token %d' % (user_obj.id, userid))
#	    self.UserLogger.exception('group id is -1')
#	    return -1
#            details = {
#                       'email':email,
#                       'pass':password,
#                       'bday':str(bday),
#                       'fname':fname,
#                       'mname':mname,
#                       'lname':lname,
#                       'entity':user_obj.UserEntity.id,
#                       'gender':gender,
#                       'LogsDesc':'UserAuthenticationByEmail',
#                       'PreviousState':'UserAuthenticationByEmail',
#                       'group':groupid,
#                       'op':SYSTEM_PERMISSION_EMAIL_AU,
#                       'by':userid,
#                       'ip':ip,
#                       }
#            self.UserLogger.debug('userid = %d, details = %s' % (userid, str(details)))
#            result = DBUpdateUser(details)
#            self.UserLogger.debug('result = %s' % (result))
            return (1,'')
        except:
            exception_log = ('[%s] %s,%s')%('AuthenticateUserFromSite',ip,emailid)
            self.UserLogger.exception(exception_log)
            return (-1,'error in authenticating user')
        ##################################################################
    
    def ResetPass(self,password,user_obj,_LogsDesc,_PreviousState,by,ip,op=SYSTEM_PERMISSION_UPDATE):
    	try:
            details = {
                       'email':user_obj.UserEmail,
                       'pass':password,
                       'bday':str(user_obj.UserBirthDate),
                       'fname':user_obj.UserFirstName,
                       'mname':user_obj.UserMiddleName,
                       'lname':user_obj.UserLastName,
                       'entity':user_obj.UserEntity.id,
                       'gender':user_obj.UserGender,
                       'LogsDesc':_LogsDesc,
                       'PreviousState':_PreviousState,
                       'group':user_obj.Group.id,
                       'op':op,
                       'by':by,
                       'ip':ip,
                       }
            result = DBUpdateUser(details)
            self.UserLogger.debug('result = %s' % (result))
            return (1,result)
        except:
            exception_log = ('[%s] %s')%('ResetPass',ip)
            self.UserLogger.exception(exception_log)
            return (-1,'error in ResetPass')
    
    
    # do not send encrypted passes
    def ChangePassword(self,oldpass,newpass,by,ip,userid=-1,op=SYSTEM_PERMISSION_UPDATE):
    	try:
    		if len(oldpass) < 4 or len(newpass) < 4:
    			self.UserLogger.debug('Error, length less than 4 oldpass = %s, newpass = %s, ip = %s , userid = %d' % (oldpass,newpass,ip,userid))
    			return (-1,'ERROR: Length of password should be atleast 4')
    		oldpass = self.encrypt.encrypt(oldpass)
    		newpass = self.encrypt.encrypt(newpass)
    		user_obj = User()
    		if userid == -1:
    			self.UserLogger.debug('Error, no userid or emailid provided oldpass = %s, newpass = %s, ip = %s , userid = %d' % (oldpass,newpass,ip,userid))
    			return (-1,'ERROR: either pass userid or emailid')
    		user_obj = User.objects.get(id=userid)
    		if user_obj is None:
    			self.UserLogger.debug('Error,no user object retrieved oldpass = %s, newpass = %s, ip = %s , emailid = %s, userid = %d' % (oldpass,newpass,ip,str(emailid),userid))
    			return (-1,'ERROR: No such user exists')
            	if user_obj.UserPassword != oldpass:
            		self.UserLogger.debug('Error,Old Pasword does not match oldpass = %s, newpass = %s, ip = %s , userid = %d' % (oldpass,newpass,ip,userid))
    			return (-1,'ERROR: Old Pasword does not match')
    		PreviousState = "{oldpass:"******"}"
    		LogsDesc = 'Changed Password'
		return self.ResetPass(newpass,user_obj,LogsDesc,PreviousState,by,ip,op=SYSTEM_PERMISSION_UPDATE)
    	except:
            exception_log = ('[%s] %s,%d')%('ChangePassword',ip,userid)
            self.UserLogger.exception(exception_log)
            return (-1,'error in Changing password')
            
            
    def ForgetPassword(self,emailid,by,ip,op=SYSTEM_PERMISSION_UPDATE):
    	try:
    		user_obj = User()
    		user_obj = User.objects.get(UserEmail=emailid)
    		if by == -1:
    			by = user_obj.id
    		if user_obj is None:
    			self.UserLogger.debug('Error,no user object retrieved')
    			return (-1,'ERROR: No such user exists')
    		PreviousState = "{oldpass:"******"}"
    		LogsDesc = 'Forget Password'
    		import random
    		password = str(random.randint(100000,999999))
    		# send an email 
    		self.send_email_forget_pass(emailid,password)
    		#generate a new password
    		self.UserLogger.exception("password reset for " + emailid + " new password is " + str(password))
		return self.ResetPass(self.encrypt.encrypt(password),user_obj,LogsDesc,PreviousState,by,ip,op=SYSTEM_PERMISSION_UPDATE)
    	except:
            exception_log = ('[%s] %s,%s')%('ForgetPassword',ip,emailid)
            self.UserLogger.exception(exception_log)
            return (-1,'error in Changing password')

    def LoginUser(self,email,password,_type,ip):
        try:
            details = {'email':email,
                       'pass':self.encrypt.encrypt(password),
                       'login_type':_type,
                        'ip':ip,
                       }
            #print self.encrypt.encrypt(password)
            result = DBLoginUser(details)
            if( int(result['result']) >= 1):
                #MakeGroupMenu(result['groupid'])
                AddLoginIdToLoggedInUsersDict(self.encrypt.encrypt(str(result['loginid'])))
                return(result, decode(int(result['result']),result['rescode']))
            else:
                return(result, decode(int(result['result']),result['rescode']))
        except:
            exception_log = ('[%s] %s,%s %s %s')%('LoginUser',ip,email,_type,self.encrypt.encrypt(password))
            self.UserLogger.exception(exception_log)
            return (-1,'Something un-usual has happened while processing your request. Administrators have been alerted to rectify the error. We will send you a notification in this regard soon')
        
    def LogoutUser(self,loginid,out_from):
        try:
            details = {'loginid':self.encrypt.decrypt(loginid),
                       'logout_from':out_from,
                      }
            result = DBLogoutUser(details)
            if (result['result'] == 1 ):
                ClearLoginIdFromLoggedInUsersDict(self.encrypt.encrypt(str(details['loginid'])))
            return result
        except:
            exception_log = ('[%s] %s')%('LogoutUser',loginid)
            self.UserLogger.exception(exception_log)
            return (-1,'Something un-usual has happened while processing your request. Administrators have been alerted to rectify the error. We will send you a notification in this regard soon')
            

    def send_mail_test(self,email,userid,fname,ip):
    	try:
		token= self.encrypt.encrypt(str(userid) + '___' + email)
		import time
		refs = int(time.time())
		token="http://labs-nitin.thoughtxplore.com/user/authenticate/email/"+token+"/" + str(refs) + "/"
		sendMail([ "*****@*****.**"],"*****@*****.**","authenticate",token)
	except:
		pass
		
		
    def getAllUsers(self):
    	try:
                UsersList =  User.objects.all()
                self.UserLogger.debug('[%s] %s'%('getAllUsers',str(len(UsersList))))                
                return (1,UsersList)
    	except:
                exception_log = ('[%s]')%('getAllUsers')
                self.UserLogger.exception(exception_log)
                return (-1,[])

    def send_email_forget_pass(self,email,password):
    	try:
		import time
		refs = int(time.time())
		token= "password reset for " + email + " <br />new password is " + str(password) 
		sendMail([ "*****@*****.**"],"*****@*****.**","authenticate",token)
	except:
		pass
    
    def getUserObjectByEmailid(self,emailid):
    	try:
    		return User.objects.get(UserEmail=emailid)
    	except:
    		exception_log = ('[%s] emailid =  %s')%('getUserObjectByEmailid',emailid)
            	self.UserLogger.exception(exception_log)
    		return None
    		
    def getUserObjectByUserId(self,UserId):
    	try:
    		return User.objects.get(id=UserId)
    	except:
    		exception_log = ('[%s] UserId =  %d')%('getUserObjectByUserId',UserId)
            	self.UserLogger.exception(exception_log)
    		return None
Exemplo n.º 8
0
 def  __init__(self):
   self.encrypt = Encrypt()
   self.UserLogger = logging.getLogger(LoggerUser)
   self.ExceptionMessage = "Something un-usual has happened while processing your request. Administrators have been alerted to rectify the error. We will send you a notification in this regard soon"
Exemplo n.º 9
0
class UserFnx():
  def  __init__(self):
    self.encrypt = Encrypt()
    self.UserLogger = logging.getLogger(LoggerUser)
    self.ExceptionMessage = "Something un-usual has happened while processing your request. Administrators have been alerted to rectify the error. We will send you a notification in this regard soon"
  def MakeExceptionMessage(self,msg):
    return 'Exception Generated : ' + str(msg) + ' Administrators have been alerted to rectify the error. We will send you a notification in this regard soon.'
    
    
##################### HELPER FUNCTIONS ###################################
    
  def fetch_url(self,url,params):
      params=urllib.urlencode(params)
      f = urllib.urlopen(url+"?"+params)
      return (f.read(), f.code)
    
##################### HELPER FUNCTIONS ###################################
    
  def RegisterUserForForums(self,email,password):
    
    import httplib, urllib, urllib2
    url =   "http://forum.thoughtxplore.com/signup_TX"
    secret= 'A2lx135sVzm$803A88'
    params = {'user':email,'pass':str(password),'email':email, 'secret':secret}
    [content, response_code] = self.fetch_url(url, params)
    self.UserLogger.debug("FORUMS REG - %s , %s"%(email,str(response_code)))
    if(response_code==200):
      return (1, "User has been successfully registered for forums")
    else:
      self.UserLogger.exception('Error in RegisterUserForForums , Response Code is - %d'%(response_code))
      return (-2,self.MakeExceptionMessage(str(response_code)))

  def ResetPswdforForums(self,email,password):
    import httplib, urllib, urllib2
    url =   "http://forum.thoughtxplore.com/pswdchange_TX"
    secret= 'A2lx135sVzm$803A88'
    params = {'user':email,'pass':password,'secret':secret}
    [content, response_code] = self.fetch_url(url, params)
    self.UserLogger.debug("FORUMS REG - %s , %s"%(email,str(response_code)))
    if(response_code==200 ):
      #print content
      return (1, "Password has been has been successfully changed for forums")
    else:
      self.UserLogger.exception('Error in RegisterUserForForums , Response Code is - %d'%(response_code))
      return (-2,self.MakeExceptionMessage(str(response_code)))


    
  def InsertUser(self,email,password,fname,mname,lname,gender,bday,entity,group,by,ip,op=SYSTEM_PERMISSION_INSERT):
    try:
      user = {'email':email, 
              'pass':self.encrypt.encrypt(password),
              'fname':fname,
              'lname':lname,
              'mname':mname,
              'gender':gender,
              'bday':str(bday), #date
              'entity':entity,
              'group':group,
              'op':op,
              'by':by,
              'ip':ip
              }
      result = DBInsertUser(user)
      if ( result['result'] == 1):
        msg = "Your profile has been sucessfully created.Please check your email for activation link."
        self.SendAuthenticationEmail(email,result['rescode'],fname,ip)
        return (1,msg)
      else:
        return (-1,decode(result)) 
    except Exception, ex:
      frame = inspect.currentframe()
      args, _, _, values = inspect.getargvalues(frame)
      msg = ''
      for i in args:
        msg += "[%s : %s]" % (i,values[i])
      self.UserLogger.exception('%s : %s' % (inspect.getframeinfo(frame)[2],msg))
      return (-2,self.MakeExceptionMessage(str(ex)))