(r"/blog/([0-9a-z\-\._]+)/delete", blog.DeleteHandler),
(r"/blog/([0-9a-z\-\._]+)/edit", blog.EditHandler),
(r"/blog/([0-9a-z\-\._]+)/publish", blog.PublishHandler),
+ (r"/blog/([0-9a-z\-\._]+)/debug/email", blog.DebugEmailHandler),
# Docs
(r"/docs/recent\-changes", docs.RecentChangesHandler),
self.redirect("/drafts")
+class DebugEmailHandler(base.BaseHandler):
+ @tornado.web.authenticated
+ def get(self, slug):
+ if not self.current_user.is_staff():
+ raise tornado.web.HTTPError(403)
+
+ # Fetch the post
+ post = self.backend.blog.get_by_slug(slug)
+ if not post:
+ raise tornado.web.HTTPError(404, "Could not find post %s" % slug)
+
+ self.render("blog/messages/announcement.html", account=self.current_user, post=post)
+
+
class HistoryNavigationModule(ui_modules.UIModule):
def render(self):
return self.render_string("blog/modules/history-navigation.html",