Esempio n. 1
0
def admin_user_update(request, *args, **kwargs):
    user_type = request.session.get('type', None)

    if not user_type == 'super':
        resp = init_http_response(ErrorCode.not_super_admin.value,
                                  ErrorMsg.not_super_admin.value)
        return make_json_response(HttpResponse, resp)

    keys = [
        'id', 'password', 'nickname', 'dingtalk_robot', 'mobile', 'wechat_id',
        'level'
    ]
    params = ujson.loads(request.body)
    params = make_dict(keys, params)
    if 'level' in params:
        params.update(
            dict(admin_user_type=AdminUserType.objects.get(
                admin_user_type_id=params.pop('level'))))

    # try:
    admin_user = AdminUser.objects.get(admin_user_id=params.pop('id'),
                                       status=Status.active.value)
    admin_user.__dict__.update(**params)
    admin_user.save()
    # except Exception as e:
    #     print(e)
    #     return HttpResponseBadRequest()

    resp = init_http_success()
    return make_json_response(HttpResponse, resp)
Esempio n. 2
0
def admin_user_login(request):
    if request.method == 'POST':
        param = ujson.loads(request.body)
        username = param.get('user_name', None)
        password = param.get('password', None)

        try:
            admin_user = AdminUser.objects.get(
                status=AdminUserStatus.active.value,
                username=username,
                password=password)

            request.session['username'] = username
            request.session['type'] = admin_user.admin_user_type.tag
            request.session['is_admin'] = True
            request.session['is_anchor'] = False
            request.session['is_user'] = False
            request.session['is_login'] = True
            request.session.set_expiry(ADMIN_USER_SEESION)
        except Exception as e:
            resp = init_http_bad_request('Error Username Or Password')
            return make_json_response(HttpResponseBadRequest, resp)

        # redirect = param.get('redirect', None)
        return HttpResponse(ujson.dumps(
            dict(data=dict(token=''.join(uuid.uuid1().__str__().split('-'))))),
                            content_type='application/json')

    return HttpResponseBadRequest()
Esempio n. 3
0
def admin_user_post(request):
    keys = [
        'username', 'password', 'nickname', 'dingtalk_robot', 'mobile',
        'wechat_id', 'level'
    ]
    params = ujson.loads(request.body)
    params = make_dict(keys, params)

    try:
        params.update(
            dict(admin_user_type=AdminUserType.objects.get(
                admin_user_type_id=params.pop('level'),
                status=Status.active.value),
                 dingtalk_moblie=params['mobile']
                 if 'mobile' in params else None,
                 join_date=now()))

        admin_user = AdminUser(**params)
        admin_user.save()
    except Exception as e:
        print(e)
        return HttpResponseBadRequest()

    resp = init_http_success()
    return make_json_response(HttpResponse, resp)
Esempio n. 4
0
def admin_user_remove(request, *args, **kwargs):
    user_type = request.session.get('type', None)

    if not user_type == 'super':
        resp = init_http_response(ErrorCode.not_super_admin.value,
                                  ErrorMsg.not_super_admin.value)
        return make_json_response(HttpResponse, resp)

    params = ujson.loads(request.body)

    try:
        admin_user = AdminUser.objects.get(admin_user_id=params.pop('id'),
                                           status=Status.active.value)
        admin_user.delete()
    except Exception as e:
        print(e)
        return HttpResponseBadRequest()

    resp = init_http_success()
    return make_json_response(HttpResponse, resp)
Esempio n. 5
0
def admin_user_router(request, *args, **kwargs):
    user_type = request.session.get('type', None)

    if not user_type == 'super':
        resp = init_http_response(ErrorCode.not_super_admin.value,
                                  ErrorMsg.not_super_admin.value)
        return make_json_response(HttpResponse, resp)

    if request.method == 'GET':
        return admin_user_get(request)
    elif request.method == 'POST':
        return admin_user_post(request)
Esempio n. 6
0
def get_user_info(request, *args, **kwargs):
    username = request.session.get('username', None)

    admin_user = AdminUser.objects.get(status=AdminUserStatus.active.value,
                                       username=username)

    resp = init_http_success()
    resp['data'] = dict(nickname=admin_user.nickname,
                        type=admin_user.admin_user_type,
                        avatar='')

    return make_json_response(HttpResponse, resp)
Esempio n. 7
0
def admin_user_get(request):
    admin_users = AdminUser.objects.filter(status=AdminUserStatus.active.value)

    results = [
        dict(
            id=admin_user.admin_user_id,
            nickname=admin_user.nickname,
            username=admin_user.username,
            password=admin_user.password,
            type=admin_user.admin_user_type,
            mobile=admin_user.mobile,
            dingtalk_robot=admin_user.dingtalk_robot,
            wechat_id=admin_user.wechat_id,
            join_date=admin_user.join_date,
        ) for admin_user in admin_users
    ]

    resp = init_http_success()
    resp['data'] = results
    return make_json_response(HttpResponse, resp)