From aba55d40a2b719fcc2815aa944148a277372d294 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Valenta?= <git@imaniti.org> Date: Fri, 17 Mar 2023 11:20:05 +0100 Subject: [PATCH] add inline fieldsets, universal admin dropdown css --- contracts/admin.py | 19 ++++----- registry/settings/base.py | 1 + registry/templates/admin/base_site.html | 54 +++++++++++++++++++++---- requirements/base.txt | 1 + 4 files changed, 59 insertions(+), 16 deletions(-) diff --git a/contracts/admin.py b/contracts/admin.py index b680464..638dc45 100644 --- a/contracts/admin.py +++ b/contracts/admin.py @@ -98,17 +98,17 @@ class ContractAdmin(MarkdownxGuardedModelAdmin): ContractSigneeRepresentativeInline, ) - def __init__(self, *args, **kwargs): - from .models import Contract + #def __init__(self, *args, **kwargs): + #from .models import Contract - super().__init__(*args, **kwargs) + #super().__init__(*args, **kwargs) - if hasattr(self, "instance"): - self.fields["contractee_representatives"].queryset = ( - Contract - .objects - .filter(contract=self.instance) - ) + #if hasattr(self, "instance"): + #self.fields["contractee_representatives"].queryset = ( + #Contract + #.objects + #.filter(contract=self.instance) + #) def get_fieldsets(self, request, obj=None): fieldsets = [ @@ -277,6 +277,7 @@ for model in ( admin.site.register(ContractFile, ContractFileAdmin) for model in ( + Contractee, ContractIssue, ContractFilingArea, ): diff --git a/registry/settings/base.py b/registry/settings/base.py index 5844228..ea0da07 100644 --- a/registry/settings/base.py +++ b/registry/settings/base.py @@ -56,6 +56,7 @@ INSTALLED_APPS = [ "django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles", + "fieldsets_with_inlines", "import_export", "rangefilter", "guardian", diff --git a/registry/templates/admin/base_site.html b/registry/templates/admin/base_site.html index e4a08e0..4099da6 100644 --- a/registry/templates/admin/base_site.html +++ b/registry/templates/admin/base_site.html @@ -2,15 +2,55 @@ {% block extrastyle %}{{ block.super }} <style> - :root { - --djai-tab-bg: #000 !important; - --djai-tab-bg--active: #424242 !important; - --djai-tab-bg--hover: #424242 !important; - --djai-dropdown-bg: #424242 !important; - --djai-dropdown-bg--active: #5e5e5e !important; - --djai-dropdown-bg--hover: #5e5e5e !important; + :root, :root .admin-interface { + --djai-tab-bg: var(--admin-interface-header-background-color); + --djai-tab-fg: var(--admin-interface-header-text-color); + + --djai-tab-bg--active: var(--djai-tab-fg); + --djai-tab-bg--hover: var(--djai-tab-fg); + --djai-tab-fg--active: var(--djai-tab-bg); + --djai-tab-fg--hover: var(--djai-tab-bg); + + --djai-dropdown-bg: var(--djai-tab-bg); + --djai-dropdown-fg: var(--djai-tab-fg); + + --djai-dropdown-bg--active: var(--djai-tab-fg); + --djai-dropdown-bg--hover: var(--djai-tab-fg); + --djai-dropdown-fg--active: var(--djai-tab-bg); + --djai-dropdown-fg--hover: var(--djai-tab-bg); } + + .djai-dropdown-menu .djai-dropdown-menu__drop { + box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.1), -2px 2px 3px rgba(0, 0, 0, 0.1) !important; + } + + .djai-dropdown-menu a.djai-dropdown-menu__item:hover { + color: var(--djai-tab-fg--hover) !important; + } + + .djai-dropdown-menu a.djai-dropdown-menu__item.djai-dropdown-menu__item--active { + color: var(--djai-tab-fg--active) !important; + } + + .djai-dropdown-menu .djai-dropdown-menu__drop-item--active a { + color: var(--djai-tab-fg--active) !important; + } + + #header .djai-dropdown-menu .djai-dropdown-menu__drop-item { + transition: .15s; + } + + #header .djai-dropdown-menu .djai-dropdown-menu__drop-item a { + color: var(--djai-dropdown-fg); + } + + #header .djai-dropdown-menu .djai-dropdown-menu__drop-item a:hover { + color: var(--djai-dropdown-fg--hover) !important; + text-decoration: none; + } + + .index-action-buttons { display: flex; flex-direction: row; diff --git a/requirements/base.txt b/requirements/base.txt index 2a871c2..b3075f2 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -5,6 +5,7 @@ django-admin-interface==0.24.2 django-admin-rangefilter==0.9.0 django-autocomplete-light==3.9.4 django-database-url==1.0.3 +django-fieldsets-with-inlines==0.6 django-import-export==3.1.0 djhacker==0.2.3 django-ordered-model==3.7.1 -- GitLab