diff --git a/concordia/admin/__init__.py b/concordia/admin/__init__.py index dd1fbf961..03e154cbb 100644 --- a/concordia/admin/__init__.py +++ b/concordia/admin/__init__.py @@ -820,7 +820,7 @@ class SimplePageAdmin(admin.ModelAdmin): fieldsets = ( (None, {"fields": ("created_on", "updated_on", "path", "title")}), - ("Body", {"classes": ("markdown-preview",), "fields": ("body",)}), + ("Body", {"classes": ("markdown-preview",), "fields": ("navigation", "body")}), ) diff --git a/concordia/migrations/0092_simplepage_navigation.py b/concordia/migrations/0092_simplepage_navigation.py new file mode 100644 index 000000000..8fea27248 --- /dev/null +++ b/concordia/migrations/0092_simplepage_navigation.py @@ -0,0 +1,17 @@ +# Generated by Django 3.2.23 on 2024-01-25 14:45 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("concordia", "0091_auto_20240104_1508"), + ] + + operations = [ + migrations.AddField( + model_name="simplepage", + name="navigation", + field=models.TextField(null=True), + ), + ] diff --git a/concordia/models.py b/concordia/models.py index 75a3b2ffe..c69174cce 100644 --- a/concordia/models.py +++ b/concordia/models.py @@ -756,6 +756,7 @@ class SimplePage(models.Model): title = models.CharField(max_length=200) + navigation = models.TextField(null=True) body = models.TextField() def __str__(self): diff --git a/concordia/templates/admin/concordia/simplepage/change_form.html b/concordia/templates/admin/concordia/simplepage/change_form.html index b6b130a3b..536f13676 100644 --- a/concordia/templates/admin/concordia/simplepage/change_form.html +++ b/concordia/templates/admin/concordia/simplepage/change_form.html @@ -10,6 +10,7 @@ {{ block.super }} {% endblock content %} diff --git a/concordia/templates/static-page.html b/concordia/templates/static-page.html index 5247f771f..baf9845d2 100644 --- a/concordia/templates/static-page.html +++ b/concordia/templates/static-page.html @@ -19,7 +19,14 @@

{{ title }}

- {{ body|safe }} + {% if nav %} +
+ {{ nav|safe }} + {{ body|safe }} +
+ {% else %} + {{ body|safe }} + {% endif %}
diff --git a/concordia/views.py b/concordia/views.py index fc1d0ec46..d1eab3754 100644 --- a/concordia/views.py +++ b/concordia/views.py @@ -186,6 +186,8 @@ def simple_page(request, path=None): "title": page.title, "breadcrumbs": breadcrumbs, } + if page.navigation is not None: + ctx["nav"] = md.convert(page.navigation) resp = render(request, "static-page.html", ctx) resp["Created"] = http_date(page.created_on.timestamp())