def Insert(self,MenuList,GroupID,PermissionList,extrainfo,by,ip,RequestedOperation=SYSTEM_PERMISSION_INSERT): MenuStr = self.getStringFromList((MenuList)) if MenuStr[0] != 1: return (-1,MenuStr[1]) PermissionStr = self.getStringFromList((PermissionList)) if PermissionStr[0] != 1: return (-1,PermissionStr[1]) ExtraInfo = self.getStringFromList((extrainfo)) if ExtraInfo[0] != 1: return (-1,ExtraInfo[1]) try: details = { 'MenuStr':MenuStr[1], 'GroupID':GroupID, 'PermissionStr':PermissionStr[1], 'extrainfo':ExtraInfo[1], 'RequestedOperation':RequestedOperation, 'by':by, 'ip':ip, } result = DBGroupMenuInsert(details) if (result['result'] == 1): deleteCacheKey(self.getKey(GroupID)) return (1,'SUCESS. Group Menus has been sucessfully added to database.') 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,str(ex))
def Insert(self,MenuName,MenuDesc,MenuUrl,MenuPid,MenuIcon,by,ip,RequestedOperation=SYSTEM_PERMISSION_INSERT): try: details = { 'MenuName':MenuName, 'MenuDesc':MenuDesc, 'MenuUrl':MenuUrl, 'MenuPid':MenuPid, 'MenuIcon':MenuIcon, 'RequestedOperation':RequestedOperation, 'by':by, 'ip':ip, } result = DBMenuInsert(details) if (result['result'] == 1): deleteCacheKey(self.CACHEKEY) return (1,'SUCESS. Menu has been sucessfully added to database.') 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,str(ex))
def ForgetPassword(self,emailid,by,ip,op=SYSTEM_PERMISSION_UPDATE): try: user_obj = User() user_obj = self.getUserObjectByEmailid(emailid) if user_obj[0] is not 1: return (-1,'ERROR: User Does not exists') user_obj = user_obj[1] if by == -1: by = user_obj.id if user_obj.Group.GroupName == getSystemGroup_NewUsers(): return (-1,"You have not verified your email account.") PreviousState = "{oldpass:"******"}" LogsDesc = 'Forget Password' import random password = str(random.randint(100000,999999)) user_obj.UserPassword = self.encrypt.encrypt(password) #UpdateUser(self,user_obj,_LogsDesc,_PreviousState,by,ip,op=SYSTEM_PERMISSION_UPDATE): result = self.UpdateUser(user_obj,LogsDesc,PreviousState,by,ip,op) if result[0] == 1 : self.ForgetPasswordEmail(emailid,password) #self.ResetPswdforForums(emailid, password) return (1,"SUCESS.Your password has been changed sucessfully.") elif result[0] == -2: return (-2,'Error in Changing Password') elif result[0] == -1: return (-1,decode(result[1])) 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)))
def Delete(self,MenuIDList,by,ip,RequestedOperation=SYSTEM_PERMISSION_DELETE): MenuIDStr = self.getStringFromList(self.getUniqueIntegersList(MenuIDList)[1]) if MenuIDStr[0] != 1: return (-1,MenuIDStr[1]) try: details = { 'MenuIDStr':MenuIDStr[1], 'RequestedOperation':RequestedOperation, 'by':by, 'ip':ip, } result = DBGroupMenuDelete(details) if (result['result'] == 1): from tx2.Users.BusinessFunctions.GroupFunctions import GroupFnx # get a list of groups, and delete cache for each GroupFnxObj = GroupFnx() GroupList = GroupFnxObj.ListAllGroups() if GroupList[0] == 1: for x in GroupList[1]: deleteCacheKey(self.getKey(x.id)) return (1,'SUCESS. Group Menus has been sucessfully deleted from database.') 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,str(ex))
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)))
def ChangeUserGroup(self,userid,GroupName,by,ip,op=SYSTEM_PERMISSION_UPDATE): try: user_obj = self.getUserObjectByUserId(userid) if( user_obj[0] is not 1 ): return (-2,'ERROR : ' + user_obj[1]) user_obj = user_obj[1] GroupFnxObj = GroupFnx() groupobj = GroupFnxObj.getGroupObjectByName(GroupName) if( groupobj[0] is not 1 ): return (-2,'ERROR : ' + groupobj[1]) groupobj = groupobj[1] if user_obj.Group.id == groupobj.id: return (1,'Group has been updated sucessfully.') PreviousGroup = user_obj.Group.id user_obj.Group = groupobj result = self.UpdateUser(user_obj,'ChangeUserGroup',str(PreviousGroup),by,ip,op) if result[0] == 1 : return (1,"Group Change Sucessful") elif result[0] == -2: return (-2,result[1]) elif result[0] == -1: return (-1,decode(result[1])) 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)))
def AuthenticateUserFromSite(self,emailid,ip,op=SYSTEM_PERMISSION_UPDATE): try: to_emailid = self.encrypt.decrypt(emailid) s = to_emailid.split('___') userid = int(s[0]) user_obj = self.getUserObjectByUserId(userid) if( user_obj[0] is not 1 ): return (-2,'ERROR : ' + user_obj[1]) user_obj = user_obj[1] groupid = getSystemGroup_EmailAU() #SYSTEM_DAEMON_USERAU_USER_GROUP if( groupid == -1): self.UserLogger.exception('Error at HelperFunctions, getSystemGroup_EmailAU. It returned -1') return (-2,self.ExceptionMessage) if user_obj.Group.id == groupid: return (1,'Your profile is already verified.You can login.') user_obj.Group.id = groupid result = self.UpdateUser(user_obj,'UserAuthenticationByEmail','UserAuthenticationByEmail',user_obj.id,ip,op) if result[0] == 1 : msg = 'Your profile has been sucessfully activated. ' return (1,msg) elif result[0] == -2: return (-2,result[1]) elif result[0] == -1: return (-1,decode(result[1])) 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)))
def CreateGroup(self,gname,gdesc,gtype,entity,by,ip,req_op=SYSTEM_PERMISSION_INSERT): eid = entity if entity == -1: eid = getSystemEntity() try: details = { 'ip':ip, 'by':by, 'RequestedOperation':req_op, 'GroupEntity':eid, 'GroupType':gtype, 'GroupName':gname, 'GroupDescription':gdesc, } result = DBGroupInsert(details) if (result['result'] == 1): deleteCacheKey(self.CACHE_KEY_ALL_GROUPS) return (1,'SUCESS. Group has been sucessfully added to database.') 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,str(ex))
def CreateGroupType(self, gname, gdesc, by, ip, req_op=SYSTEM_PERMISSION_INSERT): try: details = { 'ip': ip, 'by': by, 'name': gname, 'desc': gdesc, 'req_op': req_op, } result = DBGroupTypeInsert(details) if (result['result'] == 1): deleteCacheKey(self.CACHEKEY) return ( 1, 'SUCESS. GroupType has been sucessfully added to database.' ) 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, str(ex))
def Update(self, MenuId, MenuName, MenuDesc, MenuUrl, MenuPid, MenuIcon, by, ip, LogDesc, RequestedOperation=SYSTEM_PERMISSION_UPDATE): MenuObj = '' try: MenuObj = Menu.objects.get(id=MenuId) except ObjectDoesNotExist: return (-1, 'Menu does not exist.') PreviousState = str(MenuObj) #TODO store based on comparisons try: details = { 'MenuId': MenuId, 'MenuName': MenuName, 'MenuDesc': MenuDesc, 'MenuUrl': MenuUrl, 'MenuPid': MenuPid, 'MenuIcon': MenuIcon, 'RequestedOperation': RequestedOperation, 'LogDesc': LogDesc, 'LogPreviousState': PreviousState, 'by': by, 'ip': ip, } result = DBMenuUpdate(details) if (result['result'] == 1): deleteCacheKey(self.CACHEKEY) return ( 1, 'SUCESS. Menu has been sucessfully updated in database.') 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, str(ex))
def ChangePassword(self,oldpass,newpass,by,ip,userid,emailid,op=SYSTEM_PERMISSION_UPDATE): try: if len(oldpass) < 4 or len(newpass) < 4: return (-1,'ERROR: Length of password should be atleast 4 characters.') oldpass = self.encrypt.encrypt(oldpass) newpass = self.encrypt.encrypt(newpass) if userid == -1 and emailid == -1: return (-1,'ERROR: No information passed to identify user') user_obj = User() if userid is not -1: user_obj = self.getUserObjectByUserId(userid) else: user_obj = self.getUserObjectByEmailid(emailid) if user_obj[0] is not 1: return (-2,'ERROR : ' + user_obj[1]) user_obj = user_obj[1] if user_obj.UserPassword != oldpass: return (-1,'ERROR: Old Pasword does not match') if user_obj.UserPassword == newpass: # NO NEED TO CHANGE, IT IS ALREADY SAME #res1= self.ResetPswdforForums(emailid, self.encrypt.decrypt(newpass)) return (1,"SUCESS.Your password has been changed sucessfully.") PreviousState = "{oldpass:"******"}" LogsDesc = 'Changed Password' user_obj.UserPassword = newpass #res1= self.ResetPswdforForums(user_obj.UserEmail, self.encrypt.decrypt(newpass)) result = self.UpdateUser(user_obj,LogsDesc,PreviousState,by,ip,op) if result[0] == 1 : return (1,"SUCESS.Your password has been changed sucessfully.") elif result[0] == -2: return (-2,result[1]) elif result[0] == -1: return (-1,decode(result[1])) 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)))
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 (1,result) 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)))
def LoginUser(self,email,password,_type,ip): try: details = { 'email':email, 'pass':self.encrypt.encrypt(password), 'login_type':_type, 'ip':ip, } result = DBLoginUser(details) if( int(result['result']) >= 1): #AddLoginIdToLoggedInUsersDict(self.encrypt.encrypt(str(result['loginid']))) return(1,result) 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)))
def CreateGroupType(self,gname,gdesc,by,ip,req_op=SYSTEM_PERMISSION_INSERT): try: details = { 'ip':ip, 'by':by, 'name':gname, 'desc':gdesc, 'req_op':req_op, } result = DBGroupTypeInsert(details) if (result['result'] == 1): deleteCacheKey(self.CACHEKEY) return (1,'SUCESS. GroupType has been sucessfully added to database.') 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,str(ex))
def Update(self,MenuId,MenuName,MenuDesc,MenuUrl,MenuPid,MenuIcon,by,ip,LogDesc,RequestedOperation=SYSTEM_PERMISSION_UPDATE): MenuObj = '' try: MenuObj = Menu.objects.get(id=MenuId) except ObjectDoesNotExist: return (-1,'Menu does not exist.') PreviousState = str(MenuObj) #TODO store based on comparisons try: details = { 'MenuId':MenuId, 'MenuName':MenuName, 'MenuDesc':MenuDesc, 'MenuUrl':MenuUrl, 'MenuPid':MenuPid, 'MenuIcon':MenuIcon, 'RequestedOperation':RequestedOperation, 'LogDesc':LogDesc, 'LogPreviousState':PreviousState, 'by':by, 'ip':ip, } result = DBMenuUpdate(details) if (result['result'] == 1): deleteCacheKey(self.CACHEKEY) return (1,'SUCESS. Menu has been sucessfully updated in database.') 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,str(ex))
def Insert(self, MenuName, MenuDesc, MenuUrl, MenuPid, MenuIcon, by, ip, RequestedOperation=SYSTEM_PERMISSION_INSERT): try: details = { 'MenuName': MenuName, 'MenuDesc': MenuDesc, 'MenuUrl': MenuUrl, 'MenuPid': MenuPid, 'MenuIcon': MenuIcon, 'RequestedOperation': RequestedOperation, 'by': by, 'ip': ip, } result = DBMenuInsert(details) if (result['result'] == 1): deleteCacheKey(self.CACHEKEY) return (1, 'SUCESS. Menu has been sucessfully added to database.') 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, str(ex))