Пример #1
0
def edit_user(user_id):
    reg_info = g.json_data

    u1 = User.get_by_status_or_404(user_id)

    # 密码不通过这种方式修改,删除提交的密码信息
    user_dict = del_keys(reg_info, ['password', 'roles', 'avatar_img'])
    u1.update(**user_dict)

    return HttpHelper.json_response(ResultHelper.success(u1))
Пример #2
0
def get_user_roles(user_id):
    """
    获取用户信息
    :return: json
    """

    u = User.get_by_status_or_404(user_id)
    usr_dict = u.as_dict()
    usr_dict['roles'] = [role.as_dict() for role in u.roles]

    logger.debug(jsonpickle.encode(usr_dict, unpicklable=False))
    return HttpHelper.normal_handler(usr_dict)
Пример #3
0
def change_password(user_id):
    usr = User.get_by_status_or_404(user_id)

    password = g.json_data.get('password', None)
    if not password:
        raise APIException(ResultEnum.USER_OR_PASS_EMPTY_ERROR)

    usr.password = generate_password_hash(password)

    try:
        usr.update()
        return HttpHelper.normal_handler(usr)
    except Exception as e:
        logger.error(e)
        return HttpHelper.error_handler(ResultEnum.UNKNOWN_ERROR)
Пример #4
0
def bind_user_roles(user_id):
    json_data = g.json_data
    if user_id != json_data.get('user_id'):
        raise APIException(ResultEnum.USER_INVALID_ID)

    role_ids = json_data.get('roles')

    if not role_ids:
        raise APIException(ResultEnum.INVALID_PARAMETER)

    try:
        user = User.get_by_status_or_404(user_id)
        user.refresh_roles(role_ids)
        return HttpHelper.normal_handler()
    except Exception as e:
        logger.error(e)
        return HttpHelper.error_handler(ResultEnum.UNKNOWN_ERROR)
Пример #5
0
def disable_user(user_id):
    usr = User.get_by_status_or_404(user_id)

    usr.toggle_disable()
    return HttpHelper.normal_handler()
Пример #6
0
def delete_user(user_id):
    usr = User.get_by_status_or_404(user_id)
    usr.delete()
    return HttpHelper.normal_handler()