Example #1
0
    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"})
Example #2
0
 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."})
Example #3
0
 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."})
Example #5
0
    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)
Example #6
0
 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."})
Example #9
0
 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": ""})
Example #10
0
 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': ''})
Example #11
0
    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" : ""})
Example #13
0
    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
                                 })
Example #14
0
    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"
                                 })
Example #15
0
    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"
            })
Example #16
0
 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)
Example #18
0
    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
            })