page = Page.sanitise_page_name(page)
return self._get_page("INSERT INTO wiki(page, author_uid, markdown, changes, address) \
- VALUES(%s, %s, %s, %s, %s) RETURNING *", page, author.uid, content, changes, address)
+ VALUES(%s, %s, %s, %s, %s) RETURNING *", page, author.uid, content or None, changes, address)
def delete_page(self, page, author, **kwargs):
# Do nothing if the page does not exist
content = self.get_argument("content", None)
changes = self.get_argument("changes")
- # Delete the page if content is empty
- if not content:
- with self.db.transaction():
- self.backend.wiki.delete_page(page, self.current_user,
- changes=changes, address=self.get_remote_ip())
-
- self.redirect("/")
- return
-
# Create a new page in the database
with self.db.transaction():
page = self.backend.wiki.create_page(page,
self.current_user, content, changes=changes, address=self.get_remote_ip())
- # Redirect
- self.redirect(page.url)
+ # Redirect back
+ if page.was_deleted():
+ self.redirect("/")
+ else:
+ self.redirect(page.url)
class SearchHandler(auth.CacheMixin, base.BaseHandler):