Example #1
0
    def post(self, id=None):
        if id:
            forum = model.forum.Forum.get_by_id(int(id))
        else:
            forum = model.forum.Forum(
                name=self.request.POST.get("forum-name"),
                slug=self.request.POST.get("forum-slug"),
                description=self.request.POST.get("forum-desc"))

        old_slug = forum.slug
        forum.name = self.request.POST.get("forum-name")
        forum.slug = self.request.POST.get("forum-slug")
        forum.description = self.request.POST.get("forum-desc")
        if self.request.POST.get("forum-moderators"):
            forum.moderators = []
            for email in self.request.POST.get("forum-moderators").split(","):
                try:
                    user = users.User(email.strip())
                    forum.moderators.append(user)
                except users.UserNotFoundError:
                    pass
        if self.request.POST.get("forum-auto_subscribers"):
            forum.auto_subscribers = []
            for email in self.request.POST.get("forum-auto_subscribers").split(
                    ","):
                try:
                    user = users.User(email.strip())
                    forum.auto_subscribers.append(user)
                except users.UserNotFoundError:
                    pass
        if self.request.POST.get("forum-allowed_posters"):
            forum.allowed_posters = []
            for email in self.request.POST.get("forum-allowed_posters").split(
                    ","):
                try:
                    user = users.User(email.strip())
                    forum.allowed_posters.append(user)
                except users.UserNotFoundError:
                    pass
        forum.put()
        memcache.delete("forums")
        memcache.delete("forums:%s" % (old_slug))
        memcache.delete("forums:%s" % (forum.slug))

        self.redirect("/admin/forum/forums/edit/" +
                      str(forum.key().id_or_name()))
Example #2
0
def getAllianceForum(realm_name, alliance):
  """Returns the forum for the given alliance."""
  keyname = "forums:alliance:%s-%d" % (realm_name, alliance.alliance_id)
  forum = memcache.get(keyname)
  if not forum:
    for f in model.forum.Forum.all().filter("alliance", realm_name+":"+str(alliance.alliance_id)).fetch(1):
      forum = f
      break
    if forum:
      memcache.set(keyname, forum, time=3600)
  if not forum:
    # if there's not one, we'll create one
    forum = model.forum.Forum(name=alliance.name, slug="alliance:"+realm_name.lower()+":"+ctrl.makeSlug(alliance.name),
                              description="Private alliance forum for "+alliance.name)
    forum.alliance = realm_name+":"+str(alliance.alliance_id)
    forum.put()
    memcache.set(keyname, forum, time=3600)
  return forum
Example #3
0
  def post(self, id=None):
    if id:
      forum = model.forum.Forum.get_by_id(int(id))
    else:
      forum = model.forum.Forum(name=self.request.POST.get("forum-name"),
                                slug=self.request.POST.get("forum-slug"),
                                description=self.request.POST.get("forum-desc"))

    old_slug = forum.slug
    forum.name = self.request.POST.get("forum-name")
    forum.slug = self.request.POST.get("forum-slug")
    forum.description = self.request.POST.get("forum-desc")
    if self.request.POST.get("forum-moderators"):
      forum.moderators = []
      for email in self.request.POST.get("forum-moderators").split(","):
        try:
          user = users.User(email.strip())
          forum.moderators.append(user)
        except users.UserNotFoundError:
          pass
    if self.request.POST.get("forum-auto_subscribers"):
      forum.auto_subscribers = []
      for email in self.request.POST.get("forum-auto_subscribers").split(","):
        try:
          user = users.User(email.strip())
          forum.auto_subscribers.append(user)
        except users.UserNotFoundError:
          pass
    if self.request.POST.get("forum-allowed_posters"):
      forum.allowed_posters = []
      for email in self.request.POST.get("forum-allowed_posters").split(","):
        try:
          user = users.User(email.strip())
          forum.allowed_posters.append(user)
        except users.UserNotFoundError:
          pass
    forum.put()
    memcache.delete("forums")
    memcache.delete("forums:%s" % (old_slug))
    memcache.delete("forums:%s" % (forum.slug))

    self.redirect("/admin/forum/forums/edit/"+str(forum.key().id_or_name()))