From 73f13f56e16952e31fecba9dd77e17640b69c604 Mon Sep 17 00:00:00 2001 From: vabene1111 Date: Tue, 22 Sep 2020 12:36:27 +0200 Subject: [PATCH] added ability to display message to users (via admin) --- cookbook/admin.py | 7 +++++++ cookbook/migrations/0083_space.py | 21 +++++++++++++++++++ .../migrations/0084_auto_20200922_1233.py | 21 +++++++++++++++++++ .../migrations/0085_auto_20200922_1235.py | 18 ++++++++++++++++ cookbook/models.py | 5 +++++ cookbook/templates/base.html | 9 ++++++++ cookbook/templatetags/custom_tags.py | 7 ++++++- 7 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 cookbook/migrations/0083_space.py create mode 100644 cookbook/migrations/0084_auto_20200922_1233.py create mode 100644 cookbook/migrations/0085_auto_20200922_1235.py diff --git a/cookbook/admin.py b/cookbook/admin.py index 238f09de..e667a161 100644 --- a/cookbook/admin.py +++ b/cookbook/admin.py @@ -2,6 +2,13 @@ from django.contrib import admin from .models import * +class SpaceAdmin(admin.ModelAdmin): + list_display = ('name', 'message') + + +admin.site.register(Space, SpaceAdmin) + + class UserPreferenceAdmin(admin.ModelAdmin): list_display = ('name', 'theme', 'nav_color', 'default_page', 'search_style', 'comments') diff --git a/cookbook/migrations/0083_space.py b/cookbook/migrations/0083_space.py new file mode 100644 index 00000000..1b7662b0 --- /dev/null +++ b/cookbook/migrations/0083_space.py @@ -0,0 +1,21 @@ +# Generated by Django 3.0.7 on 2020-09-22 10:24 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('cookbook', '0082_auto_20200922_1143'), + ] + + operations = [ + migrations.CreateModel( + name='Space', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(default='Default', max_length=128)), + ('message', models.CharField(default='', max_length=512)), + ], + ), + ] diff --git a/cookbook/migrations/0084_auto_20200922_1233.py b/cookbook/migrations/0084_auto_20200922_1233.py new file mode 100644 index 00000000..a2ddf284 --- /dev/null +++ b/cookbook/migrations/0084_auto_20200922_1233.py @@ -0,0 +1,21 @@ +# Generated by Django 3.0.7 on 2020-09-22 10:33 + +from django.db import migrations + + +def create_default_space(apps, schema_editor): + Space = apps.get_model('cookbook', 'Space') + Space.objects.create( + name='Default', + message='' + ) + + +class Migration(migrations.Migration): + dependencies = [ + ('cookbook', '0083_space'), + ] + + operations = [ + migrations.RunPython(create_default_space), + ] diff --git a/cookbook/migrations/0085_auto_20200922_1235.py b/cookbook/migrations/0085_auto_20200922_1235.py new file mode 100644 index 00000000..ff2a0e48 --- /dev/null +++ b/cookbook/migrations/0085_auto_20200922_1235.py @@ -0,0 +1,18 @@ +# Generated by Django 3.0.7 on 2020-09-22 10:35 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('cookbook', '0084_auto_20200922_1233'), + ] + + operations = [ + migrations.AlterField( + model_name='space', + name='message', + field=models.CharField(blank=True, default='', max_length=512), + ), + ] diff --git a/cookbook/models.py b/cookbook/models.py index 2b7ce98e..45833e2a 100644 --- a/cookbook/models.py +++ b/cookbook/models.py @@ -25,6 +25,11 @@ def get_model_name(model): return ('_'.join(re.findall('[A-Z][^A-Z]*', model.__name__))).lower() +class Space(models.Model): + name = models.CharField(max_length=128, default='Default') + message = models.CharField(max_length=512, default='', blank=True) + + class UserPreference(models.Model): # Themes BOOTSTRAP = 'BOOTSTRAP' diff --git a/cookbook/templates/base.html b/cookbook/templates/base.html index f2977df6..530e4287 100644 --- a/cookbook/templates/base.html +++ b/cookbook/templates/base.html @@ -1,6 +1,7 @@ {% load static %} {% load i18n %} {% load theming_tags %} +{% load custom_tags %} @@ -158,6 +159,14 @@ + +{% message_of_the_day as message_of_the_day %} +{% if message_of_the_day %} +
+ {{ message_of_the_day }} +
+{% endif %} +

diff --git a/cookbook/templatetags/custom_tags.py b/cookbook/templatetags/custom_tags.py index 583d048f..7e6fc533 100644 --- a/cookbook/templatetags/custom_tags.py +++ b/cookbook/templatetags/custom_tags.py @@ -7,7 +7,7 @@ from django.urls import reverse, NoReverseMatch from cookbook.helper.mdx_attributes import MarkdownFormatExtension from cookbook.helper.mdx_urlize import UrlizeExtension -from cookbook.models import get_model_name +from cookbook.models import get_model_name, Space from recipes import settings register = template.Library() @@ -69,6 +69,11 @@ def recipe_last(recipe, user): return '' +@register.simple_tag +def message_of_the_day(): + return Space.objects.first().message + + @register.simple_tag def is_debug(): return settings.DEBUG