From ffad964373ab9c32741527f52b733049733c6485 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniele=20Vigan=C3=B2?= Date: Wed, 28 Dec 2022 23:54:49 +0100 Subject: [PATCH] Add possibility to inject js in head (analytics) --- ram/portal/admin.py | 29 ++++++++++++++++++- .../0014_siteconfiguration_extra_head.py | 18 ++++++++++++ ram/portal/models.py | 1 + ram/portal/templates/base.html | 4 +++ ram/ram/__init__.py | 2 +- 5 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 ram/portal/migrations/0014_siteconfiguration_extra_head.py diff --git a/ram/portal/admin.py b/ram/portal/admin.py index ee7f63a..63d56fc 100644 --- a/ram/portal/admin.py +++ b/ram/portal/admin.py @@ -3,7 +3,34 @@ from solo.admin import SingletonModelAdmin from portal.models import SiteConfiguration, Flatpage -admin.site.register(SiteConfiguration, SingletonModelAdmin) +@admin.register(SiteConfiguration) +class SiteConfigurationAdmin(SingletonModelAdmin): + fieldsets = ( + ( + None, + { + "fields": ( + "site_name", + "site_author", + "about", + "items_per_page", + "items_ordering", + "footer", + "footer_extended", + ) + }, + ), + ( + "Advanced", + { + "classes": ("collapse",), + "fields": ( + "show_version", + "extra_head", + ), + }, + ), + ) @admin.register(Flatpage) diff --git a/ram/portal/migrations/0014_siteconfiguration_extra_head.py b/ram/portal/migrations/0014_siteconfiguration_extra_head.py new file mode 100644 index 0000000..a1ba9c0 --- /dev/null +++ b/ram/portal/migrations/0014_siteconfiguration_extra_head.py @@ -0,0 +1,18 @@ +# Generated by Django 4.1.3 on 2022-12-28 22:43 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("portal", "0013_remove_flatpage_draft_flatpage_published"), + ] + + operations = [ + migrations.AddField( + model_name="siteconfiguration", + name="extra_head", + field=models.TextField(blank=True), + ), + ] diff --git a/ram/portal/models.py b/ram/portal/models.py index 94d16e9..b04c211 100644 --- a/ram/portal/models.py +++ b/ram/portal/models.py @@ -35,6 +35,7 @@ class SiteConfiguration(SingletonModel): footer = RichTextField(blank=True) footer_extended = RichTextField(blank=True) show_version = models.BooleanField(default=True) + extra_head = models.TextField(blank=True) class Meta: verbose_name = "Site Configuration" diff --git a/ram/portal/templates/base.html b/ram/portal/templates/base.html index 9a64637..6ecfcfe 100644 --- a/ram/portal/templates/base.html +++ b/ram/portal/templates/base.html @@ -34,6 +34,10 @@ html.dark .d-light-inline { display: none !important; } html.dark .d-dark-inline { display: inline !important; } + {% block extra_head %} + {{ site_conf.extra_head | safe }} + {% endblock %} +
diff --git a/ram/ram/__init__.py b/ram/ram/__init__.py index 3e9245a..72b6404 100644 --- a/ram/ram/__init__.py +++ b/ram/ram/__init__.py @@ -1,4 +1,4 @@ from ram.utils import git_suffix -__version__ = "0.0.22" +__version__ = "0.0.23" __version__ += git_suffix(__file__)