def post(self): try: section_id = self.request.GET['section_id'] except: self.redirect("/error?msg=Key missing for deletion.") return user = users.get_current_user() if user: try: section = ndb.Key(urlsafe=section_id).get() chapter = Chapter.get_by_id(section.chapter) story = Story.get_by_id(chapter.story) except: self.redirect("/error?msg=Key was not found.") return self.redirect("/info?msg=Section deleted: " + story.title.encode("ascii", "replace") + ": " + chapter.title.encode("ascii", "replace") + " - " + str(section.num) + "&url=/manage_sections?chapter_id=" + chapter.key.urlsafe()) # Remove story model.remove_data.remove_section(section.key) else: self.redirect("/")
def get(self): try: chapter_id = self.request.GET['chapter_id'] except: self.redirect("/error?msg=missing key for modifying") return user = users.get_current_user() if user: user_name = user.nickname() access_link = users.create_logout_url("/") try: chapter = ndb.Key(urlsafe=chapter_id).get() story = Story.get_by_id(chapter.story) except: self.redirect("/error?msg=key does not exist") return template_values = { "info": AppInfo, "user_name": user_name, "access_link": access_link, "story": story, "chapter": chapter, } jinja = jinja2.get_jinja2(app=self.app) self.response.write( jinja.render_template("modify_chapter.html", **template_values)) else: self.redirect("/")
def post(self): try: id = self.request.GET['chapter_id'] except: id = None if not id: self.redirect("/error?msg=Key missing for deletion (post).") return user = users.get_current_user() if user: try: chapter = ndb.Key(urlsafe=id).get() story = Story.get_by_id(chapter.story) except: self.redirect("/error?msg=Key was not found for deletion.") return self.redirect("/info?msg=Chapter deleted: " + (story.title + ": " + chapter.title).encode("ascii", "replace") + "&url=/manage_chapters?story_id=" + story.key.urlsafe()) # Remove chapter model.remove_data.remove_chapter(chapter.key) else: self.redirect("/")
def post(self): try: character_id = self.request.GET['character_id'] except: self.redirect("/error?msg=missing id for modification") return user = users.get_current_user() if user: # Get story by key try: character = ndb.Key(urlsafe=character_id).get() story = Story.get_by_id(character.story) except: self.redirect("/error?msg=key does not exist") return character.name = self.request.get("name", "").strip() character.summary = self.request.get("summary", "").strip() # Chk if len(character.name) < 1: self.redirect("/error?msg=Aborted modification: missing name") return # Chk title existing_characters = Character.query( Character.name == character.name) if (existing_characters and existing_characters.count() > 0 and existing_characters.get() != character): self.redirect("/error?msg=Character with name \"" + character.title.encode("ascii", "replace") + "\" already exists.") return # Save character.put() self.redirect("/info?msg=Character modified: \"" + character.name.encode("ascii", "replace") + "@" + story.title.encode("ascii", "replace") + "\"&url=/manage_characters?story_id=" + story.key.urlsafe()) else: self.redirect("/")
def get(self): user = users.get_current_user() if user: user_name = user.nickname() try: chapter_id = self.request.GET['chapter_id'] except: self.redirect("/error?msg=Key missing for management.") return try: chapter = ndb.Key(urlsafe=chapter_id).get() story = Story.get_by_id(chapter.story) except: self.redirect("/error?msg=Key was not found.") return sections = Section.query( Section.chapter == chapter.key.id()).order(Section.num) total_stats = count_chapter(chapter.key.id()) access_link = users.create_logout_url("/") template_values = { "info": AppInfo, "user_name": user_name, "access_link": access_link, "story": story, "chapter": chapter, "sections": sections, "total_crs": total_stats["crs"], "total_ws": total_stats["ws"], "total_pgs": total_stats["pgs"] } jinja = jinja2.get_jinja2(app=self.app) self.response.write( jinja.render_template("sections.html", **template_values)) else: self.redirect("/") return
def post(self): try: section_id = self.request.GET['section_id'] except: self.redirect("/error?msg=missing key for modification") return user = users.get_current_user() if user: try: section = ndb.Key(urlsafe=section_id).get() chapter = Chapter.get_by_id(section.chapter) story = Story.get_by_id(chapter.story) except: self.redirect("/error?msg=key does not exist") return section.text = self.request.get("text", "").strip() # Chk if len(section.text) < 1: self.redirect( "/error?msg=Aborted modification: missing section's text") return if section.num < 1: self.redirect( "/error?msg=Aborted modification: missing section's number" ) return # Save model.section.update(section) self.redirect("/info?msg=Section modified: \"" + (story.title + ": " + chapter.title).encode("ascii", "replace") + ": " + str(section.num) + "\"&url=/manage_sections?chapter_id=" + chapter.key.urlsafe()) else: self.redirect("/")
def get(self): try: id = self.request.GET['section_id'] except: self.redirect("/error?msg=Key missing for deletion.") return user = users.get_current_user() if user: user_name = user.nickname() access_link = users.create_logout_url("/") try: section = ndb.Key(urlsafe=id).get() chapter = Chapter.get_by_id(section.chapter) story = Story.get_by_id(chapter.story) except: self.redirect("/error?msg=Key was not found.") return template_values = { "info": AppInfo, "user_name": user_name, "access_link": access_link, "story": story, "chapter": chapter, "section": section } jinja = jinja2.get_jinja2(app=self.app) self.response.write( jinja.render_template("delete_section.html", **template_values)) else: self.redirect("/")