Exemplo n.º 1
0
 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(),
   })
Exemplo n.º 2
0
  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)