示例#1
0
def update(user_id):
    """
    Update user information.
    @login_required

    :param user_id:
    :return: user, password_incorrect, status
    """

    if request.form:
        if request.form.get('newPassword') is not None:
            form = UpdatePasswordForm(MultiDict(request.form))
        else:
            form = UpdateForm(MultiDict(request.form))
    else:
        form = UpdateForm()
    user = users.get_or_404(user_id)
    if users.has_admin() or users.user_equals_me(user):
        password_incorrect = False
        if form.validate_on_submit():
            if isinstance(form, UpdatePasswordForm):
                user.password = encrypt_password(
                    request.form.get('newPassword'))
            # user.active = request.form.get('active')
            users.update(user, **request.form)
        else:
            password_incorrect = True
        return {'user': user, 'password_incorrect': password_incorrect}
    else:
        return {}, 401
def update(user_id):
    """
    Update user information.
    @login_required

    :param user_id:
    :return: user, password_incorrect, status
    """

    if request.form:
        if request.form.get('newPassword') is not None:
            form = UpdatePasswordForm(MultiDict(request.form))
        else:
            form = UpdateForm(MultiDict(request.form))
    else:
        form = UpdateForm()
    user = users.get_or_404(user_id)
    if users.has_admin() or users.user_equals_me(user):
        password_incorrect = False
        if form.validate_on_submit():
            if isinstance(form, UpdatePasswordForm):
                user.password = encrypt_password(request.form.get('newPassword'))
            # user.active = request.form.get('active')
            users.update(user, **request.form)
        else:
            password_incorrect = True
        return {'user': user, 'password_incorrect': password_incorrect}
    else:
        return {}, 401
示例#3
0
def following():
    """
    Get following with pagination.

    :return: following, has_next, current_page
    """
    user = users.get_or_404(request.values.get('id'))
    current_page = int(request.values.get('current_page', 1))
    following, has_next = users.following(user, current_page)
    return {'following': following, 'has_next': has_next, 'current_page': current_page}
示例#4
0
def remove_role(user_id):
    """
    Remove role to user.

    :return:
    """
    role = roles.get_or_404(int(request.values.get('role_id', None)))
    user = users.get_or_404(user_id)
    if not users.remove_role_from_user(user, role):
        return {}, 500
    return {}
示例#5
0
def add_role():
    """
    Add role to user.

    :return:
    """
    role = roles.find_or_create_role(request.values.get('role_name', ''))
    user = users.get_or_404(int(request.values.get('user_id', '')))
    if not users.add_role_to_user(user, role):
        return {}, 500
    return {}
def remove_role(user_id):
    """
    Remove role to user.

    :return:
    """
    role = roles.get_or_404(int(request.values.get("role_id", None)))
    user = users.get_or_404(user_id)
    if not users.remove_role_from_user(user, role):
        return {}, 500
    return {}
def add_role():
    """
    Add role to user.

    :return:
    """
    role = roles.find_or_create_role(request.values.get("role_name", ""))
    user = users.get_or_404(int(request.values.get("user_id", "")))
    if not users.add_role_to_user(user, role):
        return {}, 500
    return {}
def find_one(user_id):
    """
    Get one user by user's id.
    :param user_id: user's id(INT)
    :return: user, is_current, is_following, followers_cnt, following_cnt
    """

    user = users.get_or_404(user_id)
    return {'user': user, "is_current": users.is_current(user), "is_following": users.is_following(user),
            "followers_cnt": users.followers_count(user), "following_cnt": users.following_count(user),
            "gravatar": gravatar.__call__(user.email)}
def create():
    """
    Follow User.

    @login_required

    :return: status(True : follow success, False : follow failed)
        email(following user email)
    """
    user = users.get_or_404(request.form.get('id'))
    users.follow(user)
    return {'email': user.email}
def create():
    """
    Follow User.

    @login_required

    :return: status(True : follow success, False : follow failed)
        email(following user email)
    """
    user = users.get_or_404(request.form.get('id'))
    users.follow(user)
    return {'email': user.email}
def destroy(user_id):
    """
    Unfollow User.

    @login_required

    :param user_id:
    :return: status(True : unfollow success, False : unfollow failed)
        email(unfollowing user email)
    """
    user = users.get_or_404(user_id)
    users.unfollow(user)
    return {'email': user.email}
def destroy(user_id):
    """
    Unfollow User.

    @login_required

    :param user_id:
    :return: status(True : unfollow success, False : unfollow failed)
        email(unfollowing user email)
    """
    user = users.get_or_404(user_id)
    users.unfollow(user)
    return {'email': user.email}
示例#13
0
def find_one(user_id):
    """
    Get one user by user's id.
    :param user_id: user's id(INT)
    :return: user, is_current, is_following, followers_cnt, following_cnt
    """

    user = users.get_or_404(user_id)
    return {
        'user': user,
        "is_current": users.is_current(user),
        "is_following": users.is_following(user),
        "followers_cnt": users.followers_count(user),
        "following_cnt": users.following_count(user),
        "gravatar": gravatar.__call__(user.email)
    }
示例#14
0
def destroy(user_id):
    """
    Delete user.

    @login_required

    :param user_id:
    :return:
    """
    user = users.get_or_404(user_id)
    if users.user_equals_me(user):
        users.delete_user(user)
        if not current_app.testing:
            logout_user()
        return {}
    if users.has_admin():
        users.delete_user(user)
        return {}
    else:
        return {}, 401
def destroy(user_id):
    """
    Delete user.

    @login_required

    :param user_id:
    :return:
    """
    user = users.get_or_404(user_id)
    if users.user_equals_me(user):
        users.delete_user(user)
        if not current_app.testing:
            logout_user()
        return {}
    if users.has_admin():
        users.delete_user(user)
        return {}
    else:
        return {}, 401