From 16022a3efbfe32aea7f97f5cbf102396cf54cb1a Mon Sep 17 00:00:00 2001 From: Henri Chain Date: Fri, 26 Mar 2021 20:32:01 +0100 Subject: [PATCH] add customizable colors for selected apps and models in modules --- admin_interface/admin.py | 2 ++ .../migrations/0020_module_selected_colors.py | 27 +++++++++++++++++++ admin_interface/models.py | 12 +++++++++ .../admin_interface/css/admin-interface.css | 6 ++--- .../admin_interface/css/json-widget.css | 2 +- 5 files changed, 45 insertions(+), 4 deletions(-) create mode 100644 admin_interface/migrations/0020_module_selected_colors.py diff --git a/admin_interface/admin.py b/admin_interface/admin.py index 178601b..085e91a 100644 --- a/admin_interface/admin.py +++ b/admin_interface/admin.py @@ -71,8 +71,10 @@ class ThemeAdmin(admin.ModelAdmin): 'classes': ('wide', ), 'fields': ( 'css_module_background_color', + 'css_module_background_selected_color', 'css_module_text_color', 'css_module_link_color', + 'css_module_link_selected_color', 'css_module_link_hover_color', 'css_module_rounded_corners', ) diff --git a/admin_interface/migrations/0020_module_selected_colors.py b/admin_interface/migrations/0020_module_selected_colors.py new file mode 100644 index 0000000..988fb5a --- /dev/null +++ b/admin_interface/migrations/0020_module_selected_colors.py @@ -0,0 +1,27 @@ +import colorfield.fields +from django.db import migrations +from django.db.models import F + +def default_link_selected(apps, schema_editor): + Theme = apps.get_model("admin_interface", "Theme") + Theme.objects.update(css_module_link_selected_color=F('css_module_link_color')) + +class Migration(migrations.Migration): + + dependencies = [ + ('admin_interface', '0019_add_form_sticky'), + ] + + operations = [ + migrations.AddField( + model_name='theme', + name='css_module_background_selected_color', + field=colorfield.fields.ColorField(blank=True, default='#FFFFCC', help_text='#FFFFCC', max_length=10, verbose_name='background selected color'), + ), + migrations.AddField( + model_name='theme', + name='css_module_link_selected_color', + field=colorfield.fields.ColorField(blank=True, default='#FFFFFF', help_text='#FFFFFF', max_length=10, verbose_name='link selected color'), + ), + migrations.RunPython(default_link_selected), + ] diff --git a/admin_interface/models.py b/admin_interface/models.py index c7104fe..9bcb28a 100644 --- a/admin_interface/models.py +++ b/admin_interface/models.py @@ -178,6 +178,12 @@ class Theme(models.Model): help_text='#44B78B', max_length=10, verbose_name=_('background color')) + css_module_background_selected_color = ColorField( + blank=True, + default='#FFFFCC', + help_text='#FFFFCC', + max_length=10, + verbose_name=_('background selected color')) css_module_text_color = ColorField( blank=True, default='#FFFFFF', @@ -190,6 +196,12 @@ class Theme(models.Model): help_text='#FFFFFF', max_length=10, verbose_name=_('link color')) + css_module_link_selected_color = ColorField( + blank=True, + default='#FFFFFF', + help_text='#FFFFFF', + max_length=10, + verbose_name=_('link selected color')) css_module_link_hover_color = ColorField( blank=True, default='#C9F0DD', diff --git a/admin_interface/templates/admin_interface/css/admin-interface.css b/admin_interface/templates/admin_interface/css/admin-interface.css index 4c09442..5a158a9 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface.css +++ b/admin_interface/templates/admin_interface/css/admin-interface.css @@ -126,7 +126,7 @@ .admin-interface #nav-sidebar .current-app .section:link, .admin-interface #nav-sidebar .current-app .section:visited { - color: {{ theme.css_module_link_color }}; + color: {{ theme.css_module_link_selected_color }}; font-weight: normal; } @@ -136,11 +136,11 @@ } .admin-interface #nav-sidebar .current-model { - background: #FFFFCC; + background: {{ theme.css_module_background_selected_color }}; } .admin-interface #changelist table tbody tr.selected { - background-color: #FFFFCC; + background-color: {{ theme.css_module_background_selected_color }}; } .admin-interface .module h2, diff --git a/admin_interface/templates/admin_interface/css/json-widget.css b/admin_interface/templates/admin_interface/css/json-widget.css index 195e22c..d51b9ff 100644 --- a/admin_interface/templates/admin_interface/css/json-widget.css +++ b/admin_interface/templates/admin_interface/css/json-widget.css @@ -23,7 +23,7 @@ https://github.com/jmrivas86/django-json-widget .admin-interface div.jsoneditor-contextmenu ul li button.jsoneditor-selected, .admin-interface div.jsoneditor-contextmenu ul li button.jsoneditor-selected:focus, .admin-interface div.jsoneditor-contextmenu ul li button.jsoneditor-selected:hover { - background-color: #FFFFCC; + background-color: {{ theme.css_module_background_selected_color }}; color: #000000; font-weight: bold; }