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
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}
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 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 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 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 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