From c307cb656538f7c788fee2b5f61ce266110e6a14 Mon Sep 17 00:00:00 2001 From: Lucas Brandstaetter <lucas@brandstaetter.tech> Date: Wed, 16 Aug 2023 16:07:19 +0200 Subject: [PATCH] Add warning if a StaticPageRevision is not found --- src/plainui/jinja2/plainui/static_page.html | 3 +++ src/plainui/views.py | 18 ++++++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/plainui/jinja2/plainui/static_page.html b/src/plainui/jinja2/plainui/static_page.html index c2da82261..ae5026bdc 100644 --- a/src/plainui/jinja2/plainui/static_page.html +++ b/src/plainui/jinja2/plainui/static_page.html @@ -13,6 +13,9 @@ <div class="alert alert-warning">{{ _("This page does not exist.") }}</div> {%- endif %} {%- else %} + {%- if revision_not_found %} + <div class="alert alert-info">{{ _("This revision does not exist.") }}</div> + {%- endif %} {{ titleMacro.title(title=page.title) }} <div class="row"> <div class="col m-2 d-flex justify-content-start"> diff --git a/src/plainui/views.py b/src/plainui/views.py index 4949237b0..f78280bba 100644 --- a/src/plainui/views.py +++ b/src/plainui/views.py @@ -488,12 +488,18 @@ class StaticPageView(ConferenceRequiredMixin, TemplateView): context['page_can_create'] = False revision = self.request.GET.get('rev') if revision: - static_page_revision = static_page.revisions.get(revision=revision) - page_body = render_markdown(static_page_revision.body) - if can_edit: - context['edit_url'] = reverse('plainui:static_page_edit', kwargs={'page_slug': page_slug}) + ('?rev=' + revision if revision else '') - else: - context['edit_url'] = None + try: + static_page_revision = static_page.revisions.get(revision=revision) + page_body = render_markdown(static_page_revision.body) + if can_edit: + context["edit_url"] = reverse( + "plainui:static_page_edit", kwargs={"page_slug": page_slug} + ) + ("?rev=" + revision if revision else "") + else: + context["edit_url"] = None + except StaticPageRevision.DoesNotExist: + context["revision_not_found"] = True + page_body = static_page.body_html else: page_body = static_page.body_html context['edit_url'] = reverse('plainui:static_page_edit', kwargs={'page_slug': page_slug}) if can_edit else None -- GitLab