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()))
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
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()))