Example #1
0
  def post(self):
    # figure out the current user
    user = users.get_current_user()
    if user == None:
      self.redirect(users.create_login_url("/manageAccount"))
      return
    u = User.get_by_key_name(user.email())
    if u == None:
      self.redirect(users.create_login_url("/signUp"))
      return
      
    # add all the existing categories
    area = AreaOfExpertise.all()
    area.filter("user ="******"expertoptout") != "true"
    u.put()
    
    for category_subcategory in self.request.get_all("usercategory"):
      if category_subcategory and category_subcategory != "" and re.search("\s::\s", category_subcategory):
        match = re.search("\s::\s", category_subcategory)
        category_name = category_subcategory[0:match.start(0)].lower()
        subcategory = category_subcategory[match.end(0):].lower()
        if not Category.get_by_key_name(category_name):
          category = Category(name=category_name)
          category.put()
        u.add_category(category_name, subcategory)
      
        
    # for param in self.request.arguments():
    #   value = self.request.get(param)
    #   if param == "expertoptout":
    #     u.expert_opt_out = self.request.get("expertoptout") != "true"
    #     u.put()
    #   elif not re.search(" description$", param) and value == "true":
    #     if not Category.get_by_key_name(param):
    #       c = Category(name=param)
    #       c.put()
    #     description = self.request.get('%s description' % param)
    #     logging.error(param + " :: " + description)
    #     u.add_category(param, description)

    # for category in Category.all().fetch(100):
    #    if self.request.get(category.name) == 'true':
    #      description = self.request.get('%s description' % category.name)
    #      u.add_category(category.name, description)
         
    # # add the other category
    # other_category = self.request.get("other").lower()
    # if other_category and other_category != "" and other_category != "other":
    #   # Disallow empty category names and the "other" category name
    #   if not Category.get_by_key_name(other_category):
    #     category = Category(name=other_category)
    #     category.put()
    #   u.add_category(other_category, other_category)
    
    # add_category = self.request.get("addcategory").lower()
    # if add_category and add_category != "" and re.search("\s::\s", add_category):
    #   match = re.search("\s::\s", add_category)
    #   category_name = add_category[0:match.start(0)]
    #   subcategory = add_category[match.end(0):]
    #   if not Category.get_by_key_name(category_name):
    #     category = Category(name=category_name)
    #     category.put()
    #   u.add_category(category_name, subcategory)
    
    # do the opt out stuff
    self.redirect("/")