def post(self, request): check = CheckRequest(request) if check.user: return JsonResponse({"status": "error", "msg": "User logined"}) uf = UserForm(check.jsonForm) if uf.is_valid(): #检测用户是否存在 checkUser = User.objects.filter( qq__exact=uf.cleaned_data['qq']).first() if checkUser: if checkUser.status == 0: return JsonResponse({ "status": 'error', 'msg': "此qq账户已注册,但未激活" }) else: return JsonResponse({"status": 'error', 'msg': "此qq账户已存在"}) user = User(username=uf.cleaned_data['username'], password=db_password(uf.cleaned_data['password']), qq=uf.cleaned_data['qq'], login_random=new_random(), activate_random=new_random(), recover_random=new_random()) user.save() return JsonResponse({"status": 'success', 'msg': ""}) else: return JsonResponse({"status": 'error', 'msg': "Illegal post"})
def post(self, request): ''' 群主添加新管理员 ''' check = CheckRequest(request) if not check.admin or check.admin.userType != 1: return JsonResponse({ "status": "error", "msg": "Only admin permitted" }) uf = CheckAdminForm(check.jsonForm) if not uf.is_valid(): return JsonResponse({ "status": "error", "msg": "Admin is invalid." }) admin = GroupAdmin.objects.filter( groupId=check.admin.groupId, qq=uf.cleaned_data['qq'], ).first() if admin: return JsonResponse({"status": 'error', 'msg': "Admin exist."}) admin = GroupAdmin(groupId=check.admin.groupId, qq=uf.cleaned_data['qq'], password=db_password(uf.cleaned_data['password']), login_random=new_random(), userType=0) admin.save() return JsonResponse({"status": "success", "msg": "Update success."})
def put(self, request): check = CheckRequest(request) if not check.admin or check.admin.userType != 1: return JsonResponse({ "status": "error", "msg": "Only admin permitted" }) uf = CheckAdminForm(check.jsonForm) if not uf.is_valid(): return JsonResponse({ "status": "error", "msg": "Admin is invalid." }) password = db_password(uf.cleaned_data['password']) admin = GroupAdmin.objects.filter(groupId=check.admin.groupId, qq=uf.cleaned_data['qq'], password=password).first() if not admin: return JsonResponse({ "status": 'error', 'msg': "GroupID or qq or password is error" }) uf = MngResumeForm(check.jsonForm) if not uf.is_valid(): return JsonResponse({ "status": "error", "msg": "resumeId is invalid." }) resume = Resume.objects.filter(id=uf.cleaned_data['resumeId']).first() if uf.cleaned_data['status']: resume.status = uf.cleaned_data['status'] if uf.cleaned_data['rank']: resume.rank = uf.cleaned_data['rank'] resume.save() return JsonResponse({"status": "success", "msg": "Update success."})
def put(self, request): check = CheckRequest(request) if not check.admin or check.admin.userType != 1: return JsonResponse({"status" : "error", "msg" : "Only admin permitted"}) uf = CheckAdminForm(check.jsonForm) if not uf.is_valid(): return JsonResponse({"status" : "error", "msg" : "Admin is invalid."}) password = db_password(uf.cleaned_data['password']) admin = GroupAdmin.objects.filter( groupId = check.admin.groupId, qq = uf.cleaned_data['qq'], password = password ).first() if not admin: return JsonResponse({"status": 'error', 'msg': "GroupID or qq or password is error"}) uf = MngResumeForm(check.jsonForm) if not uf.is_valid(): return JsonResponse({"status": "error", "msg": "resumeId is invalid."}) resume = Resume.objects.filter(id = uf.cleaned_data['resumeId']).first() if uf.cleaned_data['status']: resume.status = uf.cleaned_data['status'] if uf.cleaned_data['rank']: resume.rank = uf.cleaned_data['rank'] resume.save() return JsonResponse({"status" : "success", "msg" : "Update success."})
def put(self, request): uf = RecoverForm(loads(request.body.decode("utf-8"))) if not uf.is_valid(): return JsonResponse({"status": "error", "msg": "表单格式不正确"}) token_str = uf.cleaned_data["token"] token = parse_token(token_str, "recover") if token is None: msg = {"status": "error", "msg": "error token"} else: if token.is_expired(): msg = {"status": "error", "msg": "token is expired"} else: user = User.objects.filter(id__exact=token.id).first() if user is None: msg = {"status": "error", "msg": "user not exsist"} else: if token.is_user(user): password = db_password(uf.cleaned_data["password"]) user.password = password user.save() msg = {"status": "success", "msg": "authentication is successful"} else: msg = {"status": "error", "msg": "error token"} return JsonResponse(msg)
def put(self, request): uf = RecoverForm(loads(request.body.decode("utf-8"))) if not uf.is_valid(): return JsonResponse({"status": "success", "msg": "表单提交有误"}) token_str = uf.cleaned_data['token'] token = parse_token(token_str, 'recover') if token is None: msg = {"status": "error", "msg": "error token"} else: if token.is_expired(): msg = {"status": "error", "msg": "token is expired"} else: admin = GroupAdmin.objects.filter(id__exact=token.id).first() if admin is None: msg = {"status": "error", "msg": "group not exsist"} else: if token.is_user(admin): password = db_password(uf.cleaned_data['password']) admin.password = password admin.save() msg = { "status": "success", "msg": "authentication is successful" } else: msg = {"status": "error", "msg": "error token"} return JsonResponse(msg)
def post(self, request): uf = RecoverForm(loads(request.body.decode("utf-8"))) token_str = uf.cleaned_data['token'] token = parse_token(token_str, 'recover') if token is None: msg = {"status": "error", "msg": "error token"} else: if token.is_expired(): msg = {"status": "error", "msg": "token is expired"} else: user = User.objects.filter(id__exact=token.id).first() if user is None: msg = {"status": "error", "msg": "user not exsist"} else: if token.is_user(user): password = db_password(uf.cleaned_data['password']) user.password = password user.save() msg = { "status": "success", "msg": "authentication is successful" } else: msg = {"status": "error", "msg": "error token"} return JsonResponse(msg)
def post(self, request): ''' 群主添加新管理员 ''' check = CheckRequest(request) if not check.admin or check.admin.userType != 1: return JsonResponse({"status" : "error", "msg" : "Only admin permitted"}) uf = CheckAdminForm(check.jsonForm) if not uf.is_valid(): return JsonResponse({"status" : "error", "msg" : "Admin is invalid."}) admin = GroupAdmin.objects.filter( groupId = check.admin.groupId, qq = uf.cleaned_data['qq'], ).first() if admin: return JsonResponse({"status": 'error', 'msg': "Admin exist."}) admin = GroupAdmin( groupId=check.admin.groupId, qq=uf.cleaned_data['qq'], password = db_password(uf.cleaned_data['password']), login_random = new_random(), userType=0 ) admin.save() return JsonResponse({"status" : "success", "msg" : "Update success."})
def put(self, request): check = CheckRequest(request) if not check.user: return JsonResponse({"status": "error", "code": 10000, "msg": errorCode[10000]}) uf = PwdForm(check.jsonForm) if uf.is_valid(): check.user.password = db_password(uf.cleaned_data["password"]) check.user.save() return JsonResponse({"status": "success", "msg": ""})
def put(self, request): check = CheckRequest(request) if not check.user: return JsonResponse({"status": "error", "msg": "User not logined"}) uf = PwdForm(check.jsonForm) if uf.is_valid(): check.user.password = db_password(uf.cleaned_data['password']) check.user.save() return JsonResponse({"status": 'success', 'msg': ''})
def post(self, request): check = CheckRequest(request) uf = LoginForm(check.jsonForm) if uf.is_valid(): qq = uf.cleaned_data['qq'] password = db_password(uf.cleaned_data['password']) # 获取的表单数据与数据库进行比较 user = User.objects.filter(qq__exact=qq, password__exact=password).first() if user: if user.status == 1: data = {"status": 'success', 'msg': "Login success"} user_token = new_token(user, 'login') token = user_token.get_token() cookieOpt = user_token.expired_time data['cookies'] = { 'token': { 'value': token, 'opt': cookieOpt } } response = JsonResponse(data) response.set_cookie("token", value=token, max_age=expiration['login'], httponly=True) response.set_cookie("logined", value="yes", max_age=expiration['login']) return response elif user.status == 0: return JsonResponse({ "status": 'success', "code": 30004, "msg": successCode[30004] }) else: return JsonResponse({ "status": 'error', 'msg': "用户状态不合法,请联系管理员" }) else: # 用户名或密码错误 return JsonResponse({ "status": 'error', 'msg': "email or password is error" }) else: return JsonResponse({ "status": 'error', 'msg': "login form is error" })
def put(self, request): check = CheckRequest(request) if not check.admin: return JsonResponse({"status" : "error", "msg" : "User not logined"}) uf = PwdForm(check.jsonForm) if not uf.is_valid(): return JsonResponse({"status" : "error", "msg" : "Password is invalid."}) check.admin.password = db_password(uf.cleaned_data['password']) check.admin.save() return JsonResponse({"status" : "success", "msg" : ""})
def post(self, request): check = CheckRequest(request); uf = LoginForm(check.jsonForm) if uf.is_valid(): groupId = uf.cleaned_data['groupId'] qq = uf.cleaned_data['qq'] password = db_password(uf.cleaned_data['password']) # 获取的表单数据与数据库进行比较 admin = GroupAdmin.objects.filter( groupId__exact=groupId, qq__exact=qq, password__exact=password ).first() if admin: if admin.userType == 1 and admin.status == 0: return JsonResponse({ "status": 'error', "msg": "群主帐号未激活" }) data = { "status": 'success', 'msg': "Login success" } admin_token = new_token(admin, 'login') token = admin_token.get_token() cookieOpt = admin_token.expired_time data['cookies'] = { 'token': { 'value': token, 'opt': cookieOpt } } response = JsonResponse(data) response.set_cookie("admin_token",value=token, max_age=expiration['login'], httponly=True) response.set_cookie("admin_logined",value="yes", max_age=expiration['login']) return response else: # 用户名或密码错误 return JsonResponse({"status": 'error', 'msg': "GroupID or qq or password is error" }) else: return JsonResponse({"status": 'error', 'msg': "login form is error: %s" % uf.errors })
def post(self, request): check = CheckRequest(request); uf = LoginForm(check.jsonForm) if uf.is_valid(): qq = uf.cleaned_data['qq'] password = db_password(uf.cleaned_data['password']) # 获取的表单数据与数据库进行比较 user = User.objects.filter(qq__exact=qq, password__exact=password).first() if user: if user.status == 1: data = {"status": 'success', 'msg': "Login success" } user_token = new_token(user, 'login') token = user_token.get_token() cookieOpt = user_token.expired_time data['cookies'] = { 'token': { 'value': token, 'opt': cookieOpt } } response = JsonResponse(data) response.set_cookie("token", value=token, max_age=expiration['login'], httponly=True) response.set_cookie("logined", value="yes", max_age=expiration['login']) return response elif user.status == 0: return JsonResponse({ "status" : 'success', "code": 30004, "msg": successCode[30004] }) else: return JsonResponse({ "status" : 'error', 'msg' : "用户状态不合法,请联系管理员" }) else: # 用户名或密码错误 return JsonResponse({"status": 'error', 'msg': "email or password is error" }) else: return JsonResponse({"status": 'error', 'msg': "login form is error" })
def post(self, request): check = CheckRequest(request); if check.user: return JsonResponse({ "status": "error", "msg": "User logined" }) uf = UserForm(check.jsonForm) if uf.is_valid(): #检测用户是否存在 checkUser = User.objects.filter(qq__exact = uf.cleaned_data['qq']).first() if checkUser: if checkUser.status == 0: return JsonResponse({ "status" : 'error', 'msg' : "此qq账户已注册,但未激活" }) else: return JsonResponse({ "status" : 'error', 'msg' : "此qq账户已存在" }) user = User( username = uf.cleaned_data['username'], password = db_password(uf.cleaned_data['password']), qq = uf.cleaned_data['qq'], login_random = new_random(), activate_random = new_random(), recover_random = new_random() ) user.save() return JsonResponse({ "status" : 'success', 'msg' : "" }) else: return JsonResponse({ "status" : 'error', 'msg' : "Illegal post" })
def put(self, request): uf = RecoverForm(loads(request.body.decode("utf-8"))) if not uf.is_valid(): return JsonResponse({ "status": "success", "msg": "表单提交有误" }) token_str = uf.cleaned_data['token'] token = parse_token(token_str, 'recover') if token is None: msg = { "status" : "error", "msg" : "error token" } else: if token.is_expired(): msg = { "status" : "error", "msg" : "token is expired" } else: admin = GroupAdmin.objects.filter(id__exact = token.id).first() if admin is None: msg = { "status" : "error", "msg" : "group not exsist" } else: if token.is_user(admin): password = db_password(uf.cleaned_data['password']) admin.password = password admin.save() msg = { "status" : "success", "msg" : "authentication is successful" } else: msg = { "status" : "error", "msg" : "error token" } return JsonResponse(msg)
def post(self, request): uf = RecoverForm(loads(request.body.decode("utf-8"))) token_str = uf.cleaned_data['token'] token = parse_token(token_str, 'recover') if token is None: msg = { "status" : "error", "msg" : "error token" } else: if token.is_expired(): msg = { "status" : "error", "msg" : "token is expired" } else: owner = GroupAdmin.objects.filter(groupId__exact = token.id, userType__exact = 1).first() if owner is None: msg = { "status" : "error", "msg" : "group not exsist" } else: if token.is_user(owner): password = db_password(uf.cleaned_data['password']) owner.password = password owner.save() msg = { "status" : "success", "msg" : "authentication is successful" } else: msg = { "status" : "error", "msg" : "error token" } return JsonResponse(msg)
def post(self, request): check = CheckRequest(request); if check.admin: return JsonResponse({ "status": "error", "msg": "User logined" }) uf = JoinForm(check.jsonForm) if uf.is_valid(): groupId = uf.cleaned_data['groupId'] groupName = uf.cleaned_data['groupName'] qq = uf.cleaned_data['qq'] nick = uf.cleaned_data['nick'] password = uf.cleaned_data['password'] #检测群是否存在 checkGroup = Group.objects.filter(groupId__exact = groupId).first() if checkGroup: if checkGroup.status == 0: return JsonResponse({ "status" : 'error', 'msg' : "此群已被注册,但正在验证中,群ID:%s" % groupId }) elif checkGroup.status == 1: return JsonResponse({ "status" : 'error', 'msg' : "此群已被注册并验证通过,可申请转让,群ID:%s" % groupId }) elif checkGroup.status == 2: GroupAdmin.objects.filter(groupId__exact = groupId).delete() checkGroup.delete() else: return JsonResponse({ "status" : 'error', 'msg' : "此群已被注册" }) group = Group( groupId = groupId, groupName = groupName ) group.save() if not group.id: return JsonResponse({ "status" : 'error', 'msg' : "Save group error:%s" % uf.cleaned_data['groupId'] }) admin = GroupAdmin( groupId = groupId, qq = qq, nick = nick, password = db_password(password), login_random = new_random(), activate_random = new_random(), recover_random = new_random(), userType = 1 ) admin.save() if admin.id: return JsonResponse({ "status" : 'success', 'msg' : "", 'data':{ 'id': admin.id, 'groupId' : admin.groupId, 'qq' : admin.qq, 'nick' : admin.nick, 'userType': admin.userType } }) else: return JsonResponse({ "status" : 'error', 'msg' : "Admin save error" }) else: return JsonResponse({ "status" : 'error', 'msg' : "Illegal post: %s" % uf.errors })
def post(self, request): check = CheckRequest(request) if check.admin: return JsonResponse({"status": "error", "msg": "User logined"}) uf = JoinForm(check.jsonForm) if uf.is_valid(): groupId = uf.cleaned_data['groupId'] groupName = uf.cleaned_data['groupName'] qq = uf.cleaned_data['qq'] password = uf.cleaned_data['password'] #检测群是否存在 checkGroup = Group.objects.filter(groupId__exact=groupId).first() if checkGroup: if checkGroup.status == 0: return JsonResponse({ "status": 'error', 'msg': "此群已被注册,但正在验证中,群ID:%s" % groupId }) elif checkGroup.status == 1: return JsonResponse({ "status": 'error', 'msg': "此群已被注册并验证通过,可申请转让,群ID:%s" % groupId }) elif checkGroup.status == 2: GroupAdmin.objects.filter(groupId__exact=groupId).delete() checkGroup.delete() else: return JsonResponse({"status": 'error', 'msg': "此群已被注册"}) group = Group(groupId=groupId, groupName=groupName) group.save() if not group.id: return JsonResponse({ "status": 'error', 'msg': "Save group error:%s" % uf.cleaned_data['groupId'] }) admin = GroupAdmin(groupId=groupId, qq=qq, password=db_password(password), login_random=new_random(), activate_random=new_random(), recover_random=new_random(), userType=1) admin.save() if admin.id: return JsonResponse({"status": 'success', 'msg': ""}) else: return JsonResponse({ "status": 'error', 'msg': "Admin save error" }) else: return JsonResponse({ "status": 'error', 'msg': "Illegal post: %s" % uf.errors })