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)
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)
def network_events() : # TODO: A lot of this code is repeated from network(), with just minor variations. # This should be factored out. id_network = request.args.get('id') if not id_network : return render_template('404.html') c = Client(mock=False) try: id_network = int(id_network) except ValueError: return render_template('404.html') network = c.get_network(id_network) if not network: return render_template('404.html') events = None old_index = request.args.get('index') if not old_index: events = c.get_network_events(id_network, 10) else: try: old_index = int(old_index) except ValueError: return render_template('404.html') events = c.get_network_events(id_network, 10, old_index - 1) # TODO: Add better handling for when there's no posts left. if not events : event_index = old_index else : event_index = events[-1]['id'] for event in events: utils.enhance_event_date_info(event) event['num_registered'] = c.get_event_reg_count(event['id'])['reg_count'] id_user = current_user.id user_networks = c.get_user_networks(id_user, count=100) user_is_member = False for network_ in user_networks: if int(id_network) == int(network_['id']): user_is_member = True break network_info = {} network_info['id'] = id_network network_info['events'] = events network_info['network_title'] = get_network_title(network) network_info['user_is_member'] = user_is_member num_users = c.get_network_user_count(id_network)['user_count'] num_posts = c.get_network_post_count(id_network)['post_count'] network_info['num_users'] = num_users network_info['num_posts'] = num_posts referrer = request.headers.get("Referer") return render_template( 'network_events.html', network_info=network_info, event_index=event_index, referer_url=referrer )
def network_posts() : # TODO: A lot of this code is repeated from network(), with just minor variations. # This should be factored out. id_network = request.args.get('id') if not id_network : return render_template('404.html') c = Client(mock=False) try: id_network = int(id_network) except ValueError: return render_template('404.html') network = c.get_network(id_network) if not network: return render_template('404.html') # TODO: Get user ID and work out if user is in network. # Add join us button to page if they're not. posts = None old_index = request.args.get('index') if not old_index: posts = c.get_network_posts(id_network, 10) else: try: old_index = int(old_index) except ValueError: return render_template('404.html') posts = c.get_network_posts(id_network, 10, old_index - 1) for post in 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']) # TODO: Add better handling for when there's no events left. if not posts : post_index = old_index else : post_index = posts[-1]['id'] id_user = current_user.id user_networks = c.get_user_networks(id_user, count=100) user_is_member = False for network_ in user_networks: if int(id_network) == int(network_['id']): user_is_member = True break network_info = {} network_info['id'] = id_network network_info['posts'] = posts network_info['user_is_member'] = user_is_member num_users = c.get_network_user_count(id_network)['user_count'] num_posts = c.get_network_post_count(id_network)['post_count'] network_info['num_users'] = num_users network_info['num_posts'] = num_posts network_info['network_title'] = get_network_title(network) return render_template('network_posts.html', network_info=network_info, post_index=post_index)