def inviteUser(params): #invite new user #here a temp table is needed to store info #before user confirm and register #first verify whether exist in the table cid=params["cid"] idcard=params["idcard"] result=dict() try: if len(TempRole.objects.filter(idcard=params["idcard"],company_id=int(params["cid"])))>0: #already exist result["success"]="false" result["errors"]="" return result else: tr=TempRole() tr.name=params["name"] tr.idcard=params["idcard"] tr.phone=params["phone"] tr.email=params["email"] tr.company_id=int(params["cid"]) verifyMode=params["verifyMode"] if len(verifyMode)>0: modeNumSet=util.listToInt(verifyMode.split('+')) for mode in modeNumSet: if mode==1: tr.verifyByName=1 if mode==2: tr.verifyByPhone=1 if mode==9: tr.verifyByQuest=1 tr.verifyQuest=params["verifyQuestion"] tr.verifyAnswer=params["verifyAnswer"] else: pass tr.save() #call send email func to send email result["success"]="true" return result except : result["success"]="false" result["errors"]="" return result
def member(request): u_list=Role.objects.filter(company_id=1).distinct() RoleCount=len(u_list) #def conf variable to store current #groups and tags info returnDict=dict() conf={} conf["current_gid"]=-1 conf["current_tid"]=-1 if 'gid' in request.GET and len(request.GET['gid'])>0: if request.GET['gid']=="-1": pass else: try: u_list=u_list.filter(groups__id=int(request.GET['gid'])).distinct() conf['current_gid']=int(request.GET['gid']) except: pass if 'tid' in request.GET and len(request.GET['tid'])>0: if '-1' in request.GET['tid'].split(): pass else: try: u_list=u_list.filter(tags__id__in=(request.GET['tid'].split())).distinct() print u_list conf['current_tid']=util.listToInt(request.GET['tid'].split()) except: pass g_list=Group.objects.filter(cid=1) t_list=Tag.objects.filter(cid=1) groupList=[] tagList=[] for tag in t_list: singleTag={} singleTag["tid"]=tag.id singleTag["tname"]=tag.tname singleTag["cid"]=tag.cid_id tagList.append(singleTag) #here can optimize by just sql query instead of Model method for g in g_list: singleGroup={} num=len(Role.objects.filter(company_id=1,groups__id=g.id)) singleGroup["gid"]=g.id singleGroup["gname"]=g.gname singleGroup["cid"]=g.cid_id singleGroup["count"]=num groupList.append(singleGroup) #conf can set more values here #return data returnDict["memberAll"]=u_list returnDict["groupAll"]=groupList returnDict["groupString"]=json.dumps(groupList) returnDict["groupAllCount"]=RoleCount returnDict["tagAll"]=t_list returnDict["tagString"]=json.dumps(tagList) returnDict["conf"]=conf return returnDict