Пример #1
0
def update_profile_and_render_home():
    user_id = current_user.id
    c = Client(mock=False)

    data = request.form
    form = UserInfo(request.form)
    first_name = data['first_name']
    last_name = data['last_name']
    about_me = data['about_me']
    if not about_me:
        about_me = ""

    user = {
        'id': user_id,
        'first_name': first_name,
        'last_name': last_name,
        'about_me': about_me
    }

    if form.validate():
        c.update_user(current_user, user)

    user = c.get_user(user_id)
    if user is None:
        return page_not_found("")
    user['img_url'] = get_user_image_url(current_user)
    user_info_form = UserInfo()
    user_info_form.first_name.process_data(user['first_name'])
    user_info_form.last_name.process_data(user['last_name'])
    user_info_form.about_me.process_data(user['about_me'])
    return render_template('account.html',
                           user=user,
                           user_info_form=user_info_form)
Пример #2
0
def render_user_home_events():
    c = Client(mock=False)
    user = copy.deepcopy(current_user)
    user_id = user.id
    user.img_url = get_user_image_url(user)

    # Events user is hosting
    events_hosting = get_upcoming_events_by_user_hosting(c, user.id, 50)
    # Events user is attending
    events_attending = get_upcoming_events_by_user_attending(c, user.id, 50)

    return render_template('events.html',
                           user=user.as_dict,
                           events_hosting=events_hosting,
                           events_attending=events_attending)
Пример #3
0
def render_user_home_account():
    user = copy.deepcopy(current_user)
    c = Client(mock=False)
    user.img_url = get_user_image_url(user)

    if user is None:
        return page_not_found("")

    user_info_form = UserInfo()
    user_info_form.first_name.process_data(user.first_name)
    user_info_form.last_name.process_data(user.last_name)
    user.about_me = user.about_me if user.about_me and user.about_me != "None" else ""
    user_info_form.about_me.process_data(user.about_me)
    return render_template('account.html',
                           user=user.as_dict,
                           user_info_form=user_info_form)
Пример #4
0
def user_profile(user_id):

    c = Client(mock=False)

    user = c.get_user(user_id)
    user['img_url'] = get_user_image_url(user)
    user_networks = c.get_user_networks(user_id, MAX_NETWORKS_TO_LOAD)

    networks = []
    for network in user_networks:
        network_ = {'id': network['id']}
        network_['title'] = get_network_title(network)
        network_['join_date'] = get_short_network_join_date(network)
        num_users = c.get_network_user_count(network['id'])['user_count']
        network_['user_count'] = num_users
        networks.append(network_)

    return render_template('profile.html', user=user, networks=networks)
Пример #5
0
def render_user_home_networks():
    c = Client(mock=False)
    user = copy.deepcopy(current_user)
    user_id = user.id
    user.img_url = get_user_image_url(user)

    if user is None:
        return page_not_found("")

    user_networks = c.get_user_networks(user_id, count=MAX_NETWORKS_TO_LOAD)

    networks = []
    for network in user_networks:
        network_ = {'id': network['id']}
        network_['title'] = get_network_title(network)
        network_['join_date'] = get_short_network_join_date(network)
        num_users = c.get_network_user_count(network['id'])['user_count']
        network_['user_count'] = num_users
        networks.append(network_)

    return render_template('networks.html',
                           user=user.as_dict,
                           networks=networks)
Пример #6
0
def render_user_home():
    user = copy.deepcopy(current_user)

    c = Client(mock=False)
    user.img_url = get_user_image_url(user)

    # Events user is hosting
    events_hosting = get_upcoming_events_by_user_hosting(
        c, user.id, NUM_EVENT_HOSTING_TO_DISPLAY)
    # Events user is attending
    events_attending = get_upcoming_events_by_user_attending(
        c, user.id, NUM_EVENT_ATTENDING_TO_DISPLAY)

    # Upcoming events in user's networks.
    upcoming_events = get_upcoming_events_by_user(
        c, user.id, NUM_UPCOMING_EVENTS_TO_DISPLAY)

    # Some latest posts in the user's networks.
    latest_posts = c.get_user_posts(user.id, NUM_LATEST_POSTS_TO_DISPLAY)
    for post in latest_posts:
        post['username'] = c.get_user(post['id_user'])['username']
        post['reply_count'] = c.get_post_reply_count(post['id'])['reply_count']
        post['time_ago'] = get_time_ago(post['post_date'])

        try:
            post['network'] = c.get_network(post['id_network'])
            post['network_title'] = get_network_title(post['network'])
        except HTTPException as e:
            post['network'] = None
            post['network_title'] = "Unknown"

    return render_template('dashboard.html',
                           user=user.as_dict,
                           events_hosting=events_hosting,
                           events_attending=events_attending,
                           latest_posts=latest_posts,
                           upcoming_events_in_networks=upcoming_events)