Esempio n. 1
0
def change_user_info(request):
    """
    修改用户信息
    :param request:
    :return:
    """
    result = {}
    user_id = request.POST.get('user_id')
    user_name = request.POST.get('user_name')
    role_id = request.POST.get('role_id')
    if user_id is not None:
        try:
            User.objects.filter(id=user_id).update(username=user_name)
            user_query = User.objects.filter(username=user_name)
            if user_query:
                for user in user_query:
                    if user.groups.all():
                        user.groups.clear()
                    user_choice_role(user_name, role_id)
                    result['flag'] = "success"
                    return common.ui_message_response(200, '用户信息修改成功', result,
                                                      status.HTTP_200_OK)
        except Exception:
            traceback.print_exc()
            return common.ui_message_response(
                500, '服务器内部错误', '服务器内部错误',
                status.HTTP_500_INTERNAL_SERVER_ERROR)
Esempio n. 2
0
def role_add_permission(request):
    """
    角色增加权限
    :param request:
    :return:
    """
    result = {}
    result['flag'] = 'failure'
    role_id = request.POST.get('role_id')
    permission_id_list = request.POST.get('permission_id_list')
    role_select = Group.objects.filter(id=role_id)
    for group in role_select:
        try:
            if permission_id_list:
                permission_id_list = json.loads(permission_id_list)
                if group.permissions.all():
                    group.permissions.clear()
                    for permission_id in permission_id_list:
                        group.permissions.add(permission_id)
                        result['flag'] = 'success'
                    return common.ui_message_response(200, '角色添加权限成功', result,
                                                      status.HTTP_200_OK)
        except Exception:
            traceback.print_exc()
            return common.ui_message_response(
                500, '角色添加权限失败', '角色添加权限失败',
                status.HTTP_500_INTERNAL_SERVER_ERROR)
Esempio n. 3
0
def user_change_password(request):
    """
    修改用户密码
    :param request:
    :return:
    """
    try:
        result = {}
        user_data = {}
        request_data = trans_user_change_password(request)
        user_data['username'] = request_data['username']
        user_data['password'] = request_data['old_password']
        print user_data
        user = auth.authenticate(**user_data)
        if user is not None:
            user.set_password(request_data['new_password'])
            user.save()
            result['flag'] = "success"
            return common.ui_message_response(200, '修改密码成功', result,
                                              status.HTTP_200_OK)
        else:
            return common.ui_message_response(200, '修改密码失败', '原密码输入错误',
                                              status.HTTP_200_OK)
    except Exception:
        traceback.print_exc()
        return common.ui_message_response(
            500, '修改密码失败', '修改密码失败', status.HTTP_500_INTERNAL_SERVER_ERROR)
Esempio n. 4
0
def get_permission_number(request):
    """
    获取权限数量
    :param request:
    :return:
    """
    try:
        result = {}
        query_result = Permission.objects.all()
        permission_count = query_result.count()
        result['permission_count'] = permission_count
        return common.ui_message_response(200, '查询成功', result,
                                          status.HTTP_200_OK)
    except Exception:
        traceback.print_exc()
        return common.ui_message_response(
            500, '服务器内部错误', '服务器内部错误', status.HTTP_500_INTERNAL_SERVER_ERROR)
Esempio n. 5
0
def delete_user(request):
    """
    根据用户id删除用户信息
    :param request:
    :return:
    """
    try:
        result = {}
        if 'user_id_list' in request.POST:
            user_id_list = request.POST['user_id_list']
            user_id_list = json.loads(user_id_list)
            for user_id in user_id_list:
                user_query = User.objects.filter(id=user_id)
                for user in user_query:
                    user.delete()
                    result['flag'] = "success"
        return common.ui_message_response(200, '用户删除成功', result,
                                          status.HTTP_200_OK)
    except Exception:
        traceback.print_exc()
        return common.ui_message_response(
            500, '用户删除失败', '用户删除失败', status.HTTP_500_INTERNAL_SERVER_ERROR)
Esempio n. 6
0
def user_registration(request):
    """
    注册用户信息,创建用户名和密码,auth模块不存储用户密码明文而是存储一个Hash值, 比如迭代使用Md5算法.
    :param request:
    :return:
    """
    result = {}
    user_data = trans_user_registration_info(request)
    if 'password' not in user_data:
        user_data['password'] = '******'
    user_name = user_data['username']
    role_id = user_data['role_id']
    user_data['is_active'] = '1'
    user_data['is_staff'] = '1'
    del user_data['role_id']
    print user_data
    if user_data:
        query_data = User.objects.filter(username=user_name)
        if query_data.exists():
            return common.ui_message_response(200, '用户名已经被占用', "用户名已经被占用",
                                              status.HTTP_200_OK)
        else:
            user = User.objects.create_user(**user_data)
            user.save()
            print user
            user_select = User.objects.filter(username=user_name)
            for user in user_select:
                group_select = Group.objects.filter(id=role_id)
                try:
                    for group in group_select:
                        user.groups.add(group)
                        result['flag'] = "success"
                        return common.ui_message_response(
                            200, '用户注册成功', result, status.HTTP_200_OK)
                except Exception:
                    traceback.print_exc()
                    return common.ui_message_response(
                        500, '用户注册失败', '用户注册失败',
                        status.HTTP_500_INTERNAL_SERVER_ERROR)
Esempio n. 7
0
def change_role_info(request):
    """
    修改角色信息
    :param request:
    :return:
    """
    try:
        role_id = request.POST.get('role_id')
        role_name = request.POST.get('role_name')
        if role_name is not None:
            query_data = Group.objects.filter(name=role_name)
            if query_data.exists():
                return common.ui_message_response(200, '角色名已经被占用', "角色名已经被占用",
                                                  status.HTTP_200_OK)
            else:
                Group.objects.filter(id=role_id).update(name=role_name)
                return common.ui_message_response(200, '角色信息修改成功', '角色信息修改成功',
                                                  status.HTTP_200_OK)
    except Exception:
        traceback.print_exc()
        return common.ui_message_response(
            500, '角色信息修改失败', '角色信息修改失败', status.HTTP_500_INTERNAL_SERVER_ERROR)
Esempio n. 8
0
def delete_role(request):
    """
    删除角色
    :param request:
    :return:
    """
    try:
        result = {}
        result['flag'] = "failure"
        role_id_list = request.POST.get('role_id_list')
        if role_id_list is not None:
            role_id_list = json.loads(role_id_list)
            for role_id in role_id_list:
                user_query = Group.objects.filter(id=role_id)
                for role in user_query:
                    role.delete()
                    result['flag'] = "success"
            return common.ui_message_response(200, '角色删除成功', result,
                                              status.HTTP_200_OK)
    except Exception:
        traceback.print_exc()
        return common.ui_message_response(
            500, '角色删除失败', '角色删除失败', status.HTTP_500_INTERNAL_SERVER_ERROR)
Esempio n. 9
0
def create_role(request):
    """
    创建角色
    :param request:
    :return:
    """
    try:
        result = {}
        role_name = request.POST.get('rolename')
        if role_name is not None:
            query_data = Group.objects.filter(username=role_name)
            if query_data.exists():
                return common.ui_message_response(200, '角色名已经被占用', "角色名已经被占用",
                                                  status.HTTP_200_OK)
            else:
                group = Group.objects.create(name=role_name)
                group.save()
                result['flag'] = "success"
                return common.ui_message_response(200, '角色创建成功', result,
                                                  status.HTTP_200_OK)
    except Exception:
        traceback.print_exc()
        return common.ui_message_response(
            500, '角色创建失败', '角色创建失败', status.HTTP_500_INTERNAL_SERVER_ERROR)