]> git.ipfire.org Git - ipfire.org.git/commitdiff
blog: Add email debug handler
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 25 Oct 2023 16:44:36 +0000 (16:44 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 25 Oct 2023 16:44:36 +0000 (16:44 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/web/__init__.py
src/web/blog.py

index 481c32ff3b7f106c67d861a9659f1aa6556f9079..94dc506919c001289c8020b1aec0f315c79e58a8 100644 (file)
@@ -136,6 +136,7 @@ class Application(tornado.web.Application):
                        (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),
index a2ac1e3285f48b7c27ff33195c6e1cd6e0e9e159..20d2d74d7f9782c88b0c2f3b560ce876dce6467f 100644 (file)
@@ -235,6 +235,20 @@ class DeleteHandler(base.BaseHandler):
                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",