def handle_request(): follower_id = request.form['follower_id'] idol_id = request.form['idol_id'] follower = User.get_by_id(follower_id) request_type = request.form['request_type'] # Change privacy setting if request_type == 'accept_request': query = Relationship.get_or_none( Relationship.follower_id == follower_id, Relationship.idol_id == idol_id) approve_request = Relationship.update(approve=True).where( Relationship.id == query) approve_request.execute() flash(f"You have approved {follower.username}'s request.") return render_template('home.html') elif request_type == 'cancel_request': breakpoint() result = Relationship.get_or_none( Relationship.follower_id == follower_id, Relationship.idol_id == idol_id) delete_request = result.delete_instance() flash(f"You have denied {follower.username}'s request. ") return render_template('home.html')
def approved(id): fan = User.get_by_id(id) follower = Relationship.update(approved=True).where( Relationship.fan == id, Relationship.idol == current_user.id) if follower.execute(): flash(f'{fan.username} now is your follower.', 'primary') return redirect(url_for('users.show', username=current_user.username)) else: flash(f'Failed to approve request,try again later.', 'danger') return render_template('fanidols/show.html')
def update_approval(id): relationship_id = request.form['relationship_id'] approval_status = request.form['approval_status'] print('*******') print(approval_status) entry = Relationship.get_by_id(relationship_id) if approval_status == "Approve": print('executing update') q = Relationship.update(approved=True).where( Relationship.id == relationship_id) q.execute() elif approval_status == "Reject": print('executing delete') entry.delete_instance() return redirect(url_for('followers.edit_approval', id=id))
def approve(fan_id): if current_user.is_authenticated: fan = User.get_or_none(User.id == fan_id) idol = User.get_or_none(User.id == current_user.id) if fan and idol: relationship = Relationship.get_or_none(Relationship.fan == fan, Relationship.idol == idol) if relationship and relationship.status == "pending": if Relationship.update(status="approve").where( Relationship.id == relationship.id).execute(): flash('Approve follower successful', 'alert alert-success') else: flash('Approve follower failed', 'alert alert-danger') else: flash('Profile has not been followed', 'alert alert-danger') else: flash('Unfollow profile failed', 'alert alert-danger') return redirect(url_for('relationship.show_fan')) else: flash('Log in required', 'alert alert-danger') return redirect(url_for('home'))