def get(self): user = users.get_current_user() u = User.get_by_key_name(user.email()) categories = [] suggestions = set() for category in Category.all(): areas = category.get_areas_of_expertise() if areas: area_data = [{ 'user_name' : area.user.get_name(), 'user_email' : area.user.email, 'user_profile_pic' : area.user.profile_pic, 'user_available' : area.user.is_available_for_hangout(), 'description' : area.description.title(), } for area in areas if area.user.is_expert] for area in areas: suggestions.add(category.name.title() + ' :: ' + area.description.title()) if area_data: categories.append({'name':category.name, 'areas':area_data}) self.Render("main.html", { 'user': u, 'validate': u.validate(), 'contents': 'expert_list.html', 'token': channel.create_channel(user.user_id()), 'is_expert': u.is_expert, 'categories': categories, 'suggestions': [suggestion for suggestion in suggestions], 'login': users.create_login_url("/"), 'logout': users.create_logout_url("/"), 'is_admin': users.is_current_user_admin(), })
def get(self): user = users.get_current_user() u = User.get_by_key_name(user.email()) if not u.is_expert and not u.convert_to_expert(service, calendar_service, decorator): # Token access error. Go back to sign up page and restart flow self.redirect('/signUp') return # get the areas of expertise for this user user_areas = u.get_areas_of_expertise() # user_areas_dict = dict((area.category.name, area) for area in user_areas) # # # construct a data structure of all categories # all_categories = [] # for category in Category.all(): # category_data = { # 'checked': False, # 'name': category.name, # 'description': category.name, # } # if category.name in user_areas_dict: # category_data['checked'] = True # category_data['description'] = \ # user_areas_dict[category.name].description # all_categories.append(category_data) suggestions = set() for category in Category.all(): for area in category.get_areas_of_expertise(): suggestions.add(category.name.title() + ' :: ' + area.description.title()) # this is what we pass to the templating engine template_values = { # 'all_categories': all_categories, 'suggestions': [suggestion for suggestion in suggestions], 'user_categories': [(area.category.name.title(), area.category.name.title() + ' :: ' + area.description.title()) for area in user_areas], 'user': u, 'validate': u.validate(), 'logout': users.create_logout_url("/"), 'contents': 'add_expertise.html', 'is_expert': u.is_expert, 'is_admin': users.is_current_user_admin(), } self.Render('main.html', template_values)