Example #1
0
def user_profile(user_id):
    """
    display user profile, including map and recent 5 footprints
    """

    user = db.session.query(User).filter(User.user_id == user_id).one()

    #get all footprints
    footprint = db.session.query(Visit).filter(Visit.user_id == user_id).\
                                            order_by(Visit.visit_id.desc())

    total_footprints = len(footprint.all())
    recent_footprints = footprint.limit(5).all()

    total_friends = len(get_friends(user_id).all())

    current_user_id = session["current_user"]["user_id"]
    # Check connection status between user_a and user_b
    friends, pending_request = friends_or_pending(current_user_id, user_id)

    return render_template("user_profile.html",
                           user=user,
                           total_footprints=total_footprints,
                           recent_footprints=recent_footprints,
                           total_friends=total_friends,
                           friends=friends,
                           pending_request=pending_request)
Example #2
0
def user_profile(user_id):
    """Show user profile with map and list of visited restaurants."""

    user = db.session.query(User).filter(User.user_id == user_id).one()

    # Get user's breadcrumbs in descending order
    breadcrumbs = db.session.query(Visit).filter(
        Visit.user_id == user_id).order_by(Visit.visit_id.desc())

    total_breadcrumbs = len(breadcrumbs.all())
    recent_breadcrumbs = breadcrumbs.limit(5).all()

    total_friends = len(get_friends(user.user_id).all())

    user_a_id = session["current_user"]["user_id"]
    user_b_id = user.user_id

    # Check connection status between user_a and user_b
    friends, pending_request = is_friends_or_pending(user_a_id, user_b_id)

    return render_template("user_profile.html",
                           user=user,
                           total_breadcrumbs=total_breadcrumbs,
                           recent_breadcrumbs=recent_breadcrumbs,
                           total_friends=total_friends,
                           friends=friends,
                           pending_request=pending_request)
Example #3
0
def profile(response, username):
    auth.require_user(response)
    user = auth.get_user(response)
    if user == None:
        return
    if not username:
        username = user
    else:
        username = User.get(username)
    if user is not None:
        firstname = username.get_first_name()
        lastname = username.get_last_name()
        email = username.get_email()
        school = username.get_school()
        interests = {"activities":None, "tv":None}
        about = {"birthday":None, "age":None, "website":None}
        education = {"school":None,"subjects":None,"state":None,"grade":None}
        picture = username.get_profile_pic_path()
        if not picture:
            picture = "/static/images/default_avatar.jpeg"
        print "PICTURE IS: " + picture
        fullname = firstname + " " + lastname
        
        context = {"title":fullname, 'wallorfeed':'wallupdate',
                   "username":username.get_username(),'current_Wall':username.get_username(), "profile_pic_location":picture,
                   "email":email, "school":school, "css": "profile", "friends":friends.get_friends(username.get_username()), "user": user,
                   "interests": interests, "about": about, "education":education,"user":user,'can_use_wall':can_use_wall(user,username.get_username())}
        template.render_template("templates/profile.html", context, response)
def settings():
    users.require_role(2)
    user_id = session["user_id"]
    events_with_own_level = events.get_all_events_for_user(user_id)
    own_weekly_entries = entries.get_weekly_entries_for_user(user_id)
    friends_list = friends.get_friends(user_id)
    friend_requests = friends.get_friends_open_requests(user_id)
    friend_requests_own = friends.get_own_requests(user_id)
    weekdays = {0: "SU", 1: "MA", 2: "TI", 3: "KE", 4: "TO", 5: "PE", 6: "LA"}
    user_info = users.get_user_info(user_id)
    if session["user_role"] == 1 or session["user_role"] == 0:
        all_events = events.get_all_events()
        return render_template("settings.html",
                               all_events=all_events,
                               friend_requests_own=friend_requests_own,
                               user_info=user_info,
                               days=weekdays,
                               events_with_own_level=events_with_own_level,
                               own_weekly_entries=own_weekly_entries,
                               friends=friends_list,
                               friend_requests=friend_requests)
    return render_template("settings.html",
                           friend_requests_own=friend_requests_own,
                           user_info=user_info,
                           days=weekdays,
                           events_with_own_level=events_with_own_level,
                           own_weekly_entries=own_weekly_entries,
                           friends=friends_list,
                           friend_requests=friend_requests)
Example #5
0
def user_profile(user_id):
    """Show user profile with map and list of visited restaurants."""

    user = db.session.query(User).filter(User.user_id == user_id).one()

    # Get user's breadcrumbs in descending order
    breadcrumbs = db.session.query(Visit).filter(Visit.user_id == user_id).order_by(Visit.visit_id.desc())

    total_breadcrumbs = len(breadcrumbs.all())
    recent_breadcrumbs = breadcrumbs.limit(5).all()

    total_friends = len(get_friends(user.user_id).all())

    user_a_id = session["current_user"]["user_id"]
    user_b_id = user.user_id

    # Check connection status between user_a and user_b
    friends, pending_request = is_friends_or_pending(user_a_id, user_b_id)

    return render_template("user_profile.html",
                           user=user,
                           total_breadcrumbs=total_breadcrumbs,
                           recent_breadcrumbs=recent_breadcrumbs,
                           total_friends=total_friends,
                           friends=friends,
                           pending_request=pending_request)
Example #6
0
def show_friends_and_requests():
    """Show friend requests and list of all friends"""

    # This returns User objects for current user's friend requests
    received_friend_requests, sent_friend_requests = get_friend_requests(session["current_user"]["user_id"])

    # This returns a query for current user's friends (not User objects), but adding .all() to the end gets list of User objects
    friends = get_friends(session["current_user"]["user_id"]).all()

    return render_template("friends.html",
                           received_friend_requests=received_friend_requests,
                           sent_friend_requests=sent_friend_requests,
                           friends=friends)
Example #7
0
def show_friends_and_requests():
    """Show friend requests and list of all friends"""

    # This returns User objects for current user's friend requests
    received_friend_requests, sent_friend_requests = get_friend_requests(
        session["current_user"]["user_id"])

    # This returns a query for current user's friends (not User objects), but adding .all() to the end gets list of User objects
    friends = get_friends(session["current_user"]["user_id"]).all()

    return render_template("friends.html",
                           received_friend_requests=received_friend_requests,
                           sent_friend_requests=sent_friend_requests,
                           friends=friends)
Example #8
0
def show_friends_and_requests():
    """
    show friends and  requests
    """

    received_friend_requests, sent_friend_requests = get_friend_requests(
        session["current_user"]["user_id"])

    friends = get_friends(session["current_user"]["user_id"]).all()

    return render_template("friends.html",
                           received_friend_requests=received_friend_requests,
                           sent_friend_requests=sent_friend_requests,
                           friends=friends)
Example #9
0
def restaurant_profile(restaurant_id):
    """Show restaurant information."""

    restaurant = db.session.query(Restaurant).filter(Restaurant.restaurant_id == restaurant_id).one()

    # Returns query for current user's friends, not User objects
    friends = get_friends(session["current_user"]["user_id"])

    # Pass friends into this query to filter by restaurant, and join visits table to
    # see which of user's friends have visited this restaurant
    friends_who_visited = friends.filter(Visit.restaurant_id == restaurant_id).join(Visit,
                                                                                    Visit.user_id == Connection.user_b_id).all()

    return render_template("restaurant_profile.html",
                           restaurant=restaurant,
                           friends_who_visited=friends_who_visited)
Example #10
0
def test_get_friends_2():
    """
    Tests friends.get_friends() submodule
    -------------------------------------
    Parameters : None
    =================
    Checks performed
    --------------------------------------------------------------------
    > Correct loading of details from a test input file with blank lines
    > Same user_ids for mulitple friends
    """

    # expected output
    correct_friends = "Error: multiple users with same user_id 2"

    friends_ = friends.get_friends('test_friend_list_2.json')
    assert friends_ == correct_friends
Example #11
0
def profile(response, username):
    auth.require_user(response)
    user = auth.get_user(response)
    if user == None:
        return
    if not username:
        username = user
    else:
        username = User.get(username)
    if user is not None:
        firstname = username.get_first_name()
        lastname = username.get_last_name()
        email = username.get_email()
        school = username.get_school()
        interests = {"activities": None, "tv": None}
        about = {"birthday": None, "age": None, "website": None}
        education = {
            "school": None,
            "subjects": None,
            "state": None,
            "grade": None
        }
        picture = username.get_profile_pic_path()
        if not picture:
            picture = "/static/images/default_avatar.jpeg"
        print "PICTURE IS: " + picture
        fullname = firstname + " " + lastname

        context = {
            "title": fullname,
            'wallorfeed': 'wallupdate',
            "username": username.get_username(),
            'current_Wall': username.get_username(),
            "profile_pic_location": picture,
            "email": email,
            "school": school,
            "css": "profile",
            "friends": friends.get_friends(username.get_username()),
            "user": user,
            "interests": interests,
            "about": about,
            "education": education,
            "user": user,
            'can_use_wall': can_use_wall(user, username.get_username())
        }
        template.render_template("templates/profile.html", context, response)
Example #12
0
def restaurant_profile(restaurant_id):
    """Show restaurant information."""

    restaurant = db.session.query(Restaurant).filter(
        Restaurant.restaurant_id == restaurant_id).one()

    # Returns query for current user's friends, not User objects
    friends = get_friends(session["current_user"]["user_id"])

    # Pass friends into this query to filter by restaurant, and join visits table to
    # see which of user's friends have visited this restaurant
    friends_who_visited = friends.filter(
        Visit.restaurant_id == restaurant_id).join(
            Visit, Visit.user_id == Connection.user_b_id).all()

    return render_template("restaurant_profile.html",
                           restaurant=restaurant,
                           friends_who_visited=friends_who_visited)
Example #13
0
def search_users():
    """Search for a user by email and return results."""

    # Returns users for current user's friend requests
    received_friend_requests, sent_friend_requests = get_friend_requests(session["current_user"]["user_id"])

    # Returns query for current user's friends (not User objects) so add .all() to the end to get list of User objects
    friends = get_friends(session["current_user"]["user_id"]).all()

    user_input = request.args.get("q")

    # Search user's query in users table of db and return all search results
    search_results = search(db.session.query(User), user_input).all()

    return render_template("friends_search_results.html",
                           received_friend_requests=received_friend_requests,
                           sent_friend_requests=sent_friend_requests,
                           friends=friends,
                           search_results=search_results)
Example #14
0
def search_users():
    """Search for a user by email and return results."""

    received_friend_requests, sent_friend_requests = get_friend_requests(
        session["current_user"]["user_id"])

    friends = get_friends(session["current_user"]["user_id"]).all()

    user_input = request.args.get("q")

    # query all users whose email contain user_input
    search_results = db.session.query(User).filter(
        User.email.like('%' + user_input + '%')).all()

    return render_template("friends_search_results.html",
                           received_friend_requests=received_friend_requests,
                           sent_friend_requests=sent_friend_requests,
                           friends=friends,
                           search_results=search_results)
Example #15
0
def search_users():
    """Search for a user by email and return results."""

    # Returns users for current user's friend requests
    received_friend_requests, sent_friend_requests = get_friend_requests(
        session["current_user"]["user_id"])

    # Returns query for current user's friends (not User objects) so add .all() to the end to get list of User objects
    friends = get_friends(session["current_user"]["user_id"]).all()

    user_input = request.args.get("q")

    # Search user's query in users table of db and return all search results
    search_results = search(db.session.query(User), user_input).all()

    return render_template("friends_search_results.html",
                           received_friend_requests=received_friend_requests,
                           sent_friend_requests=sent_friend_requests,
                           friends=friends,
                           search_results=search_results)
Example #16
0
def test_get_friends_1():
    """
    Tests friends.get_friends() submodule
    -------------------------------------
    Parameters : None
    =================
    Checks performed
    ---------------------------------------------------
    > Correct loading of details from a test input file
    """

    # declare validation list
    correct_friends = [
        {"latitude": "12.986375", "user_id": 12, "name": "Chris", "longitude": "77.043701"},
        {"latitude": "11.92893", "user_id": 1, "name": "Alice", "longitude": "78.27699"},
        {"latitude": "11.8856167", "user_id": 2, "name": "Ian", "longitude": "78.4240911"},
        {"latitude": "12.3191841", "user_id": 3, "name": "Jack", "longitude": "78.5072391"}
    ]

    friends_ = friends.get_friends('test_friend_list_1.json')

    assert friends_ == correct_friends
Example #17
0
def trail_profile(trail_id):
    """
    show trail info
    """

    trail = db.session.query(Trail).filter(Trail.trail_id == trail_id).one()

    #friends who visited
    friends = get_friends(session["current_user"]["user_id"])
    user_visited = db.session.query(User).join(
        Visit,
        Visit.user_id == User.user_id).filter(Visit.trail_id == trail_id)

    has_friends_visited = False
    for friend in friends:
        if friend in user_visited:
            has_friends_visited = True
            break

    return render_template("trail_profile.html",
                           trail=trail,
                           friends=friends,
                           user_visited=user_visited,
                           has_friends_visited=has_friends_visited)