From a49accf251a4e8af95c86f808018ade185c9592c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Valenta?= <git@imaniti.org> Date: Mon, 17 Apr 2023 07:38:50 +0200 Subject: [PATCH] add motd --- .../migrations/0049_alter_contract_options.py | 17 +++++++++++++++++ contracts/models.py | 6 ++++++ contracts/settings.py | 11 +++++++++++ contracts/templates/contracts/index.html | 12 ++---------- contracts/views.py | 1 + registry/settings/base.py | 6 ++++++ registry/urls.py | 1 + requirements/base.txt | 1 + 8 files changed, 45 insertions(+), 10 deletions(-) create mode 100644 contracts/migrations/0049_alter_contract_options.py create mode 100644 contracts/settings.py diff --git a/contracts/migrations/0049_alter_contract_options.py b/contracts/migrations/0049_alter_contract_options.py new file mode 100644 index 0000000..30756a5 --- /dev/null +++ b/contracts/migrations/0049_alter_contract_options.py @@ -0,0 +1,17 @@ +# Generated by Django 4.1.4 on 2023-04-17 05:16 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('contracts', '0048_alter_contractapproval_options_and_more'), + ] + + operations = [ + migrations.AlterModelOptions( + name='contract', + options={'permissions': [('approve', 'Schválit / zrušit schválení'), ('view_confidential', 'Zobrazit tajné informace'), ('edit_when_approved', 'Upravit schválené'), ('delete_when_approved', 'Odstranit schválené'), ('edit_others', 'Upravit cizí'), ('delete_others', 'Odstranit cizí'), ('can_edit_contract_settings', 'Can edit Smlouva settings')], 'verbose_name': 'Smlouva', 'verbose_name_plural': 'Smlouvy'}, + ), + ] diff --git a/contracts/models.py b/contracts/models.py index 32bfbb8..5638b13 100644 --- a/contracts/models.py +++ b/contracts/models.py @@ -16,6 +16,8 @@ from markdownx.models import MarkdownxField from shared.models import NameStrMixin from users.models import User +from . import settings as app_settings + class SubdomainValidatedURLField(models.URLField): validators = [ @@ -780,6 +782,10 @@ class Contract(NameStrMixin, models.Model): return super().save(*args, **kwargs) + # Settings + + settings = app_settings.ContractSettings("Nastavení") + class Meta: app_label = "contracts" diff --git a/contracts/settings.py b/contracts/settings.py new file mode 100644 index 0000000..45f7a67 --- /dev/null +++ b/contracts/settings.py @@ -0,0 +1,11 @@ +import dbsettings + +from django import forms + + +class ContractSettings(dbsettings.Group): + motd = dbsettings.StringValue( + "Informace na indexové stránce", + help_text="Poporuje formátování skrze Markdown.", + widget=forms.Textarea, + ) diff --git a/contracts/templates/contracts/index.html b/contracts/templates/contracts/index.html index a28a22f..12f78af 100644 --- a/contracts/templates/contracts/index.html +++ b/contracts/templates/contracts/index.html @@ -1,17 +1,9 @@ {% extends "shared/includes/base.html" %} +{% load markdownify %} {% block content %} <div class="prose max-w-none mb-6 md:mb-10"> - <p> - Registr smluv České pirátské strany slouží k evidenci i transparentnímu - informování o smlouvách uzavřených Pirátskou stranou s dalšími subjekty.<br> - Nahrávání smluv se řídí <a - href="https://wiki.pirati.cz/ao/pravidla/registr" - target="_blank" - >předpisem Pirátů</a>. V případě dotazů nás kontaktujte na e-mail <a - href="mailto:archiv@pirati.cz" - >archiv@pirati.cz</a>. - </p> + {{ settings.motd|markdownify|safe }} </div> <hr class="mb-6 md:mb-10"> diff --git a/contracts/views.py b/contracts/views.py index 9641776..a28fecd 100644 --- a/contracts/views.py +++ b/contracts/views.py @@ -91,6 +91,7 @@ def index(request): "description": "", "page": page, "paginator": paginator, + "settings": Contract.settings, }, ) diff --git a/registry/settings/base.py b/registry/settings/base.py index e7836e0..15f0ca7 100644 --- a/registry/settings/base.py +++ b/registry/settings/base.py @@ -53,6 +53,7 @@ INSTALLED_APPS = [ "django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles", + "dbsettings", "nested_admin", "rangefilter", "guardian", @@ -215,6 +216,11 @@ ADMIN_ORDERING = { } +# DBsettings + +DBSETTINGS_VALUE_LENGTH = 65536 + + # ClamAV CLAMD_USE_TCP = True diff --git a/registry/urls.py b/registry/urls.py index dd62a4f..0105484 100644 --- a/registry/urls.py +++ b/registry/urls.py @@ -29,4 +29,5 @@ urlpatterns = [ path("oidc/", include("oidc.urls")), path("media/", include("media_server.urls")), path("admin/", admin.site.urls), + path("settings/", include("dbsettings.urls")), ] + pirates_urlpatterns diff --git a/requirements/base.txt b/requirements/base.txt index f931f52..a1283e8 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -4,6 +4,7 @@ django-admin-index==2.0.2 django-admin-interface==0.24.2 django-admin-rangefilter==0.9.0 django-database-url==1.0.3 +django-dbsettings==1.3.0 django-downloadview==2.3.0 django-nested-admin==4.0.2 django-ordered-model==3.7.1 -- GitLab