From a446dcb9d22e698c2ae8994dcb90842c7ba24cc1 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 12 Nov 2018 18:39:51 +0000 Subject: [PATCH] wiki: Add custom 404 page Signed-off-by: Michael Tremer --- Makefile.am | 1 + src/templates/wiki/404.html | 25 +++++++++++++++++++++++++ src/web/wiki.py | 9 +++++++++ 3 files changed, 35 insertions(+) create mode 100644 src/templates/wiki/404.html diff --git a/Makefile.am b/Makefile.am index 08ef93a8..bb8f9f8d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -254,6 +254,7 @@ templates_static_DATA = \ templates_staticdir = $(templatesdir)/static templates_wiki_DATA = \ + src/templates/wiki/404.html \ src/templates/wiki/base.html \ src/templates/wiki/page.html \ src/templates/wiki/recent-changes.html diff --git a/src/templates/wiki/404.html b/src/templates/wiki/404.html new file mode 100644 index 00000000..b09d76f2 --- /dev/null +++ b/src/templates/wiki/404.html @@ -0,0 +1,25 @@ +{% extends "../base.html" %} + +{% block title %}{{ _("Page Not Found") }}{% end block %} + +{% block container %} +
+
+
+
+
{{ _("Error 404") }}
+ +

{{ _("This Page Does Not Exist") }}

+ +

+ {{ _("This wiki page does not exist, yet.") }} +

+ + + {{ _("Create Now") }} + +
+
+
+
+{% end block %} diff --git a/src/web/wiki.py b/src/web/wiki.py index 5ba76af0..de81880d 100644 --- a/src/web/wiki.py +++ b/src/web/wiki.py @@ -7,6 +7,15 @@ from . import base from . import ui_modules class PageHandler(auth.CacheMixin, base.BaseHandler): + def write_error(self, status_code, **kwargs): + # Render a custom page for 404 + if status_code == 404: + self.render("wiki/404.html", **kwargs) + return + + # Otherwise raise this to one layer above + super().write_error(status_code, **kwargs) + @tornado.web.removeslash def get(self, page): page = self.backend.wiki.get_page(page) -- 2.47.2