Ejemplo n.º 1
0
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')
Ejemplo n.º 2
0
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'))