def add_friend(to_username): ref = request.referrer logged_user = User.objects.filter(username=session.get('username')).first() to_user = User.objects.filter(username=to_username).first() if to_user: to_username = to_user.username rel = Relationship.get_relationship(logged_user, to_user) if rel == "FRIENDS_PENDING": return rel elif rel == "BLOCKED": return rel elif rel == "FRIENDS_APPROVED": return rel elif rel == "REVERSE_FRIENDS_PENDING": #Friend has approved Relationship(from_user=logged_user, to_user=to_user, rel_type=Relationship.FRIENDS, status=Relationship.APPROVED).save() reverse_rel = Relationship.objects.get(from_user=to_user, to_user=logged_user) reverse_rel.status = Relationship.APPROVED reverse_rel.save() #return "FRIENDS_APPROVED" elif rel == None and rel != "REVERSE_BLOCKED": #notFriend, notBlocked Relationship(from_user=logged_user, to_user=to_user, rel_type=Relationship.FRIENDS, status=Relationship.PENDING).save() return "FRIENDSHIP_REQUESTED" return redirect(url_for('user_app.profile', username=to_username)) else: abort(404)
def add_friend(to_username): logged_user = User.objects.filter(username=session.get('username')).first() to_user = User.objects.filter(username=to_username).first() if to_user: rel = Relationship.get_relationship(logged_user, to_user) to_username = to_user.username if rel == "REVERSE_FRIENDS_PENDING": Relationship( from_user=logged_user, to_user=to_user, rel_type=Relationship.FRIENDS, status=Relationship.APPROVED ).save() reverse_rel = Relationship.objects.get( from_user=to_user, to_user=logged_user ) reverse_rel.status=Relationship.APPROVED reverse_rel.save() elif rel == None and rel != "REVERSE_BLOCKED": Relationship( from_user=logged_user, to_user=to_user, rel_type=Relationship.FRIENDS, status=Relationship.PENDING ).save() return redirect(url_for('user_app.profile', username=to_username)) else: abort(404)
def add_friend(to_username): ref = request.referrer logged_user = User.getByName(session.get('username')) to_user = User.getByName(to_username) if to_user: rel_status = Relationship.get_relationship_status(logged_user.id, to_user.id) if rel_status == "REVERSE_FRIENDS_PENDING": Relationship( from_user=logged_user.id, to_user=to_user.id, rel_type=RELATIONSHIP_TYPE.get(FRIENDS), status=STATUS_TYPE.get(APPROVED) ).save_database() reverse_rel = Relationship.get_relationship(to_user.id, logged_user.id) reverse_rel.status = STATUS_TYPE.get(APPROVED) reverse_rel.update_record() elif rel_status is None: # and rel_status != "REVERSE_BLOCKED" Relationship( from_user=logged_user.id, to_user=to_user.id, rel_type=RELATIONSHIP_TYPE.get(FRIENDS), status=STATUS_TYPE.get(PENDING) ).save_database() # email the user body_html = render_template( 'mail/relationship/added_friend.html', from_user=logged_user, to_user=to_user, ) body_text = render_template( 'mail/relationship/added_friend.txt', from_user=logged_user, to_user=to_user, ) email(to_user.email, ("%s has requested to be friends") % logged_user.first_name, body_html, body_text) if ref: return redirect(ref) else: return redirect(url_for('user_blueprint.profile', username=to_user.username)) else: abort(404)
def add_friend(to_username): ref = request.referrer logged_user = User.objects.filter(username=session.get('username')).first() to_user = User.objects.filter(username=to_username).first() if to_user: rel = Relationship.get_relationship(logged_user, to_user) to_username = to_user.username if rel == "REVERSE_FRIENDS_PENDING": Relationship( from_user=logged_user, to_user=to_user, rel_type=Relationship.FRIENDS, status=Relationship.APPROVED ).save() reverse_rel = Relationship.objects.get( from_user=to_user, to_user=logged_user) reverse_rel.status = Relationship.APPROVED reverse_rel.save() elif rel == None and rel != "REVERSE_BLOCKED": Relationship( from_user=logged_user, to_user=to_user, rel_type=Relationship.FRIENDS, status=Relationship.PENDING ).save() # email the user body_html = render_template( 'mail/relationship/added_friend.html', from_user=logged_user, to_user=to_user, ) body_text = render_template( 'mail/relationship/added_friend.txt', from_user=logged_user, to_user=to_user, ) email(to_user.email, ("%s has requested to be friends") % logged_user.first_name, body_html, body_text) if ref: return redirect(ref) else: return redirect(url_for('user_app.profile', username=to_user.username)) else: abort(404)
def block(to_username): ref = request.referrer logged_user = User.objects.filter(username=session.get('username')).first() to_user = User.objects.filter(username=to_username).first() if to_user: rel = Relationship.get_relationship(logged_user, to_user) to_username = to_user.username if rel == "FRIENDS_PENDING" or rel == "FRIENDS_APPROVED" or rel == "REVERSE_FRIENDS_PENDING": rel = Relationship.objects.filter(from_user=logged_user, to_user=to_user).delete() reverse_rel = Relationship.objects.filter( from_user=to_user, to_user=logged_user).delete() Relationship(from_user=logged_user, to_user=to_user, rel_type=Relationship.BLOCKED, status=Relationship.APPROVED).save() if ref: return redirect(ref) else: return redirect( url_for('user_app.profile', username=to_user.username)) else: abort(404)
def block(to_username): ref = request.referrer logged_user = User.getByName(session.get('username')) to_user = User.getByName(to_username) if to_user: rel_status = Relationship.get_relationship_status(logged_user.id, to_user.id) if rel_status == "FRIENDS_PENDING" \ or rel_status == "FRIENDS_APPROVED" \ or rel_status == "REVERSE_FRIENDS_PENDING": rel = Relationship.get_relationship(logged_user.id, to_user.id) rel.delete_record() reverse_rel = Relationship.get_relationship(to_user.id, logged_user.id) reverse_rel.delete_record() Relationship( from_user=logged_user.id, to_user=to_user.id, rel_type=RELATIONSHIP_TYPE.get(BLOCKED), status=STATUS_TYPE.get(APPROVED) ).save_database() if ref: return redirect(ref) else: return redirect(url_for('user_blueprint.profile', username=to_user.username)) else: abort(404)
def add_friend(to_username): ref = request.referrer logged_user = User.objects.filter(username=session.get("username")).first() to_user = User.objects.filter(username=to_username).first() if to_user: rel = Relationship.get_relationship(logged_user, to_user) to_username = to_user.username if rel == "REVERSE_FRIENDS_PENDING": # Person has requested you a friendship and waiting on you Relationship(from_user=logged_user, to_user=to_user, rel_type=Relationship.FRIENDS, status=Relationship.APPROVED).save() reverse_rel = Relationship.objects.get(from_user=to_user, to_user=logged_user) reverse_rel.status = Relationship.APPROVED reverse_rel.save() elif rel == None and rel != "REVERSE_BLOCKED": Relationship(from_user=logged_user, to_user=to_user, rel_type=Relationship.FRIENDS, status=Relationship.PENDING).save() # Email the user body_html = render_template( "mail/relationship/added_friend.html", from_user=logged_user, to_user=to_user, ) body_text = render_template( "mail/relationship/added_friend.txt", from_user=logged_user, to_user=to_user, ) email( to_user.email, "{0} has requested to be friends".format( logged_user.first_name), body_html, body_text) if ref: return redirect(ref) else: return redirect( url_for("user_app.profile", username=to_user.username)) else: abort(404)
def _save_approved_relationship_to_database(logged_user, to_user): Relationship(from_user=logged_user, to_user=to_user, relationship_type=Relationship.FRIENDS, status=Relationship.APPROVED).save() reversed_relationship = Relationship.objects.get(from_user=to_user, to_user=logged_user) reversed_relationship.status = Relationship.APPROVED reversed_relationship.save()
def block(username): logged_user, to_user = _get_requesting_user_and_logged_in_user_obj( username) if to_user and logged_user: Relationship.delete_connection_between_users(to_user, logged_user) Relationship(from_user=logged_user, to_user=to_user, relationship_type=Relationship.BLOCKED, status=Relationship.APPROVED).save() return _redirect_to_referred_url_if_safe(username) abort(404)
def add_friend(username): logged_user, to_user = _get_requesting_user_and_logged_in_user_obj( username) if to_user: relationship = Relationship.get_relationship(logged_user, to_user) if relationship == constants.REVERSE_PENDING_FRIEND_REQUEST: _save_approved_relationship_to_database(logged_user, to_user) elif relationship is None and relationship != constants.REVERSED_BLOCK: Relationship(from_user=logged_user, to_user=to_user, relationship_type=Relationship.FRIENDS, status=Relationship.PENDING).save() _email_user_about_friend_request(logged_user, to_user) return _redirect_to_referred_url_if_safe(username) abort(404)