From 79dcc111da50ba7f012b50c3815645e02fe4923e Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 4 Aug 2020 17:38:33 +0200 Subject: [PATCH 001/143] Added django 3.1 to CI. --- .travis.yml | 12 ++++++++++++ setup.py | 1 + tox.ini | 7 ++++--- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 656e70c..2ae756d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -72,6 +72,10 @@ jobs: env: TOX_ENV=py36-dj30-sqlite - python: "3.6" env: TOX_ENV=py36-dj30-postgres + - python: "3.6" + env: TOX_ENV=py36-dj31-sqlite + - python: "3.6" + env: TOX_ENV=py36-dj31-postgres - python: "3.6" env: TOX_ENV=py36-djmaster-sqlite - python: "3.6" @@ -92,6 +96,10 @@ jobs: env: TOX_ENV=py37-dj30-sqlite - python: "3.7" env: TOX_ENV=py37-dj30-postgres + - python: "3.7" + env: TOX_ENV=py37-dj31-sqlite + - python: "3.7" + env: TOX_ENV=py37-dj31-postgres - python: "3.7" env: TOX_ENV=py37-djmaster-sqlite - python: "3.7" @@ -104,6 +112,10 @@ jobs: env: TOX_ENV=py38-dj30-sqlite - python: "3.8" env: TOX_ENV=py38-dj30-postgres + - python: "3.8" + env: TOX_ENV=py38-dj31-sqlite + - python: "3.8" + env: TOX_ENV=py38-dj31-postgres - python: "3.8" env: TOX_ENV=py38-djmaster-sqlite - python: "3.8" diff --git a/setup.py b/setup.py index f3b0b21..5fb2f95 100644 --- a/setup.py +++ b/setup.py @@ -53,6 +53,7 @@ setup( 'Framework :: Django :: 2.1', 'Framework :: Django :: 2.2', 'Framework :: Django :: 3.0', + 'Framework :: Django :: 3.1', 'Intended Audience :: Developers', 'License :: OSI Approved :: MIT License', 'Natural Language :: English', diff --git a/tox.ini b/tox.ini index 166c814..ee0c8aa 100644 --- a/tox.ini +++ b/tox.ini @@ -3,9 +3,9 @@ envlist = py27-{dj17,dj18,dj19,dj110,dj111}-{sqlite,postgres}, py34-{dj17,dj18,dj19,dj110,dj111,dj20}-{sqlite,postgres}, py35-{dj18,dj19,dj110,dj111,dj20,dj21,dj22}-{sqlite,postgres}, - py36-{dj18,dj19,dj110,dj111,dj20,dj21,dj22,dj30,djmaster}-{sqlite,postgres}, - py37-{dj20,dj21,dj22,dj30,djmaster}-{sqlite,postgres}, - py38-{dj22,dj30,djmaster}-{sqlite,postgres}, + py36-{dj18,dj19,dj110,dj111,dj20,dj21,dj22,dj30,dj31,djmaster}-{sqlite,postgres}, + py37-{dj20,dj21,dj22,dj30,dj31,djmaster}-{sqlite,postgres}, + py38-{dj22,dj30,dj31,djmaster}-{sqlite,postgres}, [testenv] passenv = CI TRAVIS TRAVIS_* deps = @@ -18,6 +18,7 @@ deps = dj21: Django == 2.1.* dj22: Django == 2.2.* dj30: Django == 3.0.* + dj30: Django == 3.1.* djmaster: https://github.com/django/django/archive/master.tar.gz # mysql: mysqlclient postgres: psycopg2-binary From e37142e0f434082a3d2b9e829bf0cae6626d8413 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 4 Aug 2020 17:43:03 +0200 Subject: [PATCH 002/143] Fixed tox django version error. --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index ee0c8aa..827809a 100644 --- a/tox.ini +++ b/tox.ini @@ -18,7 +18,7 @@ deps = dj21: Django == 2.1.* dj22: Django == 2.2.* dj30: Django == 3.0.* - dj30: Django == 3.1.* + dj31: Django == 3.1.* djmaster: https://github.com/django/django/archive/master.tar.gz # mysql: mysqlclient postgres: psycopg2-binary From d79924271435532a3d737d01c51e10d60eb72a22 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 5 Aug 2020 21:19:22 +0200 Subject: [PATCH 003/143] Improved nav-sidebar style. --- .../css/admin-interface-fix.css | 104 +++++++++++++++++- .../admin_interface/css/admin-interface.css | 16 +++ 2 files changed, 117 insertions(+), 3 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index db66099..fbd5138 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -240,10 +240,13 @@ body.admin-interface .paginator a.showall:visited { /* begin fix lateral padding to align text with field labels */ .admin-interface .module h2, .admin-interface.dashboard .module caption, +.admin-interface.dashboard .module th, .admin-interface .module.filtered h2, -.admin-interface .inline-group h2 { - padding-left:10px; - padding-right:10px; +.admin-interface .inline-group h2, +.admin-interface #nav-sidebar .module caption, +.admin-interface #nav-sidebar .module th { + padding-left: 10px; + padding-right: 10px; } /* end fix */ @@ -337,3 +340,98 @@ body.admin-interface .paginator a.showall:visited { .admin-interface .selector:not(.stacked) .selector-chosen select { height: calc(46px + 17.2em) !important; } + +/* fix nav-sidebar (added in django 3.1.0) */ +.admin-interface #toggle-nav-sidebar { + top: 11px; + left: 0; + z-index: 20; + flex: 0 0 30px; + width: 30px; + height: 40px; + margin-top: 11px; + margin-right: 10px; + background-color: #FFFFFF; + font-size: 16px; + border: 1px solid #eaeaea; + border-left: none; + outline: none; + -webkit-box-shadow: 4px 2px 8px -4px #DBDBDB; + -moz-box-shadow: 4px 2px 8px -4px #DBDBDB; + box-shadow: 4px 2px 8px -4px #DBDBDB; +} + +.admin-interface .toggle-nav-sidebar::before { + margin-top: -2px; +} + +/* hide nav-sidebar below 1280px to prevent horizontal overflow issues */ +@media (max-width:1279px) { + .admin-interface #nav-sidebar, + .admin-interface #toggle-nav-sidebar { + display: none; + } +} + +.admin-interface #nav-sidebar { + flex: 0 0 320px; + left: -320px; + margin-left: -360px; + box-sizing: border-box; + padding: 18px 40px 40px 0px; + border-top: none; + border-bottom: none; + border-left: none; +} + +@media (min-width:1280px) { + .admin-interface #main.shifted > #toggle-nav-sidebar { + left: 359px; + } + .admin-interface #main.shifted > #nav-sidebar { + left: 0px; + margin-left: 0; + } + .admin-interface.change-list:not(.popup) #main.shifted > .content, + .admin-interface.change-form:not(.popup) #main.shifted > .content { + max-width: calc(100% - 360px); + } +} + +/* fix related-widget when the nav-sidebar is collapsed */ +@media (max-width:1100px) { + .admin-interface.change-form #main .related-widget-wrapper { + clear: left; + margin-top: 5px; + } + .admin-interface.change-form #main .related-widget-wrapper + .help { + margin-top: 10px; + margin-left: 0; + padding-left: 0; + padding-right: 0; + } +} + +/* fix related-widget when the nav-sidebar is expanded */ +@media (min-width:1280px) and (max-width:1480px) { + .admin-interface.change-form:not(.popup) .related-widget-wrapper { + clear: left; + margin-top: 5px; + } + .admin-interface.change-form #main.shifted .related-widget-wrapper + .help { + margin-top: 10px; + margin-left: 0; + padding-left: 0; + padding-right: 0; + } +} + +.admin-interface #nav-sidebar .current-app .section:link, +.admin-interface #nav-sidebar .current-app .section:visited { + color: #FFFFCC; + font-weight: normal; +} + +.admin-interface #nav-sidebar .current-model { + background: #FFFFCC; +} diff --git a/admin_interface/templates/admin_interface/css/admin-interface.css b/admin_interface/templates/admin_interface/css/admin-interface.css index ebe0f24..008e169 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface.css +++ b/admin_interface/templates/admin_interface/css/admin-interface.css @@ -250,6 +250,8 @@ /* begin fix issue #11 - Inline border bottom should not be rounded */ .admin-interface .module h2, .admin-interface.dashboard .module caption, +.admin-interface #nav-sidebar .module th, +.admin-interface #nav-sidebar .module caption, .admin-interface .module.filtered h2 { {% if theme.css_module_rounded_corners %} border-radius:4px; @@ -274,3 +276,17 @@ background-color: {{ theme.css_module_background_color }}; color: {{ theme.css_module_text_color }}; } + +.admin-interface #toggle-nav-sidebar { + {% if theme.css_module_rounded_corners %} + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + {% endif %} + color: {{ theme.css_generic_link_color }}; +} + +.admin-interface #toggle-nav-sidebar:focus, +.admin-interface #toggle-nav-sidebar:hover, +.admin-interface #toggle-nav-sidebar:active { + color: {{ theme.css_generic_link_hover_color }}; +} From 51202a1def38c35dc41a487c72dcdab2fd578dd4 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 5 Aug 2020 21:21:37 +0200 Subject: [PATCH 004/143] Improved header style. --- .../templates/admin/base_site.html | 2 +- .../css/admin-interface-fix.css | 93 ++++++++++++------- .../admin_interface/css/admin-interface.css | 33 ++++++- 3 files changed, 90 insertions(+), 38 deletions(-) diff --git a/admin_interface/templates/admin/base_site.html b/admin_interface/templates/admin/base_site.html index a0b20bd..2556491 100644 --- a/admin_interface/templates/admin/base_site.html +++ b/admin_interface/templates/admin/base_site.html @@ -68,5 +68,5 @@ https://github.com/fabiocaccamo/django-admin-interface {% get_admin_interface_languages as languages %} {% include "admin_interface/language_chooser.html" %} {% endif %} -{% if theme.env_visible_in_header %} - {% endif %}{{ block.super }}
+{% if theme.env_visible_in_header %}
{% endif %}{{ block.super }}
{% endblock %} diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index fbd5138..1911949 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -1,65 +1,85 @@ +/* fix login */ .admin-interface.login #container { - width:320px; - margin:90px auto; - box-sizing:border-box; - -moz-box-sizing:border-box; - -webkit-box-sizing:border-box; + width: 100%; + max-width: 360px; + margin: 15px auto; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; } .admin-interface.login #content { - padding:15px 30px 10px 30px; + padding: 15px 30px 30px 30px; } -@media (max-width:767px){ - +@media (min-width:768px){ .admin-interface.login #container { - margin:0px auto; - } - - .admin-interface.login #content { - padding:20px 30px 30px 30px; + margin: 90px auto; } } .admin-interface.login #header { - padding:15px 30px 10px; - line-height:30px; + padding: 10px 30px; + line-height: 30px; + align-items: flex-start; + justify-content: flex-start; } -.admin-interface.login #branding h1 { +.admin-interface.login #header #branding h1 { margin-right:0; } -.admin-interface.login #branding h1 img.logo { - max-width:100%; - margin-right:0; +.admin-interface.login #header #branding h1 img.logo { + max-width: 100%; + margin-right: 0; } .admin-interface.login #header #branding h1 img.logo+span { - display:block; + display: block; margin-bottom: 5px; } -.admin-interface.login .submit-row { - padding-left:0; - text-align:right; +.admin-interface.login #login-form { + display: flex; + flex-direction: column; } -@media (max-width:767px){ - .admin-interface.login .submit-row label { - display:none; - } - .admin-interface.login .submit-row { - float: left; - width: 100%; - margin-top: 20px; - margin-bottom: 30px; - } +.admin-interface.login .submit-row { + float: left; + width: 100%; + margin-top: 20px; + padding-top: 0; + padding-left: 0; + text-align: right; } +.admin-interface.login .submit-row label { + display: none; +} + +.admin-interface.login .submit-row input[type="submit"] { + width: 100%; + text-transform: uppercase; +} + +.admin-interface.login #footer { + display: none; +} +/* end login fix*/ + + .admin-interface #header { height:auto; min-height:40px; + display: flex; + justify-content: space-between; + align-items: center; +} + +@media (max-width:1024px) { + .admin-interface #header { + align-items: flex-start; + } } .admin-interface #branding h1 img.logo { @@ -70,6 +90,11 @@ display:inline-block !important; /* override inline display:none; */ } +.admin-interface #branding h1 span { + display: inline-block; + margin-bottom: 5px; +} + .admin-interface #branding h1 img.logo+span { white-space:nowrap; } @@ -378,6 +403,8 @@ body.admin-interface .paginator a.showall:visited { left: -320px; margin-left: -360px; box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; padding: 18px 40px 40px 0px; border-top: none; border-bottom: none; diff --git a/admin_interface/templates/admin_interface/css/admin-interface.css b/admin_interface/templates/admin_interface/css/admin-interface.css index 008e169..c985b5b 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface.css +++ b/admin_interface/templates/admin_interface/css/admin-interface.css @@ -20,13 +20,33 @@ } .admin-interface .environment-label::after { - content: "{{ theme.env_name }}"; + content: "{{ theme.env_name }} - "; +} + +@media (max-width:1024px) { + .admin-interface .environment-label::after { + content: "{{ theme.env_name }}"; + } } .admin-interface .language-chooser { display: inline-block; - float: right; - margin-left: 20px; + position: absolute; + top: 15px; + right: 15px; + z-index: 5; +} +@media (min-width:768px) { + .admin-interface .language-chooser { + right: 30px; + } +} +@media (min-width:1024px) { + .admin-interface .language-chooser { + position: static; + float: right; + margin-left: 20px; + } } .admin-interface .language-chooser-hidden-form { @@ -49,10 +69,15 @@ background-image: url("data:image/svg+xml;utf8,"); } +.admin-interface #user-tools { + margin-bottom: 2px; + white-space: nowrap; +} + .admin-interface #user-tools br { display: none; } -@media (max-width: 768px){ +@media (max-width: 768px) { .admin-interface #user-tools br { display: block; } From 4e243962d1afcdc51697aaffcbfb7403bb2937f0 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 5 Aug 2020 21:21:52 +0200 Subject: [PATCH 005/143] Updated version. --- admin_interface/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin_interface/version.py b/admin_interface/version.py index 2982891..20aa074 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.12.3' +__version__ = '0.13.0' From 62ccb3179303e971d126c337065ffef8042645f6 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 5 Aug 2020 21:24:30 +0200 Subject: [PATCH 006/143] Updated CHANGELOG. --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 53482eb..e4d79aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.13.0](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.13.0) - 2020-08-05 +- Improved nav-sidebar style (`django>=3.1` support). +- Improved header style. + ## [0.12.3](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.12.3) - 2020-07-20 - Fixed unreadable text in autocomplete multi-selects. #83 From ac66bfddb9221a4ec6d180594d90c2e3c830f5fe Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Thu, 6 Aug 2020 11:29:40 +0200 Subject: [PATCH 007/143] Added views badge to README. [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 57e2c38..d83d5ba 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ [![](https://img.shields.io/pypi/v/django-admin-interface.svg?color=blue&logo=pypi&logoColor=white)](https://pypi.org/project/django-admin-interface/) [![](https://pepy.tech/badge/django-admin-interface)](https://pepy.tech/project/django-admin-interface) [![](https://img.shields.io/github/stars/fabiocaccamo/django-admin-interface?logo=github)](https://github.com/fabiocaccamo/django-admin-interface/) +[![](https://badges.pufler.dev/visits/fabiocaccamo/django-admin-interface?label=views&color=blue)](https://badges.pufler.dev) [![](https://img.shields.io/pypi/l/django-admin-interface.svg?color=blue)](https://github.com/fabiocaccamo/django-admin-interface/blob/master/LICENSE.txt) [![](https://img.shields.io/travis/fabiocaccamo/django-admin-interface?logo=travis&label=build)](https://travis-ci.org/fabiocaccamo/django-admin-interface) From 5935ee9d408ba8ca98c015e5518eda443be4963f Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 18 Aug 2020 16:39:45 +0200 Subject: [PATCH 008/143] Added requirements-dev.txt --- requirements-dev.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 requirements-dev.txt diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 0000000..c90555a --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1,3 @@ +codecov +coverage +tox \ No newline at end of file From 084b0d65f38af53875fe1d65ded63879ddaa5ead Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 18 Aug 2020 16:41:32 +0200 Subject: [PATCH 009/143] Increased sidebar padding-top. --- .../templates/admin_interface/css/admin-interface-fix.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index 1911949..ba75a24 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -405,7 +405,7 @@ body.admin-interface .paginator a.showall:visited { box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; - padding: 18px 40px 40px 0px; + padding: 40px 40px 40px 0px; border-top: none; border-bottom: none; border-left: none; From f9629f5ef10db5be35fa63fe54318c182dddc5d0 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 18 Aug 2020 17:16:43 +0200 Subject: [PATCH 010/143] Added max-width to logo. --- .../templates/admin_interface/css/admin-interface-fix.css | 1 + 1 file changed, 1 insertion(+) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index ba75a24..3ce294b 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -83,6 +83,7 @@ } .admin-interface #branding h1 img.logo { + max-width: 400px; max-height:100px; margin-top:10px; margin-bottom:10px; From f9a6f501e1c728df057d6fd7d8b35630446fb750 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 18 Aug 2020 17:50:34 +0200 Subject: [PATCH 011/143] Added border when there is not breadcrumbs module. --- .../templates/admin_interface/css/admin-interface.css | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/admin_interface/templates/admin_interface/css/admin-interface.css b/admin_interface/templates/admin_interface/css/admin-interface.css index c985b5b..a7817bb 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface.css +++ b/admin_interface/templates/admin_interface/css/admin-interface.css @@ -3,6 +3,12 @@ color: {{ theme.css_header_text_color }}; } +.admin-interface #header + #main { + {% if theme.css_header_background_color != theme.css_module_background_color %} + border-top: 10px solid {{ theme.css_module_background_color }}; + {% endif %} +} + .admin-interface .environment-label { } From f36e904faf46a2a666ebab6691e1ca4873620441 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 18 Aug 2020 17:51:10 +0200 Subject: [PATCH 012/143] Resized toogle-nav-sidebar button. --- .../templates/admin_interface/css/admin-interface-fix.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index 3ce294b..bd8f545 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -369,13 +369,13 @@ body.admin-interface .paginator a.showall:visited { /* fix nav-sidebar (added in django 3.1.0) */ .admin-interface #toggle-nav-sidebar { - top: 11px; + top: 10px; left: 0; z-index: 20; flex: 0 0 30px; width: 30px; - height: 40px; - margin-top: 11px; + height: 45px; + margin-top: 10px; margin-right: 10px; background-color: #FFFFFF; font-size: 16px; From 0a4949c75ad72228da263e443438ee4dcb030bfa Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 18 Aug 2020 17:53:37 +0200 Subject: [PATCH 013/143] Updated CHANGELOG and version. --- CHANGELOG.md | 5 +++++ admin_interface/version.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e4d79aa..b8cc931 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.13.1](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.13.1) - 2020-08-18 +- Improved header and nav-sidebar style. +- Added `max-width` to logo. +- Added `requirements-dev.txt` + ## [0.13.0](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.13.0) - 2020-08-05 - Improved nav-sidebar style (`django>=3.1` support). - Improved header style. diff --git a/admin_interface/version.py b/admin_interface/version.py index 20aa074..682d036 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.13.0' +__version__ = '0.13.1' From 09548dbcdc18e7bc91e097ffea22328f2be296f0 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Fri, 21 Aug 2020 17:48:27 +0200 Subject: [PATCH 014/143] Fixed related modal not closing on edit save and create with django 3.1 - #96 --- admin_interface/static/admin/js/popup_response.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/admin_interface/static/admin/js/popup_response.js b/admin_interface/static/admin/js/popup_response.js index fb5e192..6dab531 100644 --- a/admin_interface/static/admin/js/popup_response.js +++ b/admin_interface/static/admin/js/popup_response.js @@ -10,8 +10,12 @@ openerRef = windowRef.parent; windowName = windowRef.name; widgetName = windowName.replace(/^(change|add|delete|lookup)_/, ''); + if (typeof(openerRef.id_to_windowname) === 'function') { + // django < 3.1 compatibility + widgetName = openerRef.id_to_windowname(widgetName); + } windowRef = { - name: openerRef.id_to_windowname(widgetName), + name: widgetName, close: function() { openerRef.dismissRelatedObjectModal(); } From 104569067853523962e635829070a2bb19c23127 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Fri, 21 Aug 2020 17:49:29 +0200 Subject: [PATCH 015/143] Updated changelog and version. --- CHANGELOG.md | 3 +++ admin_interface/version.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b8cc931..f65da44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.13.2](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.13.2) - 2020-08-21 +- Fixed related modal not closing on edit save and create with django 3.1 - #96 + ## [0.13.1](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.13.1) - 2020-08-18 - Improved header and nav-sidebar style. - Added `max-width` to logo. diff --git a/admin_interface/version.py b/admin_interface/version.py index 682d036..72da858 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.13.1' +__version__ = '0.13.2' From a7788b98ed182948399145d2936f7b8bd5f37863 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Thu, 27 Aug 2020 12:52:38 +0200 Subject: [PATCH 016/143] Updated requirements. [ci skip] --- requirements-dev.txt | 3 --- requirements.txt | 6 +++++- 2 files changed, 5 insertions(+), 4 deletions(-) delete mode 100644 requirements-dev.txt diff --git a/requirements-dev.txt b/requirements-dev.txt deleted file mode 100644 index c90555a..0000000 --- a/requirements-dev.txt +++ /dev/null @@ -1,3 +0,0 @@ -codecov -coverage -tox \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 9ad4e29..ade42a1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,8 @@ +codecov +coverage +django>=1.7 django-colorfield django-flat-theme django-flat-responsive -six>=1.9.0 \ No newline at end of file +six>=1.9.0 +tox \ No newline at end of file From 869d4c31ad251d34489696abeb329b9ff7eea390 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Thu, 27 Aug 2020 12:52:48 +0200 Subject: [PATCH 017/143] Updated README testing section. [ci skip] --- README.md | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d83d5ba..0c90fed 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![](https://img.shields.io/pypi/v/django-admin-interface.svg?color=blue&logo=pypi&logoColor=white)](https://pypi.org/project/django-admin-interface/) [![](https://pepy.tech/badge/django-admin-interface)](https://pepy.tech/project/django-admin-interface) [![](https://img.shields.io/github/stars/fabiocaccamo/django-admin-interface?logo=github)](https://github.com/fabiocaccamo/django-admin-interface/) -[![](https://badges.pufler.dev/visits/fabiocaccamo/django-admin-interface?label=views&color=blue)](https://badges.pufler.dev) +[![](https://badges.pufler.dev/visits/fabiocaccamo/django-admin-interface?label=visitors&color=blue)](https://badges.pufler.dev) [![](https://img.shields.io/pypi/l/django-admin-interface.svg?color=blue)](https://github.com/fabiocaccamo/django-admin-interface/blob/master/LICENSE.txt) [![](https://img.shields.io/travis/fabiocaccamo/django-admin-interface?logo=travis&label=build)](https://travis-ci.org/fabiocaccamo/django-admin-interface) @@ -105,6 +105,28 @@ You can add a theme you've created through the admin to this repository by [send You can use [django-apptemplates](https://github.com/bittner/django-apptemplates), then add `{% extends "admin_interface:admin/base_site.html" %}` to your `base_site.html` +## Testing +```bash +# create python virtual environment +virtualenv testing_django_admin_interface + +# activate virtualenv +cd testing_django_admin_interface && . bin/activate + +# clone repo +git clone https://github.com/fabiocaccamo/django-admin-interface.git src && cd src + +# install dependencies +pip install -r requirements.txt + +# run tests +tox +# or +python setup.py test +# or +python -m django test --settings "tests.settings" +``` + --- ## License From f0a72d5e404ebe0b6cc27321d937f3b9bff93a3d Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 2 Sep 2020 14:53:19 +0200 Subject: [PATCH 018/143] Added django-json-widget theming support. --- README.md | 1 + .../templates/admin/base_site.html | 1 + .../admin_interface/css/json-widget.css | 29 +++++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 admin_interface/templates/admin_interface/css/json-widget.css diff --git a/README.md b/README.md index 0c90fed..5f90d4e 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ django-admin-interface is a modern **responsive flat admin interface customizabl - Compatibility / Style optimizations for: - `django-ckeditor` - `django-dynamic-raw-id` + - `django-json-widget` - `django-modeltranslation` - `django-tabbed-admin` - `sorl-thumbnail` diff --git a/admin_interface/templates/admin/base_site.html b/admin_interface/templates/admin/base_site.html index 2556491..3fddf9e 100644 --- a/admin_interface/templates/admin/base_site.html +++ b/admin_interface/templates/admin/base_site.html @@ -25,6 +25,7 @@ https://github.com/fabiocaccamo/django-admin-interface {% include "admin_interface/css/tabbed-admin.css" %} {% include "admin_interface/css/ckeditor.css" %} {% include "admin_interface/css/tinymce.css" %} +{% include "admin_interface/css/json-widget.css" %} {% if theme.css %} {{ theme.css|safe }} diff --git a/admin_interface/templates/admin_interface/css/json-widget.css b/admin_interface/templates/admin_interface/css/json-widget.css new file mode 100644 index 0000000..195e22c --- /dev/null +++ b/admin_interface/templates/admin_interface/css/json-widget.css @@ -0,0 +1,29 @@ +/* +django-json-widget support +https://github.com/jmrivas86/django-json-widget +*/ + +.admin-interface div.jsoneditor { + border: 1px solid {{ theme.css_module_background_color }}; + {% if theme.css_module_rounded_corners %} + border-radius: 4px; + overflow: hidden; + {% endif %} +} + +.admin-interface div.jsoneditor-menu { + background-color: {{ theme.css_module_background_color }}; + border-bottom: 1px solid {{ theme.css_module_background_color }}; +} + +.admin-interface div.jsoneditor-menu a.jsoneditor-poweredBy { + color: {{ theme.css_module_link_color }}; +} + +.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; + color: #000000; + font-weight: bold; +} From b165e6d27c4b73a6dacaed02a73e1ffc18c9a5db Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 2 Sep 2020 14:53:28 +0200 Subject: [PATCH 019/143] Updated version. --- admin_interface/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin_interface/version.py b/admin_interface/version.py index 72da858..33d4924 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.13.2' +__version__ = '0.13.3' From 892bfa5e16cb54b3c7e81bc7ffeebf797b199beb Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 2 Sep 2020 18:08:48 +0200 Subject: [PATCH 020/143] Changed header content vertical align to top. --- .../templates/admin_interface/css/admin-interface-fix.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index bd8f545..6e59415 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -73,7 +73,7 @@ min-height:40px; display: flex; justify-content: space-between; - align-items: center; + align-items: start; } @media (max-width:1024px) { From 7d6454503169f1f328e88d9cbc057f0e4348cd81 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Fri, 4 Sep 2020 11:43:42 +0200 Subject: [PATCH 021/143] Updated header user-tools margins. --- .../templates/admin_interface/css/admin-interface.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface.css b/admin_interface/templates/admin_interface/css/admin-interface.css index a7817bb..b3bf598 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface.css +++ b/admin_interface/templates/admin_interface/css/admin-interface.css @@ -76,7 +76,8 @@ } .admin-interface #user-tools { - margin-bottom: 2px; + margin-top: 10px; + margin-bottom: 10px; white-space: nowrap; } From b050d7cb61b91d6426ef32859dbf6bf61f61f967 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Fri, 4 Sep 2020 15:30:03 +0200 Subject: [PATCH 022/143] Added conditional imports to avoid Django deprecation warnings. #92 --- admin_interface/admin.py | 6 +++++- admin_interface/apps.py | 5 +++++ admin_interface/models.py | 11 ++++++++--- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/admin_interface/admin.py b/admin_interface/admin.py index 578acb3..d44406f 100644 --- a/admin_interface/admin.py +++ b/admin_interface/admin.py @@ -2,8 +2,12 @@ from admin_interface.models import Theme +import django from django.contrib import admin -from django.utils.translation import ugettext_lazy as _ +if django.VERSION < (2, 0): + from django.utils.translation import ugettext_lazy as _ +else: + from django.utils.translation import gettext_lazy as _ class ThemeAdmin(admin.ModelAdmin): diff --git a/admin_interface/apps.py b/admin_interface/apps.py index a209e90..ced79b3 100644 --- a/admin_interface/apps.py +++ b/admin_interface/apps.py @@ -1,8 +1,13 @@ # -*- coding: utf-8 -*- +import django from django.apps import AppConfig from django.db.models.signals import post_migrate from django.utils.translation import ugettext_lazy as _ +if django.VERSION < (2, 0): + from django.utils.translation import ugettext_lazy as _ +else: + from django.utils.translation import gettext_lazy as _ class AdminInterfaceConfig(AppConfig): diff --git a/admin_interface/models.py b/admin_interface/models.py index aec5aa3..2df49d5 100644 --- a/admin_interface/models.py +++ b/admin_interface/models.py @@ -6,10 +6,15 @@ from admin_interface.cache import del_cached_active_theme from colorfield.fields import ColorField +import django from django.db import models from django.db.models.signals import post_delete, post_save, pre_save -from django.utils.encoding import force_text -from django.utils.translation import ugettext_lazy as _ +if django.VERSION < (2, 0): + from django.utils.encoding import force_text as force_str + from django.utils.translation import ugettext_lazy as _ +else: + from django.utils.encoding import force_str + from django.utils.translation import gettext_lazy as _ from six import python_2_unicode_compatible @@ -301,7 +306,7 @@ class Theme(models.Model): verbose_name_plural = _('Themes') def __str__(self): - return force_text(self.name) + return force_str(self.name) post_delete.connect(Theme.post_delete_handler, sender=Theme) From 941835b5ee5444249b863470a559c5469d33ce25 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Fri, 4 Sep 2020 15:32:58 +0200 Subject: [PATCH 023/143] Removed old import. --- admin_interface/apps.py | 1 - 1 file changed, 1 deletion(-) diff --git a/admin_interface/apps.py b/admin_interface/apps.py index ced79b3..4dffac4 100644 --- a/admin_interface/apps.py +++ b/admin_interface/apps.py @@ -3,7 +3,6 @@ import django from django.apps import AppConfig from django.db.models.signals import post_migrate -from django.utils.translation import ugettext_lazy as _ if django.VERSION < (2, 0): from django.utils.translation import ugettext_lazy as _ else: From 97ac8268b6b4996e40d0d7318775fd8f962be399 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Fri, 4 Sep 2020 15:35:54 +0200 Subject: [PATCH 024/143] Updated version and CHANGELOG. --- CHANGELOG.md | 7 +++++++ admin_interface/version.py | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f65da44..b019cd5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.13.4](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.13.4) - 2020-??-?? +- Added conditional imports to avoid Django deprecation warnings. #92 +- Changed admin header content vertical align to top. + +## [0.13.3](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.13.3) - 2020-09-02 +- Added `django-json-widget` theming support. + ## [0.13.2](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.13.2) - 2020-08-21 - Fixed related modal not closing on edit save and create with django 3.1 - #96 diff --git a/admin_interface/version.py b/admin_interface/version.py index 33d4924..bf42850 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.13.3' +__version__ = '0.13.4' From db87a2aae24591216903bc1544c69448c16a47f6 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Fri, 4 Sep 2020 17:00:02 +0200 Subject: [PATCH 025/143] Added "See also" section to README. [ci skip] --- README.md | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5f90d4e..b25a9be 100644 --- a/README.md +++ b/README.md @@ -128,7 +128,21 @@ python setup.py test python -m django test --settings "tests.settings" ``` ---- - ## License Released under [MIT License](LICENSE.txt). + +--- + +## See also + +- [`django-colorfield`](https://github.com/fabiocaccamo/django-colorfield) - simple color field for models with a nice color-picker in the admin. 🎨 + +- [`django-extra-settings`](https://github.com/fabiocaccamo/django-extra-settings) - config and manage typed extra settings using just the django admin. âš™ī¸ + +- [`django-maintenance-mode`](https://github.com/fabiocaccamo/django-maintenance-mode) - shows a 503 error page when maintenance-mode is on. 🚧 đŸ› ī¸ + +- [`django-treenode`](https://github.com/fabiocaccamo/django-treenode) - probably the best abstract model / admin for your tree based stuff. đŸŒŗ + +- [`python-benedict`](https://github.com/fabiocaccamo/python-benedict) - dict subclass with keylist/keypath support, I/O shortcuts (Base64, CSV, JSON, TOML, XML, YAML, pickle, query-string) and many utilities. 📘 đŸ‘ŧ + +- [`python-codicefiscale`](https://github.com/fabiocaccamo/python-codicefiscale) - encode/decode Italian fiscal codes - codifica/decodifica del Codice Fiscale. 🇮🇹 đŸ’ŗ From be21550c6acde5b458d11640c32148cb4f585ff4 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Mon, 7 Sep 2020 14:10:53 +0200 Subject: [PATCH 026/143] Fixed changelist filter links hover color. --- .../admin_interface/css/admin-interface.css | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface.css b/admin_interface/templates/admin_interface/css/admin-interface.css index b3bf598..5f2ded7 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface.css +++ b/admin_interface/templates/admin_interface/css/admin-interface.css @@ -274,9 +274,25 @@ color:{{ theme.css_generic_link_hover_color }}; } +.admin-interface .module.filtered #changelist-filter #changelist-filter-clear a:focus, +.admin-interface .module.filtered #changelist-filter #changelist-filter-clear a:hover { + color: #666; + text-decoration: none; +} + +.admin-interface .module.filtered #changelist-filter li a:focus, +.admin-interface .module.filtered #changelist-filter li a:hover { + color: #666; + text-decoration: none; +} + .admin-interface .module.filtered #changelist-filter li.selected a, +.admin-interface .module.filtered #changelist-filter li.selected a:link, +.admin-interface .module.filtered #changelist-filter li.selected a:visited, +.admin-interface .module.filtered #changelist-filter li.selected a:focus, .admin-interface .module.filtered #changelist-filter li.selected a:hover { - color: {{ theme.css_generic_link_color }}; + /* color: #666; */ + color: {{ theme.css_generic_link_hover_color }}; } /* begin fix issue #11 - Inline border bottom should not be rounded */ From e9038157be975801d0cc14360b5c324b7e5714b9 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Mon, 7 Sep 2020 23:30:35 +0200 Subject: [PATCH 027/143] Fixed changelist thead links color. --- .../templates/admin_interface/css/admin-interface.css | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/admin_interface/templates/admin_interface/css/admin-interface.css b/admin_interface/templates/admin_interface/css/admin-interface.css index 5f2ded7..5694205 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface.css +++ b/admin_interface/templates/admin_interface/css/admin-interface.css @@ -185,6 +185,14 @@ color:{{ theme.css_generic_link_hover_color }}; } +.admin-interface thead th a, +.admin-interface thead th a:link, +.admin-interface thead th a:visited, +.admin-interface thead th a:focus, +.admin-interface thead th a:hover { + color: #666666; +} + .admin-interface .button, .admin-interface input[type=submit], .admin-interface input[type=button], From 28dfc70474c3a5ca9d9d387de315809bb1679c40 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 15 Sep 2020 09:47:01 +0200 Subject: [PATCH 028/143] Fixed tests warning (admin.W411). --- tests/settings.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/settings.py b/tests/settings.py index 2008427..fd899aa 100644 --- a/tests/settings.py +++ b/tests/settings.py @@ -58,6 +58,7 @@ TEMPLATES = [{ 'context_processors': [ 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', + 'django.template.context_processors.request', ] }, },] From 826340c9bee9e461a4c804eaa6dccdaec5379baf Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 15 Sep 2020 09:49:50 +0200 Subject: [PATCH 029/143] Fixed loaddata error with initial_data.json fixture. #97 --- admin_interface/fixtures/initial_data.json | 40 +++++++++++++++++++++- tests/test_fixtures.py | 4 +++ 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/admin_interface/fixtures/initial_data.json b/admin_interface/fixtures/initial_data.json index 8f8ecc3..78ee05c 100644 --- a/admin_interface/fixtures/initial_data.json +++ b/admin_interface/fixtures/initial_data.json @@ -1 +1,39 @@ -[{"model": "admin_interface.theme", "pk": 1, "fields": {"name": "Django", "active": true, "title": "Django administration", "title_visible": true, "logo": "", "logo_visible": true, "css_header_background_color": "#0C4B33", "css_header_title_color": "#F5DD5D", "css_header_text_color": "#44B78B", "css_header_link_color": "#FFFFFF", "css_header_link_hover_color": "#C9F0DD", "css_module_background_color": "#44B78B", "css_module_text_color": "#FFFFFF", "css_module_link_color": "#FFFFFF", "css_module_link_hover_color": "#C9F0DD", "css_module_rounded_corners": true, "css_generic_link_color": "#0C3C26", "css_generic_link_hover_color": "#156641", "css_save_button_background_color": "#0C4B33", "css_save_button_background_hover_color": "#0C3C26", "css_save_button_text_color": "#FFFFFF", "css_delete_button_background_color": "#BA2121", "css_delete_button_background_hover_color": "#A41515", "css_delete_button_text_color": "#FFFFFF", "css": "", "related_modal_active": true, "related_modal_background_color": "#000000", "related_modal_background_opacity": 0.2, "related_modal_rounded_corners": true, "list_filter_dropdown": false}}] \ No newline at end of file +[ + { + "model": "admin_interface.theme", + "fields": { + "name": "Django", + "active": true, + "title": "Django administration", + "title_color": "#F5DD5D", + "title_visible": true, + "logo": "", + "logo_color": "#FFFFFF", + "logo_visible": true, + "css_header_background_color": "#0C4B33", + "css_header_text_color": "#44B78B", + "css_header_link_color": "#FFFFFF", + "css_header_link_hover_color": "#C9F0DD", + "css_module_background_color": "#44B78B", + "css_module_text_color": "#FFFFFF", + "css_module_link_color": "#FFFFFF", + "css_module_link_hover_color": "#C9F0DD", + "css_module_rounded_corners": true, + "css_generic_link_color": "#0C3C26", + "css_generic_link_hover_color": "#156641", + "css_save_button_background_color": "#0C4B33", + "css_save_button_background_hover_color": "#0C3C26", + "css_save_button_text_color": "#FFFFFF", + "css_delete_button_background_color": "#BA2121", + "css_delete_button_background_hover_color": "#A41515", + "css_delete_button_text_color": "#FFFFFF", + "css": "", + "related_modal_active": true, + "related_modal_background_color": "#000000", + "related_modal_background_opacity": 0.2, + "related_modal_rounded_corners": true, + "list_filter_dropdown": false, + "recent_actions_visible": true + } + } +] \ No newline at end of file diff --git a/tests/test_fixtures.py b/tests/test_fixtures.py index 3a08aff..c357fee 100644 --- a/tests/test_fixtures.py +++ b/tests/test_fixtures.py @@ -17,6 +17,10 @@ class AdminInterfaceFixturesTestCase(TestCase): def __load_theme(self, theme_name): call_command('loaddata', 'admin_interface_theme_%s.json' % (theme_name, )) + def test_import_initial_data(self): + call_command('loaddata', 'initial_data.json') + self.assertEqual(Theme.objects.count(), 1); + def test_import_all(self): self.__load_theme('django') self.__load_theme('bootstrap') From 97cea97307e81118c2a85f8b7fe91ea795228341 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 15 Sep 2020 09:54:01 +0200 Subject: [PATCH 030/143] Removed python 3.4 from tox test matrix. --- tox.ini | 1 - 1 file changed, 1 deletion(-) diff --git a/tox.ini b/tox.ini index 827809a..e2fec2d 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,6 @@ [tox] envlist = py27-{dj17,dj18,dj19,dj110,dj111}-{sqlite,postgres}, - py34-{dj17,dj18,dj19,dj110,dj111,dj20}-{sqlite,postgres}, py35-{dj18,dj19,dj110,dj111,dj20,dj21,dj22}-{sqlite,postgres}, py36-{dj18,dj19,dj110,dj111,dj20,dj21,dj22,dj30,dj31,djmaster}-{sqlite,postgres}, py37-{dj20,dj21,dj22,dj30,dj31,djmaster}-{sqlite,postgres}, From c050c4f94c2d86fc8a0094823b078d00c9678d9e Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 15 Sep 2020 09:54:30 +0200 Subject: [PATCH 031/143] Updated CHANGELOG and version. --- CHANGELOG.md | 8 +++++++- admin_interface/version.py | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b019cd5..b063c04 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [0.13.4](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.13.4) - 2020-??-?? +## [0.13.5](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.13.5) - 2020-09-15 +- Fixed loaddata error with initial_data.json fixture. #97 +- Fixed tests warning (admin.W411). +- Fixed changelist thead links color. +- Fixed changelist filter links hover color. + +## [0.13.4](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.13.4) - 2020-09-04 - Added conditional imports to avoid Django deprecation warnings. #92 - Changed admin header content vertical align to top. diff --git a/admin_interface/version.py b/admin_interface/version.py index bf42850..5a7f433 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.13.4' +__version__ = '0.13.5' From e967d09c8b1406a8ad223971ee65cbf6392fb297 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 6 Oct 2020 10:59:09 +0200 Subject: [PATCH 032/143] Added python 3.9 to tests. --- .travis.yml | 18 ++++++++++++++++++ setup.py | 1 + tox.ini | 1 + 3 files changed, 20 insertions(+) diff --git a/.travis.yml b/.travis.yml index 2ae756d..421a738 100644 --- a/.travis.yml +++ b/.travis.yml @@ -120,6 +120,22 @@ jobs: env: TOX_ENV=py38-djmaster-sqlite - python: "3.8" env: TOX_ENV=py38-djmaster-postgres + - python: "3.9" + env: TOX_ENV=py39-dj22-sqlite + - python: "3.9" + env: TOX_ENV=py39-dj22-postgres + - python: "3.9" + env: TOX_ENV=py39-dj30-sqlite + - python: "3.9" + env: TOX_ENV=py39-dj30-postgres + - python: "3.9" + env: TOX_ENV=py39-dj31-sqlite + - python: "3.9" + env: TOX_ENV=py39-dj31-postgres + - python: "3.9" + env: TOX_ENV=py39-djmaster-sqlite + - python: "3.9" + env: TOX_ENV=py39-djmaster-postgres allow_failures: - env: TOX_ENV=py36-djmaster-sqlite - env: TOX_ENV=py36-djmaster-postgres @@ -127,6 +143,8 @@ jobs: - env: TOX_ENV=py37-djmaster-postgres - env: TOX_ENV=py38-djmaster-sqlite - env: TOX_ENV=py38-djmaster-postgres + - env: TOX_ENV=py39-djmaster-sqlite + - env: TOX_ENV=py39-djmaster-postgres install: - pip install tox services: diff --git a/setup.py b/setup.py index 5fb2f95..568694e 100644 --- a/setup.py +++ b/setup.py @@ -66,6 +66,7 @@ setup( 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', 'Topic :: Software Development :: Build Tools', ], license='MIT', diff --git a/tox.ini b/tox.ini index e2fec2d..9c3663f 100644 --- a/tox.ini +++ b/tox.ini @@ -5,6 +5,7 @@ envlist = py36-{dj18,dj19,dj110,dj111,dj20,dj21,dj22,dj30,dj31,djmaster}-{sqlite,postgres}, py37-{dj20,dj21,dj22,dj30,dj31,djmaster}-{sqlite,postgres}, py38-{dj22,dj30,dj31,djmaster}-{sqlite,postgres}, + py39-{dj22,dj30,dj31,djmaster}-{sqlite,postgres}, [testenv] passenv = CI TRAVIS TRAVIS_* deps = From 2113d009f4317d586bf3ef04d1bd820573ddf63a Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 7 Oct 2020 10:50:23 +0200 Subject: [PATCH 033/143] Removed python 3.9 from travis. --- .travis.yml | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/.travis.yml b/.travis.yml index 421a738..8b6abcc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -120,22 +120,22 @@ jobs: env: TOX_ENV=py38-djmaster-sqlite - python: "3.8" env: TOX_ENV=py38-djmaster-postgres - - python: "3.9" - env: TOX_ENV=py39-dj22-sqlite - - python: "3.9" - env: TOX_ENV=py39-dj22-postgres - - python: "3.9" - env: TOX_ENV=py39-dj30-sqlite - - python: "3.9" - env: TOX_ENV=py39-dj30-postgres - - python: "3.9" - env: TOX_ENV=py39-dj31-sqlite - - python: "3.9" - env: TOX_ENV=py39-dj31-postgres - - python: "3.9" - env: TOX_ENV=py39-djmaster-sqlite - - python: "3.9" - env: TOX_ENV=py39-djmaster-postgres + # - python: "3.9" + # env: TOX_ENV=py39-dj22-sqlite + # - python: "3.9" + # env: TOX_ENV=py39-dj22-postgres + # - python: "3.9" + # env: TOX_ENV=py39-dj30-sqlite + # - python: "3.9" + # env: TOX_ENV=py39-dj30-postgres + # - python: "3.9" + # env: TOX_ENV=py39-dj31-sqlite + # - python: "3.9" + # env: TOX_ENV=py39-dj31-postgres + # - python: "3.9" + # env: TOX_ENV=py39-djmaster-sqlite + # - python: "3.9" + # env: TOX_ENV=py39-djmaster-postgres allow_failures: - env: TOX_ENV=py36-djmaster-sqlite - env: TOX_ENV=py36-djmaster-postgres @@ -143,8 +143,8 @@ jobs: - env: TOX_ENV=py37-djmaster-postgres - env: TOX_ENV=py38-djmaster-sqlite - env: TOX_ENV=py38-djmaster-postgres - - env: TOX_ENV=py39-djmaster-sqlite - - env: TOX_ENV=py39-djmaster-postgres + # - env: TOX_ENV=py39-djmaster-sqlite + # - env: TOX_ENV=py39-djmaster-postgres install: - pip install tox services: From e989e623db241046dd6d91183e579e9fa131d54e Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 13 Oct 2020 15:38:20 +0200 Subject: [PATCH 034/143] Updated README. [ci skip] --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b25a9be..e4cc5c7 100644 --- a/README.md +++ b/README.md @@ -141,8 +141,10 @@ Released under [MIT License](LICENSE.txt). - [`django-maintenance-mode`](https://github.com/fabiocaccamo/django-maintenance-mode) - shows a 503 error page when maintenance-mode is on. 🚧 đŸ› ī¸ +- [`django-redirects`](https://github.com/fabiocaccamo/django-redirects) - redirects with full control. â†Ēī¸ + - [`django-treenode`](https://github.com/fabiocaccamo/django-treenode) - probably the best abstract model / admin for your tree based stuff. đŸŒŗ -- [`python-benedict`](https://github.com/fabiocaccamo/python-benedict) - dict subclass with keylist/keypath support, I/O shortcuts (Base64, CSV, JSON, TOML, XML, YAML, pickle, query-string) and many utilities. 📘 đŸ‘ŧ +- [`python-benedict`](https://github.com/fabiocaccamo/python-benedict) - dict subclass with keylist/keypath support, I/O shortcuts (base64, csv, json, pickle, plist, query-string, toml, xml, yaml) and many utilities. 📘 - [`python-codicefiscale`](https://github.com/fabiocaccamo/python-codicefiscale) - encode/decode Italian fiscal codes - codifica/decodifica del Codice Fiscale. 🇮🇹 đŸ’ŗ From 13b1d9f15f8cb74299d937591f29560dec88efdb Mon Sep 17 00:00:00 2001 From: Amir Ajorloo Date: Wed, 14 Oct 2020 11:30:45 +0330 Subject: [PATCH 035/143] Add persian language (#98) * add fa language translations * add rtl css file. fix side-nav issue in rtl mode Co-authored-by: Amir Ajorloo Co-authored-by: Fabio Caccamo --- .gitignore | 58 ----- .../locale/fa/LC_MESSAGES/django.mo | Bin 0 -> 2994 bytes .../locale/fa/LC_MESSAGES/django.po | 205 ++++++++++++++++++ .../templates/admin/base_site.html | 7 + .../templates/admin_interface/css/rtl.css | 35 +++ 5 files changed, 247 insertions(+), 58 deletions(-) delete mode 100644 .gitignore create mode 100644 admin_interface/locale/fa/LC_MESSAGES/django.mo create mode 100644 admin_interface/locale/fa/LC_MESSAGES/django.po create mode 100644 admin_interface/templates/admin_interface/css/rtl.css diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 9132201..0000000 --- a/.gitignore +++ /dev/null @@ -1,58 +0,0 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] - -# C extensions -*.so - -# Distribution / packaging -.Python -env/ -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -*.egg-info/ -.installed.cfg -*.egg - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*,cover - -# Translations -*.pot - -# Django stuff: -*.log - -# Sphinx documentation -docs/_build/ - -# PyBuilder -target/ -screenshots -TODO.txt diff --git a/admin_interface/locale/fa/LC_MESSAGES/django.mo b/admin_interface/locale/fa/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..eea320d252d862e31adc926dfb00181bc4657130 GIT binary patch literal 2994 zcmbW1U1%It6vwYxtzExr>u0rkwN|rDX4@pCX*X@@CfRKx8QiWoCYR z@0@$i|D1Doe%iL_EW@b9{UmPpHpZI4uW!c#K17K`ZdEZI! ze#|Y9?B4CW=|Eg<>b0n+|3crVxl z;$m%hkiQp$`N?4ZDoFm{0v`b-xD70T4}s@EiZc)5VvBf?&gFoggCWen0?E(!Ald&K z@OO~%{}Uv;e?VL;1Tmy_&}6u>L8GsIEVNZ-O_#?cnLV8G8`y z2Ok4RK&tCm5EuId4~oA8Qs2G+;gbCflHG6MaqwpFKCz{|F9lM)P4Fr318@g;1tdS; zft2STAob&K(9aKqD;C0p^lS(Bf^{I}_XhX^I0VxEk3iD%F^G#@z=QN&4frMaJmx=w z_L~uubleY8ziUCfVu!%pU>ivF?FXrDXF$?(4n$e~LH(v)P#wsI&d=kxsqYkn z2IWlsph5mfI~{qrVUOaj4C*}%%5kUvi?L_H8r-CtMlEjAxCb}oPJN?6`O!e>{G3SV z`a$RMIox5~R2%9$r+#+SpphrL9{TK??_(;tdUT zd{~&KJcETqee3>xi8`LKg|IMhh_|*j)z|SJGf(!7`wty#YYDShI%`JtbI+ zE%bEC&S!fZzL$5%blw!a4{O49Ser0~D|k!Zb)|)AKY~lHlMBOfZQV7b#p2eWVM{A3 zESDwpK_q0cW|i8gSSN-yKV0cV5p3p6Zj*5jIN-eNaH4ZVhl(^1LIs+b4Kh z^y+!jRwfdOuu~!h1w57_Q4Xf2?us;Jq?_zz z3RFp>yH8{V^PdjurdBW=y9Nd8(NhB%Tjs4aPf1hS>lgaups+VC%bcDv++jvakc(d_ zK4>^b58S3?njYjSZ8$koA7;Hlg-lc?@aF$q@7~YY(jn56$VuDPI-HD=)>`rzN9&eR9_s4UP6?7BEv*fGi1OFsu~S+{r`8tZ zCpx1Y?X|CWz7!87b;s4Zai$$~OWIK$%NjP1^-J57k{{MF)60`%nXGP@k(A6H#jf%} z(z=D7jq-#Jjr?#jdCW8-(#}*3f_EM59r0==^^tv{R*4KOgdWa88&!2Lx?@<)IGgY$ z+#|1aC$xiAJCfKdY%Ok~r#Nv@ez3=ILtSRx)=e!T?W_~!R?eR~M;e-W`R9=uiy!6n z;pPzIYR;Qfi|XqC`wV#RsggIY7U-`Zd<(pSn#N*5U09u><=~5;7F0D4K&E~-o3D47rT-l0G(ac|6MxkH~{!3L2WQa=5L0;J*^R8q2b*|3S1EMHh_=7jH^Cq}jLbVF?@j-=_ z%dym4)g=PX!)eJckT+I+0r4d&1r=vwQ7@HuQN`!HasLr)Woj9jPa+cf6NF@R1XhYj zUM<2*EtLC5yKnJgeKKemDn1RLsQD6nPE&2DjWa8=C>qL*Mikd%R+2C9wHCmDR;Q^N zY-N^={lIL^Vrjz>s7MP=!kW}zek+C5*5K%)G}L#fUVkFzDSfo1n*KPdh@(@j9HdhJ lkSp2InP2b&!lmD6RD, 2020. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: django-admin-interface\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-10-12 19:23+0330\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Amir Ajorloo \n" +"Language-Team: Farsi \n" +"Language: Farsi" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: admin_interface/admin.py:21 +msgid "Environment" +msgstr "Ų…Ø­ÛŒØˇ" + +#: admin_interface/admin.py:30 +msgid "Language chooser" +msgstr "Ø§Ų†ØĒ؎اب Ø˛Ø¨Ø§Ų†" + +#: admin_interface/admin.py:37 +msgid "Logo" +msgstr "Ų„ŲˆÚ¯Ųˆ" + +#: admin_interface/admin.py:45 +msgid "Favicon" +msgstr "ØĸÛŒÚŠŲˆŲ† ØĒب" + +#: admin_interface/admin.py:49 +msgid "Title" +msgstr "ØšŲ†ŲˆØ§Ų†" + +#: admin_interface/admin.py:57 +msgid "Header" +msgstr "Ų‡Ø¯Øą" + +#: admin_interface/admin.py:66 +msgid "Breadcrumbs / Module headers" +msgstr "Ų…ØŗÛŒØą ØĩŲØ­Ų‡" + +#: admin_interface/admin.py:76 +msgid "Generic Links" +msgstr "Ų„ÛŒŲ†ÚŠâ€ŒŲ‡Ø§ÛŒ ØšŲ…ŲˆŲ…ÛŒ" + +#: admin_interface/admin.py:83 +msgid "Save Buttons" +msgstr "Ø¯ÚŠŲ…Ų‡â€ŒŲ‡Ø§ÛŒ Ø°ØŽÛŒØąŲ‡" + +#: admin_interface/admin.py:91 +msgid "Delete Buttons" +msgstr "Ø¯ÚŠŲ…Ų‡â€ŒŲ‡Ø§ÛŒ Ø­Ø°Ų" + +#: admin_interface/admin.py:99 +msgid "Related Modal" +msgstr "Ų…Ø¯Ų„â€ŒŲ‡Ø§ÛŒ Ų…ØąØĒØ¨Øˇ" + +#: admin_interface/admin.py:109 +msgid "List Filter" +msgstr "ŲÛŒŲ„ØĒØąâ€ŒŲ‡Ø§ÛŒ Ų„ÛŒØŗØĒ" + +#: admin_interface/admin.py:113 +msgid "Recent Actions" +msgstr "ŲØšØ§Ų„ÛŒØĒâ€ŒŲ‡Ø§ÛŒ Ø§ØŽÛŒØą" + +#: admin_interface/apps.py:11 +msgid "Admin Interface" +msgstr "Ø¸Ø§Ų‡Øą Ø§Ø¯Ų…ÛŒŲ†" + +#: admin_interface/models.py:72 admin_interface/models.py:116 +#: admin_interface/models.py:135 +msgid "name" +msgstr "Ų†Ø§Ų…" + +#: admin_interface/models.py:75 admin_interface/models.py:132 +#: admin_interface/models.py:253 +msgid "active" +msgstr "ŲØšØ§Ų„" + +#: admin_interface/models.py:79 +#: admin_interface/templates/admin/base_site.html:6 +#: admin_interface/templates/admin/base_site.html:60 +msgid "Django administration" +msgstr "Ų…Ø¯ÛŒØąÛŒØĒ ØŦŲ†Ú¯Ųˆ" + +#: admin_interface/models.py:81 +msgid "title" +msgstr "ØšŲ†ŲˆØ§Ų†" + +#: admin_interface/models.py:87 admin_interface/models.py:102 +#: admin_interface/models.py:122 +msgid "color" +msgstr "ØąŲ†Ú¯" + +#: admin_interface/models.py:90 admin_interface/models.py:105 +#: admin_interface/models.py:289 +msgid "visible" +msgstr "Ų†Ų…Ø§ÛŒØ§Ų†" + +#: admin_interface/models.py:95 +msgid "Leave blank to use the default Django logo" +msgstr "Ø¨ØąØ§ÛŒ Ų†Ų…Ø§ÛŒØ´ Ų„ŲˆÚ¯ŲˆÛŒ ŲžÛŒØ´ ŲØąØļ، ØŽØ§Ų„ÛŒ Ø¨Ú¯Ø°Ø§ØąÛŒØ¯." + +#: admin_interface/models.py:96 +msgid "logo" +msgstr "Ų„ŲˆÚ¯Ųˆ" + +#: admin_interface/models.py:110 +msgid "(.ico|.png|.gif - 16x16|32x32 px)" +msgstr "(.ico|.png|.gif - 16x16|32x32 px)" + +#: admin_interface/models.py:111 +msgid "favicon" +msgstr "ØĸÛŒÚŠŲˆŲ† ØĒب" + +#: admin_interface/models.py:120 +msgid "" +"(red: #E74C3C, orange: #E67E22, yellow: #F1C40F, green: #2ECC71, blue: " +"#3498DB)" +msgstr "" +"(Ų‚ØąŲ…Ø˛: #E74C3C, Ų†Ø§ØąŲ†ØŦی: #E67E22, Ø˛ØąØ¯: #F1C40F, ØŗØ¨Ø˛: #2ECC71, Øĸبی: " +"#3498DB)" + +#: admin_interface/models.py:125 +msgid "visible in header (marker and name)" +msgstr "Ų†Ų…Ø§ÛŒØ§Ų† Ø¯Øą Ų‡Ø¯Øą" + +#: admin_interface/models.py:128 +msgid "visible in favicon (marker)" +msgstr "Ų†Ų…Ø§ÛŒØ§Ų† Ø¯Øą ØĸÛŒÚŠŲˆŲ† ØĒب" + +#: admin_interface/models.py:134 +msgid "code" +msgstr "ڊد" + +#: admin_interface/models.py:141 +msgid "display" +msgstr "Ų†Ų…Ø§ÛŒØ´" + +#: admin_interface/models.py:148 admin_interface/models.py:173 +#: admin_interface/models.py:214 admin_interface/models.py:233 +#: admin_interface/models.py:259 +msgid "background color" +msgstr "ØąŲ†Ú¯ ŲžØŗâ€ŒØ˛Ų…ÛŒŲ†Ų‡" + +#: admin_interface/models.py:154 admin_interface/models.py:179 +#: admin_interface/models.py:226 admin_interface/models.py:245 +#: admin_interface/models.py:249 +msgid "text color" +msgstr "ØąŲ†Ú¯ Ų…ØĒŲ†" + +#: admin_interface/models.py:160 admin_interface/models.py:185 +#: admin_interface/models.py:201 +msgid "link color" +msgstr "ØąŲ†Ú¯ Ų„ÛŒŲ†ÚŠ" + +#: admin_interface/models.py:166 admin_interface/models.py:191 +#: admin_interface/models.py:207 +msgid "link hover color" +msgstr "ØąŲ†Ú¯ Ų„ÛŒŲ†ÚŠ Ø¯Øą Ø­Ø§Ų„ØĒ Ų‡Ø§ŲˆØą" + +#: admin_interface/models.py:194 admin_interface/models.py:279 +msgid "rounded corners" +msgstr "Ú¯ŲˆØ´Ų‡â€ŒŲ‡Ø§ÛŒ ØŽŲ…ÛŒØ¯Ų‡" + +#: admin_interface/models.py:220 admin_interface/models.py:239 +msgid "background hover color" +msgstr "ØąŲ†Ú¯ ŲžØŗâ€ŒØ˛Ų…ÛŒŲ†Ų‡ Ø¯Øą Ø­Ø§Ų„ØĒ Ų‡Ø§ŲˆØą" + +#: admin_interface/models.py:276 +msgid "background opacity" +msgstr "Ø´ŲØ§ŲÛŒØĒ Ø¨ÚŠÚ¯ØąØ§Ų†Ø¯" + +#: admin_interface/models.py:282 +msgid "close button visible" +msgstr "Ø¯ÚŠŲ…Ų‡ Ø¨ØŗØĒŲ† Ų†Ų…Ø§ÛŒØ§Ų† باشد" + +#: admin_interface/models.py:286 +msgid "use dropdown" +msgstr "Ø§ØŗØĒŲØ§Ø¯Ų‡ Ø§Ø˛ Ø¯ØąØ§Ųž Ø¯Ø§ŲˆŲ†" + +#: admin_interface/models.py:298 +msgid "Theme" +msgstr "ØĒŲ…" + +#: admin_interface/models.py:299 +msgid "Themes" +msgstr "ØĒŲ…â€ŒŲ‡Ø§" + +#: admin_interface/templates/admin/filter.html:13 +#: admin_interface/templates/admin_interface/dropdown_filter.html:4 +#, python-format +msgid " By %(filter_title)s " +msgstr " ØĒŲˆØŗØˇ %(filter_title)s " + +#: admin_interface/templates/admin/popup_response.html:3 +msgid "Popup closing..." +msgstr "ŲžØ§Ųž ØĸŲž Ø¯Øą Ø­Ø§Ų„ Ø¨ØŗØĒŲ‡ Ø´Ø¯Ų†..." diff --git a/admin_interface/templates/admin/base_site.html b/admin_interface/templates/admin/base_site.html index 3fddf9e..7035c7f 100644 --- a/admin_interface/templates/admin/base_site.html +++ b/admin_interface/templates/admin/base_site.html @@ -9,6 +9,7 @@ {% block extrastyle %} {% get_admin_interface_theme as theme %} {% get_admin_interface_version as version %} +{% get_current_language as current_lang %} + +{% if current_lang == 'fa' %} + +{% endif %} + {% endblock %} {% block blockbots %} diff --git a/admin_interface/templates/admin_interface/css/rtl.css b/admin_interface/templates/admin_interface/css/rtl.css new file mode 100644 index 0000000..4a58c47 --- /dev/null +++ b/admin_interface/templates/admin_interface/css/rtl.css @@ -0,0 +1,35 @@ +[dir="rtl"] * { + font-family: 'Vazir', sans-serif !important; +} + + +[dir="rtl"] .main .toggle-nav-sidebar.sticky { + left: auto !important; + right: 0px !important; + margin-right: 0px !important; + margin-left: 10px; + border: 1px solid #eaeaea !important; + border-right: none !important; + border-top-right-radius: 0px !important; + border-bottom-right-radius: 0px !important; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + box-shadow: -4px 2px 8px -2px #DBDBDB !important; +} + + +[dir="rtl"] .admin-interface #main.shifted>#toggle-nav-sidebar { + right: 359px !important; +} + +[dir="rtl"] .admin-interface #main>#nav-sidebar { + margin-right: -360px !important; + margin-left: 0px !important; + right: -320px !important; +} + +[dir="rtl"] .admin-interface #main.shifted>#nav-sidebar { + border-left: 1px solid #eaeaea; + margin-right: 0px !important; + padding: 40px 0px 40px 40px !important; +} \ No newline at end of file From b703f77f8092665d0055692ac54301cf051b8357 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 14 Oct 2020 10:02:25 +0200 Subject: [PATCH 036/143] Re-added .gitignore [ci skip] --- .gitignore | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9132201 --- /dev/null +++ b/.gitignore @@ -0,0 +1,58 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover + +# Translations +*.pot + +# Django stuff: +*.log + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ +screenshots +TODO.txt From 8c4520d4b72fd17ab9584ffe09eaa82ace838848 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 14 Oct 2020 12:55:26 +0200 Subject: [PATCH 037/143] Added .admin-interface prefix to rtl selectors. --- .../templates/admin_interface/css/rtl.css | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/rtl.css b/admin_interface/templates/admin_interface/css/rtl.css index 4a58c47..30c0b9d 100644 --- a/admin_interface/templates/admin_interface/css/rtl.css +++ b/admin_interface/templates/admin_interface/css/rtl.css @@ -1,9 +1,9 @@ -[dir="rtl"] * { +[dir="rtl"] .admin-interface, +[dir="rtl"] .admin-interface * { font-family: 'Vazir', sans-serif !important; } - -[dir="rtl"] .main .toggle-nav-sidebar.sticky { +[dir="rtl"] .admin-interface .main .toggle-nav-sidebar.sticky { left: auto !important; right: 0px !important; margin-right: 0px !important; @@ -17,19 +17,18 @@ box-shadow: -4px 2px 8px -2px #DBDBDB !important; } - -[dir="rtl"] .admin-interface #main.shifted>#toggle-nav-sidebar { +[dir="rtl"] .admin-interface #main.shifted > #toggle-nav-sidebar { right: 359px !important; } -[dir="rtl"] .admin-interface #main>#nav-sidebar { +[dir="rtl"] .admin-interface #main > #nav-sidebar { margin-right: -360px !important; margin-left: 0px !important; right: -320px !important; } -[dir="rtl"] .admin-interface #main.shifted>#nav-sidebar { +[dir="rtl"] .admin-interface #main.shifted > #nav-sidebar { border-left: 1px solid #eaeaea; margin-right: 0px !important; padding: 40px 0px 40px 40px !important; -} \ No newline at end of file +} From 79ea1729cc6854733cdc57fd880cf6810cf3bfde Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 14 Oct 2020 12:55:57 +0200 Subject: [PATCH 038/143] Fixed logo, content and changelist-filter max-width. --- .../admin_interface/css/admin-interface-fix.css | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index 6e59415..1cc3c5e 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -91,6 +91,12 @@ display:inline-block !important; /* override inline display:none; */ } +@media (max-width:400px) { + .admin-interface #branding h1 img.logo { + max-width: 100%; + } +} + .admin-interface #branding h1 span { display: inline-block; margin-bottom: 5px; @@ -250,6 +256,7 @@ body.admin-interface .paginator a.showall:visited { .admin-interface .module.filtered #changelist-filter { border-bottom-left-radius:4px; border-bottom-right-radius:4px; + min-width: 200px; } .admin-interface .module.filtered #changelist-filter h2 { @@ -420,6 +427,9 @@ body.admin-interface .paginator a.showall:visited { left: 0px; margin-left: 0; } + .admin-interface #main:not(.shifted) > .content { + max-width: 100%; + } .admin-interface.change-list:not(.popup) #main.shifted > .content, .admin-interface.change-form:not(.popup) #main.shifted > .content { max-width: calc(100% - 360px); From c721359eea708f993a9c10e6a6b7add9fec65d37 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 14 Oct 2020 13:00:34 +0200 Subject: [PATCH 039/143] Updated CHANGELOG and version. --- CHANGELOG.md | 6 ++++++ admin_interface/version.py | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b063c04..409d9fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.13.6](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.13.6) - 2020-10-14 +- Added persian language. #98 +- Fixed logo max-width on small screens. +- Fixed content max-width when nav-sidebar is collapsed. +- Fixed changelist max-width on medium screens. + ## [0.13.5](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.13.5) - 2020-09-15 - Fixed loaddata error with initial_data.json fixture. #97 - Fixed tests warning (admin.W411). diff --git a/admin_interface/version.py b/admin_interface/version.py index 5a7f433..9f7eb4f 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.13.5' +__version__ = '0.13.6' From 92710be3378bd7c7df913b1b9e121f02932aa714 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 14 Oct 2020 13:57:35 +0200 Subject: [PATCH 040/143] Fixed content max-width with django 3.1.2 --- .../templates/admin_interface/css/admin-interface-fix.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index 1cc3c5e..0c6d635 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -398,6 +398,11 @@ body.admin-interface .paginator a.showall:visited { margin-top: -2px; } +.admin-interface .main > #nav-sidebar + .content, +.admin-interface .main.shifted > #nav-sidebar + .content { + max-width: 100%; +} + /* hide nav-sidebar below 1280px to prevent horizontal overflow issues */ @media (max-width:1279px) { .admin-interface #nav-sidebar, From 759b5a6f496f894c4c7197954931bd3402537598 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 14 Oct 2020 18:32:49 +0200 Subject: [PATCH 041/143] Fixed list filter select size. --- .../templates/admin_interface/css/list-filter-dropdown.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/list-filter-dropdown.css b/admin_interface/templates/admin_interface/css/list-filter-dropdown.css index 396a207..d1fc14c 100644 --- a/admin_interface/templates/admin_interface/css/list-filter-dropdown.css +++ b/admin_interface/templates/admin_interface/css/list-filter-dropdown.css @@ -8,7 +8,7 @@ list-filter-dropdown } .admin-interface .list-filter-dropdown select { - background-color:#FFFFFF; - width:90%; - margin-right:5%; + background-color: #FFFFFF; + width: calc(100% - 30px); + margin-right: 15px; } \ No newline at end of file From 96570502cc20c70fba8763679a14f56089d8a9b3 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 14 Oct 2020 18:33:14 +0200 Subject: [PATCH 042/143] Fixed calendar and timelist buttons theme color. --- .../templates/admin_interface/css/admin-interface.css | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/admin_interface/templates/admin_interface/css/admin-interface.css b/admin_interface/templates/admin_interface/css/admin-interface.css index 5694205..cb83e01 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface.css +++ b/admin_interface/templates/admin_interface/css/admin-interface.css @@ -346,3 +346,13 @@ .admin-interface #toggle-nav-sidebar:active { color: {{ theme.css_generic_link_hover_color }}; } + +.admin-interface .calendar td.selected a, +.admin-interface .calendar td a:active, +.admin-interface .calendar td a:focus, +.admin-interface .calendar td a:hover, +.admin-interface .timelist a:active, +.admin-interface .timelist a:focus, +.admin-interface .timelist a:hover { + background: {{ theme.css_module_background_color }}; +} From 48d3952e687b036036640e9736cf0a413d54bf79 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 14 Oct 2020 18:33:41 +0200 Subject: [PATCH 043/143] Fixed changelist and toolbar theme rounded corners. --- .../admin_interface/css/admin-interface.css | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/admin_interface/templates/admin_interface/css/admin-interface.css b/admin_interface/templates/admin_interface/css/admin-interface.css index cb83e01..19f7bd2 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface.css +++ b/admin_interface/templates/admin_interface/css/admin-interface.css @@ -282,6 +282,19 @@ color:{{ theme.css_generic_link_hover_color }}; } +.admin-interface .module.filtered #toolbar { + {% if theme.css_module_rounded_corners %} + border-radius: 4px; + {% endif %} +} + +.admin-interface .module.filtered #changelist-filter { + {% if theme.css_module_rounded_corners %} + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + {% endif %} +} + .admin-interface .module.filtered #changelist-filter #changelist-filter-clear a:focus, .admin-interface .module.filtered #changelist-filter #changelist-filter-clear a:hover { color: #666; From 195ef2c44fbe2d43a8b45532cea0b72e4cdffaca Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 14 Oct 2020 18:34:31 +0200 Subject: [PATCH 044/143] Fixed changelist filter min-width. --- .../admin_interface/css/admin-interface-fix.css | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index 0c6d635..4d961f9 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -249,14 +249,18 @@ body.admin-interface .paginator a.showall:visited { /* LIST FILTER */ .admin-interface .module.filtered h2 { - border-bottom-left-radius:0; - border-bottom-right-radius:0; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } .admin-interface .module.filtered #changelist-filter { - border-bottom-left-radius:4px; - border-bottom-right-radius:4px; - min-width: 200px; + min-width: 240px; +} + +@media (max-width: 1024px) { + .admin-interface .module.filtered #changelist-filter { + min-width: 200px; + } } .admin-interface .module.filtered #changelist-filter h2 { From db7e0770b2d348cf7ee9934d26b20222d664c221 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 14 Oct 2020 18:34:56 +0200 Subject: [PATCH 045/143] Fixed tabular inline horizontal scroll. --- .../admin_interface/css/admin-interface-fix.css | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index 4d961f9..db34fd3 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -305,6 +305,23 @@ body.admin-interface .paginator a.showall:visited { } /* end fix */ +/* begin fix tabular inlines horizontal scroll */ +.admin-interface .inline-related.tabular fieldset.module { + display: block; + overflow-x: scroll; + width: 100%; + white-space: nowrap; + position: relative; +} +.admin-interface .inline-related.tabular fieldset.module h2 { + position: sticky; + left: 0; +} +.admin-interface .inline-related.tabular fieldset.module table tbody tr { + position: relative; +} +/* end fix */ + .admin-interface .inline-related h3 { padding:6px 10px; } From 308858a0d00555b7a982006f2d05788f8e3a579c Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 14 Oct 2020 18:35:39 +0200 Subject: [PATCH 046/143] Prevented body horizontal scroll. --- .../templates/admin_interface/css/admin-interface-fix.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index db34fd3..a1aa4cf 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -1,3 +1,7 @@ +.admin-interface { + overflow-x: hidden; +} + /* fix login */ .admin-interface.login #container { width: 100%; From f6329291836af8baba0788192548bdf55914c676 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 14 Oct 2020 18:35:59 +0200 Subject: [PATCH 047/143] Improved responsive widgets style. --- .../css/admin-interface-fix.css | 120 ++++++++++++------ 1 file changed, 80 insertions(+), 40 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index a1aa4cf..56a6fdc 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -71,7 +71,6 @@ } /* end login fix*/ - .admin-interface #header { height:auto; min-height:40px; @@ -213,6 +212,7 @@ body.admin-interface .paginator a.showall:visited { .admin-interface form .form-row p.file-upload .clearable-file-input { display: block; margin-top: 10px; + margin-left: 0; margin-bottom: -10px; } @@ -367,17 +367,6 @@ body.admin-interface .paginator a.showall:visited { background-color:#AAAAAA; } -/* fix textarea horizontal scroll on Firefox */ -@media (max-width: 767px){ - .admin-interface .aligned .form-row textarea { - width: 100% !important; - flex: 0 1 auto; - } - .admin-interface .aligned .form-row input[type="file"] { - width: 100% !important; - } -} - /* improve responsive selector */ /* fix [stacked, not-stacked] equalize horizontal and vertical select padding for selector */ @@ -466,34 +455,6 @@ body.admin-interface .paginator a.showall:visited { } } -/* fix related-widget when the nav-sidebar is collapsed */ -@media (max-width:1100px) { - .admin-interface.change-form #main .related-widget-wrapper { - clear: left; - margin-top: 5px; - } - .admin-interface.change-form #main .related-widget-wrapper + .help { - margin-top: 10px; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } -} - -/* fix related-widget when the nav-sidebar is expanded */ -@media (min-width:1280px) and (max-width:1480px) { - .admin-interface.change-form:not(.popup) .related-widget-wrapper { - clear: left; - margin-top: 5px; - } - .admin-interface.change-form #main.shifted .related-widget-wrapper + .help { - margin-top: 10px; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } -} - .admin-interface #nav-sidebar .current-app .section:link, .admin-interface #nav-sidebar .current-app .section:visited { color: #FFFFCC; @@ -503,3 +464,82 @@ body.admin-interface .paginator a.showall:visited { .admin-interface #nav-sidebar .current-model { background: #FFFFCC; } + +/* fixed related widget and select2 */ +.admin-interface .aligned .form-row .related-widget-wrapper { + white-space: nowrap; +} + +.admin-interface .aligned .form-row .related-widget-wrapper .select2-container ~ .related-widget-wrapper-link { + margin-left: 0; + padding: 4px 8px 6px 8px; +} + +.admin-interface .aligned .form-row .related-widget-wrapper .select2-container + .related-widget-wrapper-link { + margin-left: 5px !important; +} + +/* fixed time widget header border radius */ +.admin-interface .clockbox.module h2 { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +@media (max-width: 767px) { + + /* fixed changelist search size when there are search results and .quiet is visible */ + .admin-interface #changelist-search label img { + margin-top: 7px; + } + + .admin-interface #changelist-search .quiet { + margin: 0 0 0 10px; + align-self: center; + flex-basis: content; + } + + /* fixed responsive widgets */ + .admin-interface .aligned.collapsed .form-row { + display: none; + } + + .admin-interface .aligned .form-row > div { + display: flex; + max-width: 100vw; + flex-direction: column; + align-items: flex-start; + } + + .admin-interface .aligned .form-row .help { + margin-left: 0; + } + + .admin-interface .aligned .form-row .checkbox-row label { + margin: 10px 0 0 0; + padding: 0; + } + + .admin-interface .aligned .form-row input[type="file"], + .admin-interface .aligned .form-row input[type="text"], + .admin-interface .aligned .form-row input[type="email"] { + width: 100%; + } + + /* fix textarea horizontal scroll on Firefox */ + .admin-interface .aligned .form-row textarea { + width: 100% !important; + flex: 0 1 auto; + } + + .admin-interface .aligned .form-row .datetime input[type="text"] { + width: 50%; + } + + .admin-interface .aligned .form-row span + .file-upload { + margin-top: 10px; + } + + .admin-interface .aligned .form-row .file-upload input[type="file"] { + margin-top: 5px; + } +} \ No newline at end of file From 962267de1d4d4064b56c54c429f9b22cd70e1584 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 14 Oct 2020 18:37:50 +0200 Subject: [PATCH 048/143] Updated CHANGELOG and version. --- CHANGELOG.md | 10 ++++++++++ admin_interface/version.py | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 409d9fd..34f639a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,16 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.13.7](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.13.7) - 2020-10-14 +- Improved responsive widgets style. +- Prevented body horizontal scroll. +- Fixed tabular inline horizontal scroll. +- Fixed changelist filter min-width. +- Fixed changelist and toolbar theme rounded corners. +- Fixed calendar and timelist buttons theme color. +- Fixed list filter select size. +- Fixed content max-width with `django >= 3.1`. + ## [0.13.6](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.13.6) - 2020-10-14 - Added persian language. #98 - Fixed logo max-width on small screens. diff --git a/admin_interface/version.py b/admin_interface/version.py index 9f7eb4f..cd250f3 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.13.6' +__version__ = '0.13.7' From 61c1720fd76a9f7374f40882f59d966bb489aa75 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Thu, 15 Oct 2020 10:06:58 +0200 Subject: [PATCH 049/143] Fixed searchbar style. --- .../admin_interface/css/admin-interface-fix.css | 14 ++++++++++++-- .../admin_interface/css/admin-interface.css | 6 ------ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index 56a6fdc..9064b20 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -485,19 +485,29 @@ body.admin-interface .paginator a.showall:visited { border-bottom-right-radius: 0; } -@media (max-width: 767px) { +@media (min-width: 1024px) { + .admin-interface #changelist-search #searchbar { + padding: 2px 5px 3px 5px; + } +} +@media (max-width: 1024px) { + .admin-interface #changelist #toolbar { + border-top: 1px solid #eee; + border-bottom: 1px solid #eee; + } /* fixed changelist search size when there are search results and .quiet is visible */ .admin-interface #changelist-search label img { margin-top: 7px; } - .admin-interface #changelist-search .quiet { margin: 0 0 0 10px; align-self: center; flex-basis: content; } +} +@media (max-width: 767px) { /* fixed responsive widgets */ .admin-interface .aligned.collapsed .form-row { display: none; diff --git a/admin_interface/templates/admin_interface/css/admin-interface.css b/admin_interface/templates/admin_interface/css/admin-interface.css index 19f7bd2..2566c98 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface.css +++ b/admin_interface/templates/admin_interface/css/admin-interface.css @@ -282,12 +282,6 @@ color:{{ theme.css_generic_link_hover_color }}; } -.admin-interface .module.filtered #toolbar { - {% if theme.css_module_rounded_corners %} - border-radius: 4px; - {% endif %} -} - .admin-interface .module.filtered #changelist-filter { {% if theme.css_module_rounded_corners %} border-bottom-left-radius: 4px; From 9b611d1dcb3ffbfc328783f367ca77d7f0d9dc14 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Thu, 15 Oct 2020 10:42:40 +0200 Subject: [PATCH 050/143] Fixed searchbar style. --- .../admin_interface/css/admin-interface-fix.css | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index 9064b20..af6f7d0 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -485,10 +485,9 @@ body.admin-interface .paginator a.showall:visited { border-bottom-right-radius: 0; } -@media (min-width: 1024px) { - .admin-interface #changelist-search #searchbar { - padding: 2px 5px 3px 5px; - } +/* fix searchbar overriden padding */ +.admin-interface #changelist #changelist-search #searchbar { + padding: 2px 5px 3px 5px; } @media (max-width: 1024px) { @@ -498,7 +497,7 @@ body.admin-interface .paginator a.showall:visited { } /* fixed changelist search size when there are search results and .quiet is visible */ .admin-interface #changelist-search label img { - margin-top: 7px; + margin-top: 2px; } .admin-interface #changelist-search .quiet { margin: 0 0 0 10px; From 071fe476a6d01a1600281c9f353f004c7de55559 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Thu, 15 Oct 2020 10:48:16 +0200 Subject: [PATCH 051/143] Enabled list filter dropdown by default. --- .../0017_change_list_filter_dropdown.py | 20 +++++++++++++++++++ admin_interface/models.py | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 admin_interface/migrations/0017_change_list_filter_dropdown.py diff --git a/admin_interface/migrations/0017_change_list_filter_dropdown.py b/admin_interface/migrations/0017_change_list_filter_dropdown.py new file mode 100644 index 0000000..61c81a7 --- /dev/null +++ b/admin_interface/migrations/0017_change_list_filter_dropdown.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- + +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('admin_interface', '0016_add_language_chooser_display'), + ] + + operations = [ + migrations.AlterField( + model_name='theme', + name='list_filter_dropdown', + field=models.BooleanField(default=True, verbose_name='use dropdown'), + ), + ] diff --git a/admin_interface/models.py b/admin_interface/models.py index 2df49d5..4ffab99 100644 --- a/admin_interface/models.py +++ b/admin_interface/models.py @@ -289,7 +289,7 @@ class Theme(models.Model): verbose_name=_('close button visible')) list_filter_dropdown = models.BooleanField( - default=False, + default=True, verbose_name=_('use dropdown')) recent_actions_visible = models.BooleanField( default=True, From d61ef86dd6d75b262d601266a9543ea8654a3b41 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Thu, 15 Oct 2020 10:49:26 +0200 Subject: [PATCH 052/143] Added list filter sticky option (only for django >= 3.1.2). --- admin_interface/admin.py | 5 ++++- .../0018_theme_list_filter_sticky.py | 20 +++++++++++++++++++ admin_interface/models.py | 4 ++++ .../admin_interface/css/admin-interface.css | 15 ++++++++++++++ 4 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 admin_interface/migrations/0018_theme_list_filter_sticky.py diff --git a/admin_interface/admin.py b/admin_interface/admin.py index d44406f..b2fd770 100644 --- a/admin_interface/admin.py +++ b/admin_interface/admin.py @@ -112,7 +112,10 @@ class ThemeAdmin(admin.ModelAdmin): }), (_('List Filter'), { 'classes': ('wide', ), - 'fields': ('list_filter_dropdown', ) + 'fields': ( + 'list_filter_dropdown', + 'list_filter_sticky', + ) }), (_('Recent Actions'), { 'classes': ('wide', ), diff --git a/admin_interface/migrations/0018_theme_list_filter_sticky.py b/admin_interface/migrations/0018_theme_list_filter_sticky.py new file mode 100644 index 0000000..e308c43 --- /dev/null +++ b/admin_interface/migrations/0018_theme_list_filter_sticky.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- + +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('admin_interface', '0017_change_list_filter_dropdown'), + ] + + operations = [ + migrations.AddField( + model_name='theme', + name='list_filter_sticky', + field=models.BooleanField(default=True, verbose_name='sticky position'), + ), + ] diff --git a/admin_interface/models.py b/admin_interface/models.py index 4ffab99..c67aa02 100644 --- a/admin_interface/models.py +++ b/admin_interface/models.py @@ -291,6 +291,10 @@ class Theme(models.Model): list_filter_dropdown = models.BooleanField( default=True, verbose_name=_('use dropdown')) + list_filter_sticky = models.BooleanField( + default=True, + verbose_name=_('sticky position')) + recent_actions_visible = models.BooleanField( default=True, verbose_name=_('visible')) diff --git a/admin_interface/templates/admin_interface/css/admin-interface.css b/admin_interface/templates/admin_interface/css/admin-interface.css index 2566c98..e67c510 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface.css +++ b/admin_interface/templates/admin_interface/css/admin-interface.css @@ -282,6 +282,21 @@ color:{{ theme.css_generic_link_hover_color }}; } +/* list-filter sticky */ +{% if theme.list_filter_sticky %} +@media (min-width: 768px) { + .admin-interface .module.filtered #changelist-filter { + position: sticky; + top: 40px; + } + /* feature not available for django < 3.1.2 */ + .admin-interface .module.filtered #toolbar + #changelist-filter { + position: absolute; + top: 0px; + } +} +{% endif %} + .admin-interface .module.filtered #changelist-filter { {% if theme.css_module_rounded_corners %} border-bottom-left-radius: 4px; From a302c87724e4fc7451d52385bd6bfd17f424cfa4 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Thu, 15 Oct 2020 11:14:12 +0200 Subject: [PATCH 053/143] Updated CHANGELOG and version. --- CHANGELOG.md | 5 +++++ admin_interface/version.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 34f639a..a0312b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.14.0](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.14.0) - 2020-10-15 +- Added list filter sticky option (only for `django >= 3.1.2`). +- Enabled list filter dropdown by default. +- Fixed changelist searchbar style. + ## [0.13.7](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.13.7) - 2020-10-14 - Improved responsive widgets style. - Prevented body horizontal scroll. diff --git a/admin_interface/version.py b/admin_interface/version.py index cd250f3..2434287 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.13.7' +__version__ = '0.14.0' From 02cde8318101c6bad1659a13454253ab90d0e97d Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 21 Oct 2020 12:26:31 +0200 Subject: [PATCH 054/143] Fixed long description encoding. --- setup.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 568694e..a4068f6 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ from setuptools import find_packages, setup -import os +import os, sys exec(open('admin_interface/version.py').read()) @@ -15,7 +15,8 @@ long_description_file_path = os.path.join(package_path, 'README.md') long_description_content_type = 'text/markdown' long_description = '' try: - with open(long_description_file_path) as f: + long_description_file_options = {} if sys.version_info[0] < 3 else { 'encoding':'utf-8' } + with open(long_description_file_path, 'r', **long_description_file_options) as f: long_description = f.read() except IOError: pass From 11f7440273ddc9bb63ae2271d6314cdf939fdde5 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 21 Oct 2020 12:27:14 +0200 Subject: [PATCH 055/143] Improved tests coverage. --- tests/settings.py | 11 ++++++ tests/test_fixtures.py | 2 + tests/test_models.py | 2 + tests/test_settings.py | 2 + tests/test_templatetags.py | 61 ++++++++++++++++++++++++++++- tests/urls.py | 20 ++++++++++ tests/urls_without_i18n_patterns.py | 15 +++++++ 7 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 tests/urls.py create mode 100644 tests/urls_without_i18n_patterns.py diff --git a/tests/settings.py b/tests/settings.py index fd899aa..e4e6ad4 100644 --- a/tests/settings.py +++ b/tests/settings.py @@ -1,5 +1,7 @@ # -*- coding: utf-8 -*- +from __future__ import unicode_literals + import django import os @@ -91,6 +93,15 @@ DATABASES = { 'default': database_config.get(database_engine), } +USE_I18N = True +LANGUAGES = ( + ('en', 'English', ), + ('it', 'Italian', ), +) +LANGUAGE_CODE = 'en' + +ROOT_URLCONF = 'tests.urls' + MEDIA_ROOT = os.path.join(BASE_DIR, 'admin_interface/public/media/') MEDIA_URL = '/media/' diff --git a/tests/test_fixtures.py b/tests/test_fixtures.py index c357fee..5c6233c 100644 --- a/tests/test_fixtures.py +++ b/tests/test_fixtures.py @@ -1,5 +1,7 @@ # -*- coding: utf-8 -*- +from __future__ import unicode_literals + from django.core.management import call_command from django.test import TestCase diff --git a/tests/test_models.py b/tests/test_models.py index fd3a79f..35b7155 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -1,5 +1,7 @@ # -*- coding: utf-8 -*- +from __future__ import unicode_literals + from django.conf import settings from django.test import TestCase diff --git a/tests/test_settings.py b/tests/test_settings.py index 1396afc..3e92bd3 100644 --- a/tests/test_settings.py +++ b/tests/test_settings.py @@ -1,5 +1,7 @@ # -*- coding: utf-8 -*- +from __future__ import unicode_literals + import django from django.conf import settings from django.core.exceptions import ImproperlyConfigured diff --git a/tests/test_templatetags.py b/tests/test_templatetags.py index d54708a..f54aada 100644 --- a/tests/test_templatetags.py +++ b/tests/test_templatetags.py @@ -1,6 +1,8 @@ # -*- coding: utf-8 -*- -from django.test import TestCase +from __future__ import unicode_literals + +from django.test import override_settings, TestCase from django.test.client import RequestFactory from django.template import Context, Template @@ -20,6 +22,63 @@ class AdminInterfaceTemplateTagsTestCase(TestCase): def __render_template(self, string, context=None): return Template(string).render(Context(context or {})) + def test_get_admin_interface_languages(self): + context = Context({ + 'request': self.request_factory.get('/en/admin/'), + }) + languages = templatetags.get_admin_interface_languages(context) + expected_languages = [ + {'code': 'en', 'name': 'English', 'default': True, 'active': True, 'activation_url': '/i18n/setlang/?next=/en/admin/'}, + {'code': 'it', 'name': 'Italian', 'default': False, 'active': False, 'activation_url': '/i18n/setlang/?next=/it/admin/'} + ] + self.assertEqual(len(languages), len(expected_languages)) + self.assertEqual(languages[0], expected_languages[0]) + self.assertEqual(languages[1], expected_languages[1]) + + @override_settings( + USE_I18N = False, + ) + def test_get_admin_interface_languages_with_i18n_disabled(self): + context = Context({ + 'request': self.request_factory.get('/en/admin/'), + }) + languages = templatetags.get_admin_interface_languages(context) + self.assertEqual(languages, None) + + @override_settings( + ROOT_URLCONF = 'tests.urls_without_i18n_patterns', + ) + def test_get_admin_interface_languages_without_i18n_url_patterns(self): + context = Context({ + 'request': self.request_factory.get('/en/admin/'), + }) + languages = templatetags.get_admin_interface_languages(context) + self.assertEqual(languages, None) + + @override_settings( + LANGUAGES = ( + ('en', 'English'), + ), + ) + def test_get_admin_interface_languages_without_multiple_languages(self): + context = Context({ + 'request': self.request_factory.get('/en/admin/'), + }) + languages = templatetags.get_admin_interface_languages(context) + self.assertEqual(languages, None) + + def test_get_admin_interface_languages_without_request(self): + context = Context({}) + languages = templatetags.get_admin_interface_languages(context) + self.assertEqual(languages, None) + + def test_get_admin_interface_languages_without_language_prefix_in_url(self): + context = Context({ + 'request': self.request_factory.get('/admin/'), + }) + languages = templatetags.get_admin_interface_languages(context) + self.assertEqual(languages, None) + def test_get_theme(self): Theme.objects.all().delete() context = Context({}) diff --git a/tests/urls.py b/tests/urls.py new file mode 100644 index 0000000..f4c3ad8 --- /dev/null +++ b/tests/urls.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- + +from __future__ import unicode_literals + +import django +from django.contrib import admin +if django.VERSION < (2, 0): + from django.conf.urls import include, url as re_path +else: + from django.urls import include, re_path +from django.conf.urls.i18n import i18n_patterns + + +urlpatterns = [] +urlpatterns += [ + re_path(r'^i18n/', include('django.conf.urls.i18n')), +] +urlpatterns += i18n_patterns( + re_path(r'^admin/', admin.site.urls), +) diff --git a/tests/urls_without_i18n_patterns.py b/tests/urls_without_i18n_patterns.py new file mode 100644 index 0000000..2b10eac --- /dev/null +++ b/tests/urls_without_i18n_patterns.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- + +from __future__ import unicode_literals + +import django +from django.contrib import admin +if django.VERSION < (2, 0): + from django.conf.urls import url as re_path +else: + from django.urls import re_path + + +urlpatterns = [ + re_path(r'^admin/', admin.site.urls), +] From aec847070fb4276b2b6b2241ada318d6a344c766 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Thu, 12 Nov 2020 13:27:51 +0100 Subject: [PATCH 056/143] Fixed sticky list-filter floating. #100 --- .../templates/admin_interface/css/admin-interface.css | 1 + 1 file changed, 1 insertion(+) diff --git a/admin_interface/templates/admin_interface/css/admin-interface.css b/admin_interface/templates/admin_interface/css/admin-interface.css index e67c510..6738905 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface.css +++ b/admin_interface/templates/admin_interface/css/admin-interface.css @@ -288,6 +288,7 @@ .admin-interface .module.filtered #changelist-filter { position: sticky; top: 40px; + float: right; } /* feature not available for django < 3.1.2 */ .admin-interface .module.filtered #toolbar + #changelist-filter { From e364f9da1cfb7ed35491f85112e3a292fa073758 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Thu, 12 Nov 2020 13:28:06 +0100 Subject: [PATCH 057/143] Updated CHANGELOG and version. --- CHANGELOG.md | 3 +++ admin_interface/version.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a0312b0..8c5d227 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.14.1](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.14.1) - 2020-11-12 +- Fixed sticky list-filter floating. #100 + ## [0.14.0](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.14.0) - 2020-10-15 - Added list filter sticky option (only for `django >= 3.1.2`). - Enabled list filter dropdown by default. diff --git a/admin_interface/version.py b/admin_interface/version.py index 2434287..14d5adb 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.14.0' +__version__ = '0.14.1' From cceb0b17218fcc2cb5c45b33196359754a5298d4 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Fri, 27 Nov 2020 13:11:07 +0100 Subject: [PATCH 058/143] Updated README. [ci skip] --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index e4cc5c7..dcbddaa 100644 --- a/README.md +++ b/README.md @@ -148,3 +148,5 @@ Released under [MIT License](LICENSE.txt). - [`python-benedict`](https://github.com/fabiocaccamo/python-benedict) - dict subclass with keylist/keypath support, I/O shortcuts (base64, csv, json, pickle, plist, query-string, toml, xml, yaml) and many utilities. 📘 - [`python-codicefiscale`](https://github.com/fabiocaccamo/python-codicefiscale) - encode/decode Italian fiscal codes - codifica/decodifica del Codice Fiscale. 🇮🇹 đŸ’ŗ + +- [`python-fsutil`](https://github.com/fabiocaccamo/python-fsutil) - file-system utilities for lazy devs. đŸ§Ÿâ€â™‚ī¸ From d375b04941afc6c067704f56713a4a9ac5530ff6 Mon Sep 17 00:00:00 2001 From: anatolzak <53095479+anatolzak@users.noreply.github.com> Date: Tue, 15 Dec 2020 07:32:15 -0800 Subject: [PATCH 059/143] added transition to nav sidebar and toggle nav sidebar button (#104) * added transition to nav sidebar and toggle nav sidebar button * specified transition properties instead of using all * removed extra blank line Co-authored-by: Anatol Zakrividoroga --- .../templates/admin_interface/css/admin-interface-fix.css | 2 ++ 1 file changed, 2 insertions(+) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index af6f7d0..d896339 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -406,6 +406,7 @@ body.admin-interface .paginator a.showall:visited { -webkit-box-shadow: 4px 2px 8px -4px #DBDBDB; -moz-box-shadow: 4px 2px 8px -4px #DBDBDB; box-shadow: 4px 2px 8px -4px #DBDBDB; + transition: left .3s; } .admin-interface .toggle-nav-sidebar::before { @@ -436,6 +437,7 @@ body.admin-interface .paginator a.showall:visited { border-top: none; border-bottom: none; border-left: none; + transition: left .3s, margin-left .3s; } @media (min-width:1280px) { From aa36776490a1206f1a5d59e193f3c85e9966017a Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Mon, 4 Jan 2021 12:16:28 +0100 Subject: [PATCH 060/143] Fixed main content width when admin.site.enable_nav_sidebar is False. --- .../templates/admin_interface/css/admin-interface-fix.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index d896339..a75e7b2 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -451,8 +451,8 @@ body.admin-interface .paginator a.showall:visited { .admin-interface #main:not(.shifted) > .content { max-width: 100%; } - .admin-interface.change-list:not(.popup) #main.shifted > .content, - .admin-interface.change-form:not(.popup) #main.shifted > .content { + .admin-interface.change-list:not(.popup) #main.shifted > #nav-sidebar + .content, + .admin-interface.change-form:not(.popup) #main.shifted > #nav-sidebar + .content { max-width: calc(100% - 360px); } } From 3c77bad4ae6f6e5989f6856440ea53b49874a805 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Mon, 4 Jan 2021 12:24:24 +0100 Subject: [PATCH 061/143] Fixed tabular inline scroll bar. #101 --- .../templates/admin_interface/css/admin-interface-fix.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index a75e7b2..53f8a8c 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -311,7 +311,7 @@ body.admin-interface .paginator a.showall:visited { /* begin fix tabular inlines horizontal scroll */ .admin-interface .inline-related.tabular fieldset.module { - display: block; + display: contents; overflow-x: scroll; width: 100%; white-space: nowrap; From d94c6321aa3b8e025abd1ec6a29e0641f4aebe44 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Mon, 4 Jan 2021 12:24:43 +0100 Subject: [PATCH 062/143] Disabled sidebar transition. --- .../templates/admin_interface/css/admin-interface-fix.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index 53f8a8c..055f749 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -406,7 +406,7 @@ body.admin-interface .paginator a.showall:visited { -webkit-box-shadow: 4px 2px 8px -4px #DBDBDB; -moz-box-shadow: 4px 2px 8px -4px #DBDBDB; box-shadow: 4px 2px 8px -4px #DBDBDB; - transition: left .3s; + /*transition: left .3s;*/ } .admin-interface .toggle-nav-sidebar::before { @@ -437,7 +437,7 @@ body.admin-interface .paginator a.showall:visited { border-top: none; border-bottom: none; border-left: none; - transition: left .3s, margin-left .3s; + /*transition: left .3s, margin-left .3s;*/ } @media (min-width:1280px) { From f9817da53125f8d924691743ca33d68d516b88ca Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Mon, 4 Jan 2021 13:50:40 +0100 Subject: [PATCH 063/143] Fixed module header selected link color. --- .../admin_interface/css/admin-interface-fix.css | 16 ---------------- .../admin_interface/css/admin-interface.css | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index 055f749..9a8e290 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -122,12 +122,6 @@ padding: 0 1px; } -/* -#changelist table tbody tr.selected { - background-color:#FFFFCC; -} -*/ - .admin-interface #changelist .paginator { margin-top:-1px; /* merge 2 borders into 1 */ line-height:42px; @@ -457,16 +451,6 @@ body.admin-interface .paginator a.showall:visited { } } -.admin-interface #nav-sidebar .current-app .section:link, -.admin-interface #nav-sidebar .current-app .section:visited { - color: #FFFFCC; - font-weight: normal; -} - -.admin-interface #nav-sidebar .current-model { - background: #FFFFCC; -} - /* fixed related widget and select2 */ .admin-interface .aligned .form-row .related-widget-wrapper { white-space: nowrap; diff --git a/admin_interface/templates/admin_interface/css/admin-interface.css b/admin_interface/templates/admin_interface/css/admin-interface.css index 6738905..2ca7c31 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface.css +++ b/admin_interface/templates/admin_interface/css/admin-interface.css @@ -100,6 +100,20 @@ border-bottom-color:rgba(255, 255, 255, 0.5); } +.admin-interface #nav-sidebar .current-app .section:link, +.admin-interface #nav-sidebar .current-app .section:visited { + color: {{ theme.css_module_link_color }}; + font-weight: normal; +} + +.admin-interface #nav-sidebar .current-model { + background: #FFFFCC; +} + +.admin-interface #changelist table tbody tr.selected { + background-color: #FFFFCC; +} + .admin-interface .module h2, .admin-interface .module caption, .admin-interface .module.filtered h2 { From a18e35f4c3600b43bdca002a835044dfb0a173f8 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Mon, 4 Jan 2021 13:54:57 +0100 Subject: [PATCH 064/143] Updated LICENSE copyright year to present. --- LICENSE.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE.txt b/LICENSE.txt index 08c3cb0..82edf15 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2016 Fabio Caccamo - fabio.caccamo@gmail.com +Copyright (c) 2016 - present, Fabio Caccamo - fabio.caccamo@gmail.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From ed25f0fdde025cd64641db2e5c76d9cb052dbe29 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Mon, 4 Jan 2021 13:55:07 +0100 Subject: [PATCH 065/143] Updated version and CHANGELOG. --- CHANGELOG.md | 5 +++++ admin_interface/version.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c5d227..9ca736c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.14.2](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.14.2) - 2021-01-04 +- Fixed tabular inline scroll bar. #101 +- Fixed module header selected link color. #102 +- Fixed main content width when `admin.site.enable_nav_sidebar = False`. #105 + ## [0.14.1](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.14.1) - 2020-11-12 - Fixed sticky list-filter floating. #100 diff --git a/admin_interface/version.py b/admin_interface/version.py index 14d5adb..fd64425 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.14.1' +__version__ = '0.14.2' From 17bb35c559d4c74e5d9292e753609870a26aa74f Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Mon, 11 Jan 2021 15:34:42 +0100 Subject: [PATCH 066/143] Fixed app module section link hover color. --- .../templates/admin_interface/css/admin-interface.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/admin_interface/templates/admin_interface/css/admin-interface.css b/admin_interface/templates/admin_interface/css/admin-interface.css index 2ca7c31..909a121 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface.css +++ b/admin_interface/templates/admin_interface/css/admin-interface.css @@ -106,6 +106,11 @@ font-weight: normal; } +.admin-interface #nav-sidebar .current-app .section:focus, +.admin-interface #nav-sidebar .current-app .section:hover { + color: {{ theme.css_module_link_hover_color }}; +} + .admin-interface #nav-sidebar .current-model { background: #FFFFCC; } From 5c56f3a2dba2150dfa4a79a2145182631a0b063e Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Mon, 11 Jan 2021 15:34:58 +0100 Subject: [PATCH 067/143] Added theme css variables. --- .../admin_interface/css/admin-interface.css | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/admin_interface/templates/admin_interface/css/admin-interface.css b/admin_interface/templates/admin_interface/css/admin-interface.css index 909a121..8f3be34 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface.css +++ b/admin_interface/templates/admin_interface/css/admin-interface.css @@ -1,3 +1,27 @@ +:root { + --admin-interface-title-color: {{ theme.title_color }}; + --admin-interface-logo-color: {{ theme.logo_color }}; + --admin-interface-env-color: {{ theme.env_color }}; + --admin-interface-header-background-color: {{ theme.css_header_background_color }}; + --admin-interface-header-text-color: {{ theme.css_header_text_color }}; + --admin-interface-header-link-color: {{ theme.css_header_link_color }}; + --admin-interface-header-link_hover-color: {{ theme.css_header_link_hover_color }}; + --admin-interface-module-background-color: {{ theme.css_module_background_color }}; + --admin-interface-module-text-color: {{ theme.css_module_text_color }}; + --admin-interface-module-link-color: {{ theme.css_module_link_color }}; + --admin-interface-module-link-hover-color: {{ theme.css_module_link_hover_color }}; + --admin-interface-generic-link-color: {{ theme.css_generic_link_color }}; + --admin-interface-generic-link-hover-color: {{ theme.css_generic_link_hover_color }}; + --admin-interface-save-button-background-color: {{ theme.css_save_button_background_color }}; + --admin-interface-save-button-background-hover-color: {{ theme.css_save_button_background_hover_color }}; + --admin-interface-save-button-text-color: {{ theme.css_save_button_text_color }}; + --admin-interface-delete-button-background-color: {{ theme.css_delete_button_background_color }}; + --admin-interface-delete-button-background-hover-color: {{ theme.css_delete_button_background_hover_color }}; + --admin-interface-delete-button-text-color: {{ theme.css_delete_button_text_color }}; + --admin-interface-related-modal-background-color: {{ theme.related_modal_background_color }}; + --admin-interface-related-modal-background-opacity: {{ theme.related_modal_background_opacity }}; +} + .admin-interface #header { background: {{ theme.css_header_background_color }}; color: {{ theme.css_header_text_color }}; From fdbacba4bb3c3a0a05503ddfdff6823124aad9ea Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Fri, 29 Jan 2021 15:57:39 +0100 Subject: [PATCH 068/143] Added support to 4-digit language code in language chooser. #111 --- admin_interface/templatetags/admin_interface_tags.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin_interface/templatetags/admin_interface_tags.py b/admin_interface/templatetags/admin_interface_tags.py index 13e0c0f..0b77b9e 100644 --- a/admin_interface/templatetags/admin_interface_tags.py +++ b/admin_interface/templatetags/admin_interface_tags.py @@ -42,7 +42,7 @@ def get_admin_interface_languages(context): if not request: return None full_path = request.get_full_path() - admin_nolang_url = re.sub(r'^\/([\w]{2})([\-\_]{1}[\w]{2})?\/', '/', full_path) + admin_nolang_url = re.sub(r'^\/([\w]{2})([\-\_]{1}[\w]{2,4})?\/', '/', full_path) if admin_nolang_url == full_path: # ImproperlyConfigured - must include admin urls using i18n_patterns: # from django.conf.urls.i18n import i18n_patterns From d1cda34a5270a192a092d1bbf9cf7bd73f908ab3 Mon Sep 17 00:00:00 2001 From: Amir Ajorloo Date: Wed, 3 Feb 2021 12:56:07 +0330 Subject: [PATCH 069/143] Add sticky action button option. (#110) * Add sticky action button option. * Add sticky_pagination field. Handle top submit row. Update Admin section * Add sticky-pagination styles. Fix trailing whitespace issue in models. * Update sticky pagination max-width --- admin_interface/admin.py | 7 ++++ .../migrations/0019_auto_20210129_2029.py | 23 +++++++++++ admin_interface/models.py | 7 ++++ .../templates/admin/base_site.html | 3 +- .../css/admin-interface-fix.css | 40 +++++++++++++++++++ 5 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 admin_interface/migrations/0019_auto_20210129_2029.py diff --git a/admin_interface/admin.py b/admin_interface/admin.py index b2fd770..178601b 100644 --- a/admin_interface/admin.py +++ b/admin_interface/admin.py @@ -110,6 +110,13 @@ class ThemeAdmin(admin.ModelAdmin): 'related_modal_close_button_visible', ) }), + (_('Form Controls'), { + 'classes': ('wide', ), + 'fields': ( + 'form_submit_sticky', + 'form_pagination_sticky', + ) + }), (_('List Filter'), { 'classes': ('wide', ), 'fields': ( diff --git a/admin_interface/migrations/0019_auto_20210129_2029.py b/admin_interface/migrations/0019_auto_20210129_2029.py new file mode 100644 index 0000000..ecc4603 --- /dev/null +++ b/admin_interface/migrations/0019_auto_20210129_2029.py @@ -0,0 +1,23 @@ +# Generated by Django 3.1.5 on 2021-01-29 20:29 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('admin_interface', '0018_theme_list_filter_sticky'), + ] + + operations = [ + migrations.AddField( + model_name='theme', + name='form_pagination_sticky', + field=models.BooleanField(default=False, verbose_name='sticky pagination'), + ), + migrations.AddField( + model_name='theme', + name='form_submit_sticky', + field=models.BooleanField(default=False, verbose_name='sticky submit'), + ), + ] diff --git a/admin_interface/models.py b/admin_interface/models.py index c67aa02..c7104fe 100644 --- a/admin_interface/models.py +++ b/admin_interface/models.py @@ -299,6 +299,13 @@ class Theme(models.Model): default=True, verbose_name=_('visible')) + form_submit_sticky = models.BooleanField( + default=False, + verbose_name=_('sticky submit')) + form_pagination_sticky = models.BooleanField( + default=False, + verbose_name=_('sticky pagination')) + def set_active(self): self.active = True self.save() diff --git a/admin_interface/templates/admin/base_site.html b/admin_interface/templates/admin/base_site.html index 7035c7f..27f4cab 100644 --- a/admin_interface/templates/admin/base_site.html +++ b/admin_interface/templates/admin/base_site.html @@ -52,7 +52,8 @@ https://github.com/fabiocaccamo/django-admin-interface {% include "admin_interface/related-modal.html" %} {% endblock %} -{% block bodyclass %}admin-interface flat-theme {% get_admin_interface_theme as theme %}{% if theme.name %}{{ theme.name|slugify }}-theme{% endif %}{% endblock %} +{% block bodyclass %}admin-interface flat-theme {% get_admin_interface_theme as theme %}{% if theme.name %}{{ +theme.name|slugify }}-theme{% endif %}{% if theme.form_submit_sticky %} sticky-submit {% endif %}{% if theme.form_pagination_sticky %} sticky-pagination {% endif %}{% endblock %} {% block branding %} {% get_admin_interface_theme as theme %} diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index 9a8e290..45889b0 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -412,6 +412,25 @@ body.admin-interface .paginator a.showall:visited { max-width: 100%; } +.admin-interface.sticky-submit.change-form:not(.popup) #main > #nav-sidebar + .content, +.admin-interface.sticky-pagination.change-list:not(.popup) #main > #nav-sidebar + .content { + padding-bottom: 4rem; +} + +.admin-interface.sticky-submit.change-form:not(.popup) #main > #nav-sidebar + .content form fieldset + .submit-row, +.admin-interface.sticky-pagination.change-list:not(.popup) #main > #nav-sidebar + .content form .results + .paginator { + width: 100%; + max-width: calc(100% - 28px); + bottom: 0; + right: 0; + margin-bottom: 0; + position: fixed; +} + +.admin-interface.sticky-pagination.change-list:not(.popup) #main > #nav-sidebar + .content form .results + .paginator { + max-width: calc(100% - 20px); +} + /* hide nav-sidebar below 1280px to prevent horizontal overflow issues */ @media (max-width:1279px) { .admin-interface #nav-sidebar, @@ -449,6 +468,17 @@ body.admin-interface .paginator a.showall:visited { .admin-interface.change-form:not(.popup) #main.shifted > #nav-sidebar + .content { max-width: calc(100% - 360px); } + + .admin-interface.sticky-submit.change-form:not(.popup) #main.shifted > #nav-sidebar + .content form fieldset + .submit-row, + .admin-interface.sticky-pagination.change-list:not(.popup) #main.shifted > #nav-sidebar + .content form .results + .paginator { + max-width: calc(100% - 388px); + right: 0; + bottom: 0; + } + + .admin-interface.sticky-pagination.change-list:not(.popup) #main.shifted > #nav-sidebar + .content form .results + .paginator { + max-width: calc(100% - 380px); + } } /* fixed related widget and select2 */ @@ -537,4 +567,14 @@ body.admin-interface .paginator a.showall:visited { .admin-interface .aligned .form-row .file-upload input[type="file"] { margin-top: 5px; } + + .admin-interface.sticky-submit.change-form:not(.popup) #main > #nav-sidebar + .content, + .admin-interface.sticky-pagination.change-form:not(.popup) #main > #nav-sidebar + .content { + padding-bottom: 12rem; + } + + .admin-interface.sticky-submit.change-form:not(.popup) #main > #nav-sidebar + .content .submit-row, + .admin-interface.sticky-pagination.change-list:not(.popup) #main > #nav-sidebar + .content form .results + .paginator { + max-width: calc(100% - 20px); + } } \ No newline at end of file From 6189a7bbdbb91cb6d6dd27310e13fdff4ec383f4 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 3 Feb 2021 14:35:10 +0100 Subject: [PATCH 070/143] Renamed migration. --- .../{0019_auto_20210129_2029.py => 0019_add_form_sticky.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename admin_interface/migrations/{0019_auto_20210129_2029.py => 0019_add_form_sticky.py} (100%) diff --git a/admin_interface/migrations/0019_auto_20210129_2029.py b/admin_interface/migrations/0019_add_form_sticky.py similarity index 100% rename from admin_interface/migrations/0019_auto_20210129_2029.py rename to admin_interface/migrations/0019_add_form_sticky.py From 3f5a3f9ded3b1f48ecac53140fe560b3e15a0ccf Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 3 Feb 2021 14:35:25 +0100 Subject: [PATCH 071/143] Updated README. --- README.md | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index dcbddaa..c2e387b 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,7 @@ Run ``python manage.py loaddata admin_interface_theme_foundation.json`` Run ``python manage.py loaddata admin_interface_theme_uswds.json`` ### Add more themes -You can add a theme you've created through the admin to this repository by [sending us a PR](http://makeapullrequest.com/). Here are the steps to follow to add : +You can add a theme you've created through the admin to this repository by [sending us a PR](http://makeapullrequest.com/). Here are the steps to follow to add: 1. Export your exact theme as fixture using the `dumpdata` admin command: ``python manage.py dumpdata admin_interface.Theme --indent 4 -o admin_interface_theme_{{name}}.json --pks=N`` @@ -88,6 +88,32 @@ You can add a theme you've created through the admin to this repository by [send 4. Edit the section above to document your theme. +### Add theme support to third-party libraries +You can add **theme support to existing third-party libraries** using the following **css variables**: + +- `--admin-interface-title-color` +- `--admin-interface-logo-color` +- `--admin-interface-env-color` +- `--admin-interface-header-background-color:` +- `--admin-interface-header-text-color` +- `--admin-interface-header-link-color` +- `--admin-interface-header-link_hover-color` +- `--admin-interface-module-background-color` +- `--admin-interface-module-text-color` +- `--admin-interface-module-link-color` +- `--admin-interface-module-link-hover-color` +- `--admin-interface-generic-link-color` +- `--admin-interface-generic-link-hover-color` +- `--admin-interface-save-button-background-color` +- `--admin-interface-save-button-background-hover-color` +- `--admin-interface-save-button-text-color` +- `--admin-interface-delete-button-background-color` +- `--admin-interface-delete-button-background-hover-color` +- `--admin-interface-delete-button-text-color` +- `--admin-interface-related-modal-background-color` +- `--admin-interface-related-modal-background-opacity` + + ## Screenshots ###### Admin login ![django-admin-interface_login](https://cloud.githubusercontent.com/assets/1035294/11240233/55c8d4ba-8df1-11e5-9568-00fdc987ede8.gif) From 2baed252042a64c70f619dc59584f2a9dfc8ffdc Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 3 Feb 2021 14:35:45 +0100 Subject: [PATCH 072/143] Updated version and CHANGELOG. --- CHANGELOG.md | 6 ++++++ admin_interface/version.py | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ca736c..7c93000 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.15.0](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.15.0) - 2021-02-03 +- Added sticky form controls and pagination options. #110 +- Added support to 4-digit language code in language chooser. #111 +- Added theme css variables for third-party libraries. +- Fixed app module section link hover color. + ## [0.14.2](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.14.2) - 2021-01-04 - Fixed tabular inline scroll bar. #101 - Fixed module header selected link color. #102 diff --git a/admin_interface/version.py b/admin_interface/version.py index fd64425..f7f5ec6 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.14.2' +__version__ = '0.15.0' From b35a2987cc83f1110d5abb06c8fe4701f68f2caf Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 3 Feb 2021 17:15:01 +0100 Subject: [PATCH 073/143] Fixed and improved sticky form controls and pagination style. --- .../templates/admin/base_site.html | 1 + .../css/admin-interface-fix.css | 40 -------- .../admin_interface/css/form-controls.css | 96 +++++++++++++++++++ 3 files changed, 97 insertions(+), 40 deletions(-) create mode 100644 admin_interface/templates/admin_interface/css/form-controls.css diff --git a/admin_interface/templates/admin/base_site.html b/admin_interface/templates/admin/base_site.html index 27f4cab..309258a 100644 --- a/admin_interface/templates/admin/base_site.html +++ b/admin_interface/templates/admin/base_site.html @@ -17,6 +17,7 @@ https://github.com/fabiocaccamo/django-admin-interface */ {% include "admin_interface/css/admin-interface.css" %} {% include "admin_interface/css/admin-interface-fix.css" %} +{% include "admin_interface/css/form-controls.css" %} {% include "admin_interface/css/list-filter-dropdown.css" %} {% include "admin_interface/css/recent-actions.css" %} {% include "admin_interface/css/related-modal.css" %} diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index 45889b0..9a8e290 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -412,25 +412,6 @@ body.admin-interface .paginator a.showall:visited { max-width: 100%; } -.admin-interface.sticky-submit.change-form:not(.popup) #main > #nav-sidebar + .content, -.admin-interface.sticky-pagination.change-list:not(.popup) #main > #nav-sidebar + .content { - padding-bottom: 4rem; -} - -.admin-interface.sticky-submit.change-form:not(.popup) #main > #nav-sidebar + .content form fieldset + .submit-row, -.admin-interface.sticky-pagination.change-list:not(.popup) #main > #nav-sidebar + .content form .results + .paginator { - width: 100%; - max-width: calc(100% - 28px); - bottom: 0; - right: 0; - margin-bottom: 0; - position: fixed; -} - -.admin-interface.sticky-pagination.change-list:not(.popup) #main > #nav-sidebar + .content form .results + .paginator { - max-width: calc(100% - 20px); -} - /* hide nav-sidebar below 1280px to prevent horizontal overflow issues */ @media (max-width:1279px) { .admin-interface #nav-sidebar, @@ -468,17 +449,6 @@ body.admin-interface .paginator a.showall:visited { .admin-interface.change-form:not(.popup) #main.shifted > #nav-sidebar + .content { max-width: calc(100% - 360px); } - - .admin-interface.sticky-submit.change-form:not(.popup) #main.shifted > #nav-sidebar + .content form fieldset + .submit-row, - .admin-interface.sticky-pagination.change-list:not(.popup) #main.shifted > #nav-sidebar + .content form .results + .paginator { - max-width: calc(100% - 388px); - right: 0; - bottom: 0; - } - - .admin-interface.sticky-pagination.change-list:not(.popup) #main.shifted > #nav-sidebar + .content form .results + .paginator { - max-width: calc(100% - 380px); - } } /* fixed related widget and select2 */ @@ -567,14 +537,4 @@ body.admin-interface .paginator a.showall:visited { .admin-interface .aligned .form-row .file-upload input[type="file"] { margin-top: 5px; } - - .admin-interface.sticky-submit.change-form:not(.popup) #main > #nav-sidebar + .content, - .admin-interface.sticky-pagination.change-form:not(.popup) #main > #nav-sidebar + .content { - padding-bottom: 12rem; - } - - .admin-interface.sticky-submit.change-form:not(.popup) #main > #nav-sidebar + .content .submit-row, - .admin-interface.sticky-pagination.change-list:not(.popup) #main > #nav-sidebar + .content form .results + .paginator { - max-width: calc(100% - 20px); - } } \ No newline at end of file diff --git a/admin_interface/templates/admin_interface/css/form-controls.css b/admin_interface/templates/admin_interface/css/form-controls.css new file mode 100644 index 0000000..01c45c9 --- /dev/null +++ b/admin_interface/templates/admin_interface/css/form-controls.css @@ -0,0 +1,96 @@ +/* sticky changelist pagination */ + +.admin-interface.sticky-pagination.change-list #main > .content { + padding-bottom: 4.375rem; +} + +.admin-interface.sticky-pagination.change-list #main > .content .results + .paginator { + width: 100%; + position: fixed; + bottom: 0; + right: 0; + z-index: 1; + box-sizing: border-box; + padding-left: 15px; + padding-right: 15px; + white-space: nowrap; + text-overflow: ellipsis; + border-radius: 0; + border-top: 1px solid #EEEEEE; + border-bottom: none; + margin: 0; +} + +.admin-interface.sticky-pagination.change-list.popup #main > .content .results + .paginator { + padding-left: 20px; + padding-right: 20px; +} + +@media (min-width:768px) { + .admin-interface.sticky-pagination.change-list:not(.popup) #main > .content .results + .paginator { + padding-left: 30px; + padding-right: 30px; + } +} + +@media (min-width:1024px) { + .admin-interface.sticky-pagination.change-list:not(.popup) #main > .content .results + .paginator { + padding-left: 40px; + padding-right: 40px; + } +} + +@media (min-width:1280px) { + .admin-interface.sticky-pagination.change-list:not(.popup) #main.shifted > .content .results + .paginator { + width: calc(100% - 359px); + } +} + +/* sticky changeform submit */ + +@media (min-width:768px) { + .admin-interface.sticky-pagination.change-form #main > .content { + padding-bottom: 4.375rem; + } + + .admin-interface.sticky-pagination.change-form #main > .content .submit-row:last-of-type { + width: 100%; + position: fixed; + bottom: 0; + right: 0; + z-index: 1; + box-sizing: border-box; + padding-left: 15px; + padding-right: 15px; + white-space: nowrap; + text-overflow: ellipsis; + border-radius: 0; + border-top: 1px solid #EEEEEE; + border-bottom: none; + margin: 0; + } + + .admin-interface.sticky-pagination.change-form.popup #main > .content .submit-row:last-of-type { + padding-left: 20px; + padding-right: 20px; + } + + + .admin-interface.sticky-pagination.change-form:not(.popup) #main > .content .submit-row:last-of-type { + padding-left: 30px; + padding-right: 30px; + } +} + +@media (min-width:1024px) { + .admin-interface.sticky-pagination.change-form:not(.popup) #main > .content .submit-row:last-of-type { + padding-left: 40px; + padding-right: 40px; + } +} + +@media (min-width:1280px) { + .admin-interface.sticky-pagination.change-form:not(.popup) #main.shifted > .content .submit-row:last-of-type { + width: calc(100% - 359px); + } +} \ No newline at end of file From 87396a1b5e6f52b1a8f91c371f906234e81105ad Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 3 Feb 2021 17:15:13 +0100 Subject: [PATCH 074/143] Updated version and CHANGELOG. --- CHANGELOG.md | 3 +++ admin_interface/version.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c93000..1674515 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.15.1](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.15.1) - 2021-02-03 +- Fixed and improved sticky form controls and pagination style. + ## [0.15.0](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.15.0) - 2021-02-03 - Added sticky form controls and pagination options. #110 - Added support to 4-digit language code in language chooser. #111 diff --git a/admin_interface/version.py b/admin_interface/version.py index f7f5ec6..ca1368b 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.15.0' +__version__ = '0.15.1' From 5b606153def26abd277909a70d905bf8f2e18c4e Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 3 Feb 2021 21:22:06 +0100 Subject: [PATCH 075/143] Fixed body classes template rendering. --- admin_interface/templates/admin/base_site.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/admin_interface/templates/admin/base_site.html b/admin_interface/templates/admin/base_site.html index 309258a..7c7521d 100644 --- a/admin_interface/templates/admin/base_site.html +++ b/admin_interface/templates/admin/base_site.html @@ -53,8 +53,7 @@ https://github.com/fabiocaccamo/django-admin-interface {% include "admin_interface/related-modal.html" %} {% endblock %} -{% block bodyclass %}admin-interface flat-theme {% get_admin_interface_theme as theme %}{% if theme.name %}{{ -theme.name|slugify }}-theme{% endif %}{% if theme.form_submit_sticky %} sticky-submit {% endif %}{% if theme.form_pagination_sticky %} sticky-pagination {% endif %}{% endblock %} +{% block bodyclass %}admin-interface flat-theme {% get_admin_interface_theme as theme %}{% if theme.name %}{{ theme.name|slugify }}-theme{% endif %}{% if theme.form_submit_sticky %} sticky-submit {% endif %}{% if theme.form_pagination_sticky %} sticky-pagination {% endif %}{% endblock %} {% block branding %} {% get_admin_interface_theme as theme %} From f2a2a98ad9658cf35b5514f9d4e59d7df65d3270 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 3 Feb 2021 21:23:05 +0100 Subject: [PATCH 076/143] Improved sticky submit and pagination backward compatibility. --- .../admin_interface/css/form-controls.css | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/form-controls.css b/admin_interface/templates/admin_interface/css/form-controls.css index 01c45c9..98a3942 100644 --- a/admin_interface/templates/admin_interface/css/form-controls.css +++ b/admin_interface/templates/admin_interface/css/form-controls.css @@ -1,10 +1,10 @@ -/* sticky changelist pagination */ +/* sticky pagination */ -.admin-interface.sticky-pagination.change-list #main > .content { +.admin-interface.sticky-pagination.change-list #content-main { padding-bottom: 4.375rem; } -.admin-interface.sticky-pagination.change-list #main > .content .results + .paginator { +.admin-interface.sticky-pagination.change-list .paginator { width: 100%; position: fixed; bottom: 0; @@ -21,39 +21,39 @@ margin: 0; } -.admin-interface.sticky-pagination.change-list.popup #main > .content .results + .paginator { +.admin-interface.sticky-pagination.change-list.popup .paginator { padding-left: 20px; padding-right: 20px; } @media (min-width:768px) { - .admin-interface.sticky-pagination.change-list:not(.popup) #main > .content .results + .paginator { + .admin-interface.sticky-pagination.change-list:not(.popup) .paginator { padding-left: 30px; padding-right: 30px; } } @media (min-width:1024px) { - .admin-interface.sticky-pagination.change-list:not(.popup) #main > .content .results + .paginator { + .admin-interface.sticky-pagination.change-list:not(.popup) .paginator { padding-left: 40px; padding-right: 40px; } } @media (min-width:1280px) { - .admin-interface.sticky-pagination.change-list:not(.popup) #main.shifted > .content .results + .paginator { + .admin-interface.sticky-pagination.change-list:not(.popup) .shifted .paginator { width: calc(100% - 359px); } } -/* sticky changeform submit */ +/* sticky submit */ @media (min-width:768px) { - .admin-interface.sticky-pagination.change-form #main > .content { + .admin-interface.sticky-submit.change-form #content-main { padding-bottom: 4.375rem; } - .admin-interface.sticky-pagination.change-form #main > .content .submit-row:last-of-type { + .admin-interface.sticky-submit.change-form .submit-row:last-of-type { width: 100%; position: fixed; bottom: 0; @@ -70,27 +70,26 @@ margin: 0; } - .admin-interface.sticky-pagination.change-form.popup #main > .content .submit-row:last-of-type { + .admin-interface.sticky-submit.change-form.popup .submit-row:last-of-type { padding-left: 20px; padding-right: 20px; } - - .admin-interface.sticky-pagination.change-form:not(.popup) #main > .content .submit-row:last-of-type { + .admin-interface.sticky-submit.change-form:not(.popup) .submit-row:last-of-type { padding-left: 30px; padding-right: 30px; } } @media (min-width:1024px) { - .admin-interface.sticky-pagination.change-form:not(.popup) #main > .content .submit-row:last-of-type { + .admin-interface.sticky-submit.change-form:not(.popup) .submit-row:last-of-type { padding-left: 40px; padding-right: 40px; } } @media (min-width:1280px) { - .admin-interface.sticky-pagination.change-form:not(.popup) #main.shifted > .content .submit-row:last-of-type { + .admin-interface.sticky-submit.change-form:not(.popup) .shifted .submit-row:last-of-type { width: calc(100% - 359px); } } \ No newline at end of file From c315f366f3d07ec6c4b24675c9ff41f5d0657075 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 3 Feb 2021 21:24:27 +0100 Subject: [PATCH 077/143] Updated version and CHANGELOG. --- CHANGELOG.md | 4 ++++ admin_interface/version.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1674515..5accc47 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.15.2](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.15.2) - 2021-02-03 +- Fixed body classes template rendering. +- Improved sticky submit and pagination backward compatibility. + ## [0.15.1](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.15.1) - 2021-02-03 - Fixed and improved sticky form controls and pagination style. diff --git a/admin_interface/version.py b/admin_interface/version.py index ca1368b..3470e36 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.15.1' +__version__ = '0.15.2' From 7eb63711046e38d4ed65746c8eed6a18f5b7a884 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Mon, 8 Feb 2021 11:21:04 +0100 Subject: [PATCH 078/143] Fixed sticky submit and pagination width when admin.site.enable_nav_sidebar = False. #113 --- .../templates/admin_interface/css/form-controls.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/form-controls.css b/admin_interface/templates/admin_interface/css/form-controls.css index 98a3942..74a31b2 100644 --- a/admin_interface/templates/admin_interface/css/form-controls.css +++ b/admin_interface/templates/admin_interface/css/form-controls.css @@ -41,7 +41,7 @@ } @media (min-width:1280px) { - .admin-interface.sticky-pagination.change-list:not(.popup) .shifted .paginator { + .admin-interface.sticky-pagination.change-list:not(.popup) #main.shifted > #nav-sidebar + .content .paginator { width: calc(100% - 359px); } } @@ -89,7 +89,7 @@ } @media (min-width:1280px) { - .admin-interface.sticky-submit.change-form:not(.popup) .shifted .submit-row:last-of-type { + .admin-interface.sticky-submit.change-form:not(.popup) #main.shifted > #nav-sidebar + .content .submit-row:last-of-type { width: calc(100% - 359px); } } \ No newline at end of file From 947202f915895eee2c2817642823441b5f0b69b1 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Mon, 8 Feb 2021 11:21:37 +0100 Subject: [PATCH 079/143] Updated version and CHANGELOG. --- CHANGELOG.md | 3 +++ admin_interface/version.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5accc47..3d975f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.15.3](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.15.3) - 2021-02-08 +- Fixed sticky submit and pagination width when `admin.site.enable_nav_sidebar = False`. #113 + ## [0.15.2](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.15.2) - 2021-02-03 - Fixed body classes template rendering. - Improved sticky submit and pagination backward compatibility. diff --git a/admin_interface/version.py b/admin_interface/version.py index 3470e36..d275c84 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.15.2' +__version__ = '0.15.3' From 1b60af57e0ee58fffbf582f5c7403ea760f24c3e Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Mon, 1 Mar 2021 23:32:05 +0100 Subject: [PATCH 080/143] Fixed sticky submit and pagination z-index issue with sticky list_filter and django-json-widget. --- .../templates/admin_interface/css/form-controls.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/form-controls.css b/admin_interface/templates/admin_interface/css/form-controls.css index 74a31b2..21a7e9d 100644 --- a/admin_interface/templates/admin_interface/css/form-controls.css +++ b/admin_interface/templates/admin_interface/css/form-controls.css @@ -9,7 +9,7 @@ position: fixed; bottom: 0; right: 0; - z-index: 1; + z-index: 1100; box-sizing: border-box; padding-left: 15px; padding-right: 15px; @@ -58,7 +58,7 @@ position: fixed; bottom: 0; right: 0; - z-index: 1; + z-index: 1100; box-sizing: border-box; padding-left: 15px; padding-right: 15px; From f167bbf2c433e852e3f5536ec9d3182937a8a98a Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Mon, 1 Mar 2021 23:32:26 +0100 Subject: [PATCH 081/143] Updated README, CHANGELOG and version. --- CHANGELOG.md | 3 +++ README.md | 10 ++++++---- admin_interface/version.py | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d975f0..eaa21e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.15.4](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.15.4) - 2021-03-01 +- Fixed sticky submit and pagination `z-index` issue with sticky `list_filter` and `django-json-widget`. + ## [0.15.3](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.15.3) - 2021-02-08 - Fixed sticky submit and pagination width when `admin.site.enable_nav_sidebar = False`. #113 diff --git a/README.md b/README.md index c2e387b..171a0f0 100644 --- a/README.md +++ b/README.md @@ -22,10 +22,12 @@ django-admin-interface is a modern **responsive flat admin interface customizabl - Beautiful default **django-theme** - Themes management and customization *(you can **customize admin title, logo and colors**)* - Responsive -- List filter dropdown *(optional)* -- `NEW` **Related modal** *(instead of the old popup window, optional)* -- `NEW` **Environment name/marker** -- `NEW` **Language chooser** +- Related modal *(instead of the old popup window)* +- Environment name/marker +- Language chooser +- List filter dropdown +- `NEW` **List filter sticky** +- `NEW` **Form controls sticky** *(pagination and save/delete buttons)* - Compatibility / Style optimizations for: - `django-ckeditor` - `django-dynamic-raw-id` diff --git a/admin_interface/version.py b/admin_interface/version.py index d275c84..54fec9b 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.15.3' +__version__ = '0.15.4' From 43692889282b0e8d002f9c6f9326390c9c3219d5 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 2 Mar 2021 09:52:36 +0100 Subject: [PATCH 082/143] Fixed sticky submit and pagination z-index issue with related modal. --- .../templates/admin_interface/css/admin-interface.css | 4 +++- .../templates/admin_interface/css/form-controls.css | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface.css b/admin_interface/templates/admin_interface/css/admin-interface.css index 8f3be34..4c09442 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface.css +++ b/admin_interface/templates/admin_interface/css/admin-interface.css @@ -64,7 +64,7 @@ position: absolute; top: 15px; right: 15px; - z-index: 5; + z-index: 10; } @media (min-width:768px) { .admin-interface .language-chooser { @@ -332,11 +332,13 @@ position: sticky; top: 40px; float: right; + z-index: 30; } /* feature not available for django < 3.1.2 */ .admin-interface .module.filtered #toolbar + #changelist-filter { position: absolute; top: 0px; + z-index: 30; } } {% endif %} diff --git a/admin_interface/templates/admin_interface/css/form-controls.css b/admin_interface/templates/admin_interface/css/form-controls.css index 21a7e9d..a6d668e 100644 --- a/admin_interface/templates/admin_interface/css/form-controls.css +++ b/admin_interface/templates/admin_interface/css/form-controls.css @@ -9,7 +9,7 @@ position: fixed; bottom: 0; right: 0; - z-index: 1100; + z-index: 40; box-sizing: border-box; padding-left: 15px; padding-right: 15px; @@ -58,7 +58,7 @@ position: fixed; bottom: 0; right: 0; - z-index: 1100; + z-index: 40; box-sizing: border-box; padding-left: 15px; padding-right: 15px; From ca71642ecfa483498da311c4196fe75344e62325 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 2 Mar 2021 09:52:48 +0100 Subject: [PATCH 083/143] Updated CHANGELOG and version. --- CHANGELOG.md | 3 +++ admin_interface/version.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eaa21e5..2023de7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.15.5](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.15.5) - 2021-03-02 +- Fixed sticky submit and pagination `z-index` issue with related modal. + ## [0.15.4](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.15.4) - 2021-03-01 - Fixed sticky submit and pagination `z-index` issue with sticky `list_filter` and `django-json-widget`. diff --git a/admin_interface/version.py b/admin_interface/version.py index 54fec9b..5900cae 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.15.4' +__version__ = '0.15.5' From 5ed9fd75cc7389b6b173ecd99aff5c5aca23e9da Mon Sep 17 00:00:00 2001 From: Henri Chain Date: Fri, 26 Mar 2021 18:35:06 +0100 Subject: [PATCH 084/143] support show_change_link with related modal (#120) --- .../static/admin_interface/related-modal/related-modal.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/admin_interface/static/admin_interface/related-modal/related-modal.js b/admin_interface/static/admin_interface/related-modal/related-modal.js index e83044e..2f40e5e 100644 --- a/admin_interface/static/admin_interface/related-modal/related-modal.js +++ b/admin_interface/static/admin_interface/related-modal/related-modal.js @@ -145,7 +145,10 @@ if (typeof(django) !== 'undefined' && typeof(django.jQuery) !== 'undefined') // django-dynamic-raw-id support - #61 // https://github.com/lincolnloop/django-dynamic-raw-id presentRelatedObjectModalOnClickOn('a.dynamic_raw_id-related-lookup', true); + + // show_change_link=True support + presentRelatedObjectModalOnClickOn('a.inlinechangelink'); }); })(django.jQuery); -} \ No newline at end of file +} From 7d2d29a42c998559bf4c29db38d34f81d245ddd5 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Fri, 26 Mar 2021 19:14:22 +0100 Subject: [PATCH 085/143] Made globally available `presentRelatedObjectModal` and `presentRelatedObjectModalOnClickOn`. --- .../static/admin_interface/related-modal/related-modal.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/admin_interface/static/admin_interface/related-modal/related-modal.js b/admin_interface/static/admin_interface/related-modal/related-modal.js index 2f40e5e..1c2ec84 100644 --- a/admin_interface/static/admin_interface/related-modal/related-modal.js +++ b/admin_interface/static/admin_interface/related-modal/related-modal.js @@ -130,6 +130,10 @@ if (typeof(django) !== 'undefined' && typeof(django.jQuery) !== 'undefined') el.click(data, presentRelatedObjectModal); } + // assign functions to global variables + window.presentRelatedObjectModal = presentRelatedObjectModal; + window.presentRelatedObjectModalOnClickOn = presentRelatedObjectModalOnClickOn; + // django 1.7 compatibility // $('a.add-another').removeAttr('onclick').click({ lookup:false }, presentRelatedObjectModal); presentRelatedObjectModalOnClickOn('a.add-another'); From 455259f3ef0291148cfe42ad0411438484e86fe4 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Fri, 26 Mar 2021 19:14:39 +0100 Subject: [PATCH 086/143] Fixed inline changelink style. --- .../templates/admin_interface/css/admin-interface-fix.css | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index 9a8e290..2cc3b80 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -164,6 +164,12 @@ body.admin-interface .paginator a.showall:visited { margin-left: 5px; } +.admin-interface .inline-group .inlinechangelink { + background-size: contain; + padding-left: 15px; + margin-left: 10px; +} + .admin-interface .file-thumbnail > a { display: inline-block; } From e5318b688b6f212ebef0ce9b95575f919ef35c15 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Fri, 26 Mar 2021 19:17:05 +0100 Subject: [PATCH 087/143] Updated CHANGELOG and version. --- CHANGELOG.md | 5 +++++ admin_interface/version.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2023de7..e4a55fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.15.6](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.15.6) - 2021-03-26 +- Fixed `show_change_link` related modal support. #120 +- Fixed inline changelink style. +- Made globally available `presentRelatedObjectModal` and `presentRelatedObjectModalOnClickOn` js functions. + ## [0.15.5](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.15.5) - 2021-03-02 - Fixed sticky submit and pagination `z-index` issue with related modal. diff --git a/admin_interface/version.py b/admin_interface/version.py index 5900cae..c163f26 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.15.5' +__version__ = '0.15.6' From a8322872abc9b48612e55dcd31b91e1a48438d81 Mon Sep 17 00:00:00 2001 From: Henri Chain Date: Mon, 29 Mar 2021 09:49:07 +0200 Subject: [PATCH 088/143] Added customizable colors for selected apps and models in dashboard. #122 --- 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; } From 9b7c6ee3fed0570c669240e0597b8abc1e8073ab Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 30 Mar 2021 17:57:44 +0200 Subject: [PATCH 089/143] Added css variables for `css_module_background_selected_color` and `css_module_link_selected_color`. #122 --- README.md | 2 ++ .../templates/admin_interface/css/admin-interface.css | 2 ++ 2 files changed, 4 insertions(+) diff --git a/README.md b/README.md index 171a0f0..1a2d39f 100644 --- a/README.md +++ b/README.md @@ -101,8 +101,10 @@ You can add **theme support to existing third-party libraries** using the follow - `--admin-interface-header-link-color` - `--admin-interface-header-link_hover-color` - `--admin-interface-module-background-color` +- `--admin-interface-module-background-selected-color` - `--admin-interface-module-text-color` - `--admin-interface-module-link-color` +- `--admin-interface-module-link-selected-color` - `--admin-interface-module-link-hover-color` - `--admin-interface-generic-link-color` - `--admin-interface-generic-link-hover-color` diff --git a/admin_interface/templates/admin_interface/css/admin-interface.css b/admin_interface/templates/admin_interface/css/admin-interface.css index 5a158a9..93b106c 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface.css +++ b/admin_interface/templates/admin_interface/css/admin-interface.css @@ -7,8 +7,10 @@ --admin-interface-header-link-color: {{ theme.css_header_link_color }}; --admin-interface-header-link_hover-color: {{ theme.css_header_link_hover_color }}; --admin-interface-module-background-color: {{ theme.css_module_background_color }}; + --admin-interface-module-background-selected-color: {{ theme.css_module_background_selected_color }}; --admin-interface-module-text-color: {{ theme.css_module_text_color }}; --admin-interface-module-link-color: {{ theme.css_module_link_color }}; + --admin-interface-module-link-selected-color: {{ theme.css_module_link_selected_color }}; --admin-interface-module-link-hover-color: {{ theme.css_module_link_hover_color }}; --admin-interface-generic-link-color: {{ theme.css_generic_link_color }}; --admin-interface-generic-link-hover-color: {{ theme.css_generic_link_hover_color }}; From aed5afbfa7f37d9a2e46a78f43152c25270eadd6 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 30 Mar 2021 17:59:56 +0200 Subject: [PATCH 090/143] Updated `vazir-font` version to `27.2.2`. #98 --- admin_interface/templates/admin/base_site.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin_interface/templates/admin/base_site.html b/admin_interface/templates/admin/base_site.html index 7c7521d..7a3ac9f 100644 --- a/admin_interface/templates/admin/base_site.html +++ b/admin_interface/templates/admin/base_site.html @@ -37,7 +37,7 @@ https://github.com/fabiocaccamo/django-admin-interface {% if current_lang == 'fa' %} - + {% endif %} {% endblock %} From c2e3545f46e716b34c367a959e7fcf06962ccb79 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 30 Mar 2021 18:01:39 +0200 Subject: [PATCH 091/143] Added `responsive_rtl.css` stylesheet. #98 --- admin_interface/templates/admin/base_site.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/admin_interface/templates/admin/base_site.html b/admin_interface/templates/admin/base_site.html index 7a3ac9f..60f78d9 100644 --- a/admin_interface/templates/admin/base_site.html +++ b/admin_interface/templates/admin/base_site.html @@ -48,7 +48,8 @@ https://github.com/fabiocaccamo/django-admin-interface {% get_admin_interface_version as version %} {# https://github.com/elky/django-flat-responsive#important-note #} - + + {% include "admin_interface/favicon.html" %} {% include "admin_interface/related-modal.html" %} {% endblock %} From 14aa681e7d2420ba197d3a4b609adb56c4063e0b Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 30 Mar 2021 18:02:02 +0200 Subject: [PATCH 092/143] Removed unused funding options. --- .github/FUNDING.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index ec4e305..50ac1cd 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,6 +1,2 @@ github: [fabiocaccamo] -patreon: fabiocaccamo -ko_fi: fabiocaccamo -liberapay: fabiocaccamo -issuehunt: fabiocaccamo custom: ['https://www.paypal.me/fabiocaccamo'] From e9b0694c0b217c469c169f5358c4dc52e2ff3c95 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 30 Mar 2021 18:05:58 +0200 Subject: [PATCH 093/143] Added supporting section to README. --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index 1a2d39f..8260c92 100644 --- a/README.md +++ b/README.md @@ -163,6 +163,19 @@ Released under [MIT License](LICENSE.txt). --- +## Supporting + +I would like to spend more time on this project, especially to improve it and adding new features. + +As everyone knows open-source projects takes up a lot of time that is unpaid. :money_with_wings: + +If you are using this package in commercial project(s), please consider the idea to become a sponsor or donating once: + +- ![GitHub Sponsor](https://github.com/sponsors/fabiocaccamo) +- ![PayPal](https://www.paypal.me/fabiocaccamo) +- BTC: bc1q2t0pv8z3udpyuvfnx5kskhqdad4dcvtfuzmvjw +- ETH: 0x8B55Fb7798b5A9F797A4455C00821B6e53daca74 + ## See also - [`django-colorfield`](https://github.com/fabiocaccamo/django-colorfield) - simple color field for models with a nice color-picker in the admin. 🎨 From d2c8885afa82667dd2dcce2e79d6804a072b213e Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 30 Mar 2021 18:13:11 +0200 Subject: [PATCH 094/143] Updated CHANGELOG and version. --- CHANGELOG.md | 5 +++++ admin_interface/version.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e4a55fb..16bd51f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.16.0](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.16.0) - 2021-03-30 +- Added customizable colors for selected apps and models in dashboard. #122 +- Added `responsive_rtl.css` stylesheet. #98 +- Updated `vazir-font` version to `27.2.2`. #98 + ## [0.15.6](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.15.6) - 2021-03-26 - Fixed `show_change_link` related modal support. #120 - Fixed inline changelink style. diff --git a/admin_interface/version.py b/admin_interface/version.py index c163f26..fa66aaf 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.15.6' +__version__ = '0.16.0' From 36971ad66207c0b9dcff5b69d940b5e1884633a0 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 30 Mar 2021 18:17:29 +0200 Subject: [PATCH 095/143] Fixed README links. [ci skip] --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8260c92..4790e8c 100644 --- a/README.md +++ b/README.md @@ -171,8 +171,8 @@ As everyone knows open-source projects takes up a lot of time that is unpaid. :m If you are using this package in commercial project(s), please consider the idea to become a sponsor or donating once: -- ![GitHub Sponsor](https://github.com/sponsors/fabiocaccamo) -- ![PayPal](https://www.paypal.me/fabiocaccamo) +- [GitHub Sponsor](https://github.com/sponsors/fabiocaccamo) +- [PayPal](https://www.paypal.me/fabiocaccamo) - BTC: bc1q2t0pv8z3udpyuvfnx5kskhqdad4dcvtfuzmvjw - ETH: 0x8B55Fb7798b5A9F797A4455C00821B6e53daca74 From d338e5914e544260223618aea1590de94ad87e62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nat=C3=A1n?= Date: Wed, 7 Apr 2021 15:09:20 +0200 Subject: [PATCH 096/143] Added custom style for the "Delete" and "Save" buttons from the delete confirmation page. (#123) ![Confirmation page](https://i.imgur.com/h4hflxu.png) --- .../templates/admin_interface/css/admin-interface.css | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface.css b/admin_interface/templates/admin_interface/css/admin-interface.css index 93b106c..3b951a2 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface.css +++ b/admin_interface/templates/admin_interface/css/admin-interface.css @@ -274,19 +274,22 @@ .admin-interface .button.default:hover, .admin-interface input[type=submit].default:active, .admin-interface input[type=submit].default:focus, -.admin-interface input[type=submit].default:hover { +.admin-interface input[type=submit].default:hover, +.delete-confirmation form .cancel-link:hover { background:{{ theme.css_save_button_background_hover_color }}; color:{{ theme.css_save_button_text_color }}; outline: none; } .admin-interface .submit-row a.deletelink:link, -.admin-interface .submit-row a.deletelink:visited { +.admin-interface .submit-row a.deletelink:visited, +.delete-confirmation form input[type="submit"] { background:{{ theme.css_delete_button_background_color }}; color:{{ theme.css_delete_button_text_color }}; } -.admin-interface .submit-row a.deletelink:hover { +.admin-interface .submit-row a.deletelink:hover, +.delete-confirmation form input[type="submit"]:hover { background:{{ theme.css_delete_button_background_hover_color }}; color:{{ theme.css_delete_button_text_color }}; } From aec7ede184f03939b8476000d400f1050b367980 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 7 Apr 2021 15:13:23 +0200 Subject: [PATCH 097/143] Fixed delete confirmation styles selector prefix. --- .../templates/admin_interface/css/admin-interface.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface.css b/admin_interface/templates/admin_interface/css/admin-interface.css index 3b951a2..6803f52 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface.css +++ b/admin_interface/templates/admin_interface/css/admin-interface.css @@ -275,7 +275,7 @@ .admin-interface input[type=submit].default:active, .admin-interface input[type=submit].default:focus, .admin-interface input[type=submit].default:hover, -.delete-confirmation form .cancel-link:hover { +.admin-interface.delete-confirmation form .cancel-link:hover { background:{{ theme.css_save_button_background_hover_color }}; color:{{ theme.css_save_button_text_color }}; outline: none; @@ -283,13 +283,13 @@ .admin-interface .submit-row a.deletelink:link, .admin-interface .submit-row a.deletelink:visited, -.delete-confirmation form input[type="submit"] { +.admin-interface.delete-confirmation form input[type="submit"] { background:{{ theme.css_delete_button_background_color }}; color:{{ theme.css_delete_button_text_color }}; } .admin-interface .submit-row a.deletelink:hover, -.delete-confirmation form input[type="submit"]:hover { +.admin-interface.delete-confirmation form input[type="submit"]:hover { background:{{ theme.css_delete_button_background_hover_color }}; color:{{ theme.css_delete_button_text_color }}; } From c961de339191f6b12e8521fa1e9ddd22cd45744a Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 7 Apr 2021 15:14:36 +0200 Subject: [PATCH 098/143] Overridden dark-mode css variables introduced in django 3.2. #124 --- .../admin_interface/css/admin-interface.css | 46 ++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface.css b/admin_interface/templates/admin_interface/css/admin-interface.css index 6803f52..5088823 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface.css +++ b/admin_interface/templates/admin_interface/css/admin-interface.css @@ -1,4 +1,48 @@ -:root { +@media (prefers-color-scheme: dark) { + :root .admin-interface { + --primary: #79aec8; + --secondary: #417690; + --accent: #f5dd5d; + --primary-fg: #fff; + --body-fg: #333; + --body-bg: #fff; + --body-quiet-color: #666; + --body-loud-color: #000; + --header-color: #ffc; + --header-branding-color: var(--accent); + --header-bg: var(--secondary); + --header-link-color: var(--primary-fg); + --breadcrumbs-fg: #c4dce8; + --breadcrumbs-link-fg: var(--body-bg); + --breadcrumbs-bg: var(--primary); + --link-fg: #447e9b; + --link-hover-color: #036; + --link-selected-fg: #5b80b2; + --hairline-color: #e8e8e8; + --border-color: #ccc; + --error-fg: #ba2121; + --message-success-bg: #dfd; + --message-warning-bg: #ffc; + --message-error-bg: #ffefef; + --darkened-bg: #f8f8f8; + --selected-bg: #e4e4e4; + --selected-row: #ffc; + --button-fg: #fff; + --button-bg: var(--primary); + --button-hover-bg: #609ab6; + --default-button-bg: var(--secondary); + --default-button-hover-bg: #205067; + --close-button-bg: #888; + --close-button-hover-bg: #747474; + --delete-button-bg: #ba2121; + --delete-button-hover-bg: #a41515; + --object-tools-fg: var(--button-fg); + --object-tools-bg: var(--close-button-bg); + --object-tools-hover-bg: var(--close-button-hover-bg); + } +} + +:root .admin-interface { --admin-interface-title-color: {{ theme.title_color }}; --admin-interface-logo-color: {{ theme.logo_color }}; --admin-interface-env-color: {{ theme.env_color }}; From 0f9d502e4ffbabb5aa3fd4104f91bebf07e13c43 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 7 Apr 2021 15:16:36 +0200 Subject: [PATCH 099/143] Updated `CHANGELOG` and version. --- CHANGELOG.md | 4 ++++ admin_interface/version.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 16bd51f..f6d6fa4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.16.1](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.16.1) - 2021-04-07 +- Fixed style of "Delete" and "Save" buttons in the delete confirmation page. #123 +- Overridden dark-mode css variables introduced in `django 3.2`. #124 + ## [0.16.0](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.16.0) - 2021-03-30 - Added customizable colors for selected apps and models in dashboard. #122 - Added `responsive_rtl.css` stylesheet. #98 diff --git a/admin_interface/version.py b/admin_interface/version.py index fa66aaf..8ea7850 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.16.0' +__version__ = '0.16.1' From c337c21a03fced96ff0693fdf5e36ef40b22c403 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Mon, 12 Apr 2021 10:00:22 +0200 Subject: [PATCH 100/143] Added python 3.9 and django 3.2 to tox and travis. --- .travis.yml | 52 ++++++++++++++++++++++++++++++++++------------------ setup.py | 1 + tox.ini | 9 +++++---- 3 files changed, 40 insertions(+), 22 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8b6abcc..9091ee4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -76,6 +76,10 @@ jobs: env: TOX_ENV=py36-dj31-sqlite - python: "3.6" env: TOX_ENV=py36-dj31-postgres + - python: "3.6" + env: TOX_ENV=py36-dj32-sqlite + - python: "3.6" + env: TOX_ENV=py36-dj32-postgres - python: "3.6" env: TOX_ENV=py36-djmaster-sqlite - python: "3.6" @@ -100,6 +104,10 @@ jobs: env: TOX_ENV=py37-dj31-sqlite - python: "3.7" env: TOX_ENV=py37-dj31-postgres + - python: "3.7" + env: TOX_ENV=py37-dj32-sqlite + - python: "3.7" + env: TOX_ENV=py37-dj32-postgres - python: "3.7" env: TOX_ENV=py37-djmaster-sqlite - python: "3.7" @@ -116,26 +124,34 @@ jobs: env: TOX_ENV=py38-dj31-sqlite - python: "3.8" env: TOX_ENV=py38-dj31-postgres + - python: "3.8" + env: TOX_ENV=py38-dj32-sqlite + - python: "3.8" + env: TOX_ENV=py38-dj32-postgres - python: "3.8" env: TOX_ENV=py38-djmaster-sqlite - python: "3.8" env: TOX_ENV=py38-djmaster-postgres - # - python: "3.9" - # env: TOX_ENV=py39-dj22-sqlite - # - python: "3.9" - # env: TOX_ENV=py39-dj22-postgres - # - python: "3.9" - # env: TOX_ENV=py39-dj30-sqlite - # - python: "3.9" - # env: TOX_ENV=py39-dj30-postgres - # - python: "3.9" - # env: TOX_ENV=py39-dj31-sqlite - # - python: "3.9" - # env: TOX_ENV=py39-dj31-postgres - # - python: "3.9" - # env: TOX_ENV=py39-djmaster-sqlite - # - python: "3.9" - # env: TOX_ENV=py39-djmaster-postgres + - python: "3.9" + env: TOX_ENV=py39-dj22-sqlite + - python: "3.9" + env: TOX_ENV=py39-dj22-postgres + - python: "3.9" + env: TOX_ENV=py39-dj30-sqlite + - python: "3.9" + env: TOX_ENV=py39-dj30-postgres + - python: "3.9" + env: TOX_ENV=py39-dj31-sqlite + - python: "3.9" + env: TOX_ENV=py39-dj31-postgres + - python: "3.9" + env: TOX_ENV=py39-dj32-sqlite + - python: "3.9" + env: TOX_ENV=py39-dj32-postgres + - python: "3.9" + env: TOX_ENV=py39-djmaster-sqlite + - python: "3.9" + env: TOX_ENV=py39-djmaster-postgres allow_failures: - env: TOX_ENV=py36-djmaster-sqlite - env: TOX_ENV=py36-djmaster-postgres @@ -143,8 +159,8 @@ jobs: - env: TOX_ENV=py37-djmaster-postgres - env: TOX_ENV=py38-djmaster-sqlite - env: TOX_ENV=py38-djmaster-postgres - # - env: TOX_ENV=py39-djmaster-sqlite - # - env: TOX_ENV=py39-djmaster-postgres + - env: TOX_ENV=py39-djmaster-sqlite + - env: TOX_ENV=py39-djmaster-postgres install: - pip install tox services: diff --git a/setup.py b/setup.py index a4068f6..7d2f91d 100644 --- a/setup.py +++ b/setup.py @@ -55,6 +55,7 @@ setup( 'Framework :: Django :: 2.2', 'Framework :: Django :: 3.0', 'Framework :: Django :: 3.1', + 'Framework :: Django :: 3.2', 'Intended Audience :: Developers', 'License :: OSI Approved :: MIT License', 'Natural Language :: English', diff --git a/tox.ini b/tox.ini index 9c3663f..9bd4384 100644 --- a/tox.ini +++ b/tox.ini @@ -2,10 +2,10 @@ envlist = py27-{dj17,dj18,dj19,dj110,dj111}-{sqlite,postgres}, py35-{dj18,dj19,dj110,dj111,dj20,dj21,dj22}-{sqlite,postgres}, - py36-{dj18,dj19,dj110,dj111,dj20,dj21,dj22,dj30,dj31,djmaster}-{sqlite,postgres}, - py37-{dj20,dj21,dj22,dj30,dj31,djmaster}-{sqlite,postgres}, - py38-{dj22,dj30,dj31,djmaster}-{sqlite,postgres}, - py39-{dj22,dj30,dj31,djmaster}-{sqlite,postgres}, + py36-{dj18,dj19,dj110,dj111,dj20,dj21,dj22,dj30,dj31,dj32,djmaster}-{sqlite,postgres}, + py37-{dj20,dj21,dj22,dj30,dj31,dj32,djmaster}-{sqlite,postgres}, + py38-{dj22,dj30,dj31,dj32,djmaster}-{sqlite,postgres}, + py39-{dj22,dj30,dj31,dj32,djmaster}-{sqlite,postgres}, [testenv] passenv = CI TRAVIS TRAVIS_* deps = @@ -19,6 +19,7 @@ deps = dj22: Django == 2.2.* dj30: Django == 3.0.* dj31: Django == 3.1.* + dj32: Django == 3.2.* djmaster: https://github.com/django/django/archive/master.tar.gz # mysql: mysqlclient postgres: psycopg2-binary From 554d8d27b776cd421d76123ed537f5b8d369041b Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 14 Apr 2021 11:18:58 +0200 Subject: [PATCH 101/143] Fixed models.W042 warning on django 3.2. --- admin_interface/apps.py | 1 + 1 file changed, 1 insertion(+) diff --git a/admin_interface/apps.py b/admin_interface/apps.py index 4dffac4..359de8b 100644 --- a/admin_interface/apps.py +++ b/admin_interface/apps.py @@ -13,6 +13,7 @@ class AdminInterfaceConfig(AppConfig): name = 'admin_interface' verbose_name = _('Admin Interface') + default_auto_field = 'django.db.models.AutoField' def ready(self): From 41c6d5b7f1f8e7c188618f8dfdb3d2399a75208b Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 14 Apr 2021 11:31:38 +0200 Subject: [PATCH 102/143] Fixed header min-height. --- .../templates/admin_interface/css/admin-interface-fix.css | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index 2cc3b80..39c72d3 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -72,8 +72,9 @@ /* end login fix*/ .admin-interface #header { - height:auto; - min-height:40px; + height: auto; + min-height: 55px; + box-sizing: border-box; display: flex; justify-content: space-between; align-items: start; From f72aac8848c8ad12b096f27986dde18e02e8356f Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 14 Apr 2021 16:03:52 +0200 Subject: [PATCH 103/143] Fixed changelist submit button margin left (with html minified). --- .../templates/admin_interface/css/admin-interface-fix.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index 39c72d3..1097e41 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -123,6 +123,10 @@ padding: 0 1px; } +.admin-interface #changelist .actions .button { + margin-left: 8px; +} + .admin-interface #changelist .paginator { margin-top:-1px; /* merge 2 borders into 1 */ line-height:42px; From 59a8b4d2d716d6b4dfa33634951259b3c4d9d38f Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Fri, 16 Apr 2021 12:32:36 +0200 Subject: [PATCH 104/143] Removed invalid property. --- .../templates/admin_interface/css/admin-interface-fix.css | 1 - 1 file changed, 1 deletion(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index 1097e41..863cb25 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -189,7 +189,6 @@ body.admin-interface .paginator a.showall:visited { .admin-interface form .form-row p.file-upload .clearable-file-input { display:inline-block; - margin-left: } .admin-interface form .form-row p.file-upload .clearable-file-input label { From ba6807b7f3cb9a4826a984e0f4faeb799ec57d92 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Fri, 16 Apr 2021 12:33:21 +0200 Subject: [PATCH 105/143] Fixed changelist search and actions horizontal margins. --- .../css/admin-interface-fix.css | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index 863cb25..d98ff30 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -123,8 +123,11 @@ padding: 0 1px; } -.admin-interface #changelist .actions .button { - margin-left: 8px; +@media (min-width: 1024px) { + .admin-interface #changelist .actions .button, + .admin-interface #changelist .actions .action-counter { + margin-left: 8px; + } } .admin-interface #changelist .paginator { @@ -486,6 +489,18 @@ body.admin-interface .paginator a.showall:visited { padding: 2px 5px 3px 5px; } +@media (min-width: 1024px) { + .admin-interface #changelist #changelist-search #searchbar, + .admin-interface #changelist #changelist-search input[type="submit"], + .admin-interface #changelist #changelist-search .quiet { + margin-left: 8px; + } + .admin-interface #changelist #changelist-search label img { + vertical-align: text-top; + margin-right: 0px; + } +} + @media (max-width: 1024px) { .admin-interface #changelist #toolbar { border-top: 1px solid #eee; From 8e37cdd21850e7b4cfa6f64b01dfd438e4aa24d9 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 20 Apr 2021 15:04:30 +0200 Subject: [PATCH 106/143] Fixed related widget wrapper margin/padding in inlines. --- .../admin_interface/css/admin-interface-fix.css | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index d98ff30..20f27a5 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -465,17 +465,13 @@ body.admin-interface .paginator a.showall:visited { } /* fixed related widget and select2 */ -.admin-interface .aligned .form-row .related-widget-wrapper { +/* begin fix issue #10 - Related widget broken in long tabular inline */ +.admin-interface .related-widget-wrapper { white-space: nowrap; } - -.admin-interface .aligned .form-row .related-widget-wrapper .select2-container ~ .related-widget-wrapper-link { - margin-left: 0; - padding: 4px 8px 6px 8px; -} - -.admin-interface .aligned .form-row .related-widget-wrapper .select2-container + .related-widget-wrapper-link { - margin-left: 5px !important; +/* end fix */ +.admin-interface .related-widget-wrapper .select2-container + .related-widget-wrapper-link { + margin-left: 12px !important; } /* fixed time widget header border radius */ From 004cd5fbcb8c4fe32fc6165ec00c23e68de816be Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 20 Apr 2021 15:04:51 +0200 Subject: [PATCH 107/143] Improved tabular inlines horizontal scroll. --- .../admin_interface/css/admin-interface-fix.css | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index 20f27a5..67add64 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -310,16 +310,12 @@ body.admin-interface .paginator a.showall:visited { } /* end fix */ -/* begin fix issue #10 - Related widget broken in long tabular inline */ -.admin-interface .inline-group .tabular .related-widget-wrapper { - white-space:nowrap; -} -/* end fix */ - /* begin fix tabular inlines horizontal scroll */ +.admin-interface .inline-related.tabular { + overflow-x: scroll; +} .admin-interface .inline-related.tabular fieldset.module { display: contents; - overflow-x: scroll; width: 100%; white-space: nowrap; position: relative; From 7c04b35b44066aa498e4630bb26a0e58d6b0a5cc Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 20 Apr 2021 16:54:13 +0200 Subject: [PATCH 108/143] Fixed related widget wrapper margin/padding with normal select. --- .../templates/admin_interface/css/admin-interface-fix.css | 2 ++ 1 file changed, 2 insertions(+) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index 67add64..5529735 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -466,6 +466,8 @@ body.admin-interface .paginator a.showall:visited { white-space: nowrap; } /* end fix */ + +.admin-interface .related-widget-wrapper select + .related-widget-wrapper-link, .admin-interface .related-widget-wrapper .select2-container + .related-widget-wrapper-link { margin-left: 12px !important; } From 96d1568c1363af2389c1c4cc65af7f028786e67b Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Tue, 20 Apr 2021 16:54:29 +0200 Subject: [PATCH 109/143] Added min-width to selects. --- .../templates/admin_interface/css/admin-interface-fix.css | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index 5529735..b23153f 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -472,6 +472,12 @@ body.admin-interface .paginator a.showall:visited { margin-left: 12px !important; } +@media (min-width: 768px) { + .admin-interface.change-form select { + min-width: 200px; + } +} + /* fixed time widget header border radius */ .admin-interface .clockbox.module h2 { border-bottom-left-radius: 0; From 30af685edfd5d951ba63309571efced11129e7a5 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 21 Apr 2021 11:30:30 +0200 Subject: [PATCH 110/143] Improved selects min-width. --- .../admin_interface/css/admin-interface-fix.css | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index b23153f..d0db182 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -473,11 +473,21 @@ body.admin-interface .paginator a.showall:visited { } @media (min-width: 768px) { + .admin-interface.change-form select { + min-width: 150px; + } +} + +@media (min-width: 1024px) { .admin-interface.change-form select { min-width: 200px; } } +.admin-interface.change-form .inline-related.tabular select { + min-width: auto !important; +} + /* fixed time widget header border radius */ .admin-interface .clockbox.module h2 { border-bottom-left-radius: 0; From 66966501f86e93e8c205aa4acccdafe366a88039 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Fri, 23 Apr 2021 14:53:02 +0200 Subject: [PATCH 111/143] Added `FileExtensionValidator` to logo and favicon fields. #112 --- admin_interface/models.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/admin_interface/models.py b/admin_interface/models.py index 9bcb28a..2288c95 100644 --- a/admin_interface/models.py +++ b/admin_interface/models.py @@ -7,6 +7,11 @@ from admin_interface.cache import del_cached_active_theme from colorfield.fields import ColorField import django +if django.VERSION >= (1, 11): + from django.core.validators import FileExtensionValidator +else: + FileExtensionValidator = lambda allowed_extensions: None + from django.db import models from django.db.models.signals import post_delete, post_save, pre_save if django.VERSION < (2, 0): @@ -99,6 +104,8 @@ class Theme(models.Model): logo = models.FileField( upload_to='admin-interface/logo/', blank=True, + validators=[FileExtensionValidator( + allowed_extensions=['gif', 'jpg', 'jpeg', 'png', 'svg'])], help_text=_('Leave blank to use the default Django logo'), verbose_name=_('logo')) logo_color = ColorField( @@ -114,6 +121,8 @@ class Theme(models.Model): favicon = models.FileField( upload_to='admin-interface/favicon/', blank=True, + validators=[FileExtensionValidator( + allowed_extensions=['gif', 'ico', 'jpg', 'jpeg', 'png', 'svg'])], help_text=_('(.ico|.png|.gif - 16x16|32x32 px)'), verbose_name=_('favicon')) From 5c85dc9cd4852c6d06e865ba14d59ef665723c08 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Fri, 23 Apr 2021 15:00:26 +0200 Subject: [PATCH 112/143] Updated version and CHANGELOG. --- CHANGELOG.md | 10 ++++++++++ admin_interface/version.py | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f6d6fa4..c77f78a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,16 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.16.2](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.16.2) - 2021-04-23 +- Added `python 3.9` and `django 3.2` to CI. +- Added `FileExtensionValidator` to `logo` and `favicon` fields. #112 +- Fixed `models.W042` warning on `django 3.2`. +- Fixed header `min-height`. +- Fixed selects `min-width`. +- Fixed changelist search, actions and submit button horizontal margins. +- Fixed related widget wrapper margin/padding with normal select and in inlines. +- Fixed tabular inlines horizontal scroll. + ## [0.16.1](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.16.1) - 2021-04-07 - Fixed style of "Delete" and "Save" buttons in the delete confirmation page. #123 - Overridden dark-mode css variables introduced in `django 3.2`. #124 diff --git a/admin_interface/version.py b/admin_interface/version.py index 8ea7850..4274d55 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.16.1' +__version__ = '0.16.2' From 74732ec9a91e2214a33190a52344896c2ce511d8 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Mon, 26 Apr 2021 10:14:36 +0200 Subject: [PATCH 113/143] Added compat module. --- admin_interface/admin.py | 6 +----- admin_interface/apps.py | 7 ++----- admin_interface/compat.py | 15 +++++++++++++++ admin_interface/models.py | 13 +------------ 4 files changed, 19 insertions(+), 22 deletions(-) create mode 100644 admin_interface/compat.py diff --git a/admin_interface/admin.py b/admin_interface/admin.py index 085e91a..73f1472 100644 --- a/admin_interface/admin.py +++ b/admin_interface/admin.py @@ -1,13 +1,9 @@ # -*- coding: utf-8 -*- +from admin_interface.compat import gettext_lazy as _ from admin_interface.models import Theme -import django from django.contrib import admin -if django.VERSION < (2, 0): - from django.utils.translation import ugettext_lazy as _ -else: - from django.utils.translation import gettext_lazy as _ class ThemeAdmin(admin.ModelAdmin): diff --git a/admin_interface/apps.py b/admin_interface/apps.py index 359de8b..d15cb76 100644 --- a/admin_interface/apps.py +++ b/admin_interface/apps.py @@ -1,12 +1,9 @@ # -*- coding: utf-8 -*- -import django +from admin_interface.compat import gettext_lazy as _ + from django.apps import AppConfig from django.db.models.signals import post_migrate -if django.VERSION < (2, 0): - from django.utils.translation import ugettext_lazy as _ -else: - from django.utils.translation import gettext_lazy as _ class AdminInterfaceConfig(AppConfig): diff --git a/admin_interface/compat.py b/admin_interface/compat.py new file mode 100644 index 0000000..bfb0680 --- /dev/null +++ b/admin_interface/compat.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- + +import django + +if django.VERSION < (2, 0): + from django.utils.encoding import force_text as force_str + from django.utils.translation import ugettext_lazy as gettext_lazy +else: + from django.utils.encoding import force_str + from django.utils.translation import gettext_lazy + +if django.VERSION >= (1, 11): + from django.core.validators import FileExtensionValidator +else: + FileExtensionValidator = lambda allowed_extensions: None diff --git a/admin_interface/models.py b/admin_interface/models.py index 2288c95..c2358c6 100644 --- a/admin_interface/models.py +++ b/admin_interface/models.py @@ -3,23 +3,12 @@ from __future__ import unicode_literals from admin_interface.cache import del_cached_active_theme +from admin_interface.compat import FileExtensionValidator, force_str, gettext_lazy as _ from colorfield.fields import ColorField -import django -if django.VERSION >= (1, 11): - from django.core.validators import FileExtensionValidator -else: - FileExtensionValidator = lambda allowed_extensions: None - from django.db import models from django.db.models.signals import post_delete, post_save, pre_save -if django.VERSION < (2, 0): - from django.utils.encoding import force_text as force_str - from django.utils.translation import ugettext_lazy as _ -else: - from django.utils.encoding import force_str - from django.utils.translation import gettext_lazy as _ from six import python_2_unicode_compatible From 5b976adb1d1a99d821db98ea7c95545b988dcec6 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Mon, 26 Apr 2021 10:15:24 +0200 Subject: [PATCH 114/143] Added missing `0021_file_extension_validator` migration. #126 --- .../0021_file_extension_validator.py | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 admin_interface/migrations/0021_file_extension_validator.py diff --git a/admin_interface/migrations/0021_file_extension_validator.py b/admin_interface/migrations/0021_file_extension_validator.py new file mode 100644 index 0000000..74a14e2 --- /dev/null +++ b/admin_interface/migrations/0021_file_extension_validator.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- + +from __future__ import unicode_literals + +from admin_interface.compat import FileExtensionValidator + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('admin_interface', '0020_module_selected_colors'), + ] + + operations = [ + migrations.AlterField( + model_name='theme', + name='favicon', + field=models.FileField( + blank=True, + help_text='(.ico|.png|.gif - 16x16|32x32 px)', + upload_to='admin-interface/favicon/', + validators=[ + FileExtensionValidator(allowed_extensions=[ + 'gif', 'ico', 'jpg', 'jpeg', 'png', 'svg' + ]) + ], + verbose_name='favicon'), + ), + migrations.AlterField( + model_name='theme', + name='logo', + field=models.FileField( + blank=True, + help_text='Leave blank to use the default Django logo', + upload_to='admin-interface/logo/', + validators=[ + FileExtensionValidator(allowed_extensions=[ + 'gif', 'jpg', 'jpeg', 'png', 'svg' + ]) + ], + verbose_name='logo'), + ), + ] From 044ad518e00975e0a0482e4f0b208886eec2e58b Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Mon, 26 Apr 2021 10:16:03 +0200 Subject: [PATCH 115/143] Formatted migrations. --- .../migrations/0009_add_enviroment.py | 14 ++++++-- .../migrations/0010_add_localization.py | 36 +++++++++++++++---- .../migrations/0012_update_verbose_names.py | 14 ++++++-- .../0013_add_related_modal_close_button.py | 4 ++- .../migrations/0014_name_unique.py | 6 +++- .../0015_add_language_chooser_active.py | 4 ++- .../0016_add_language_chooser_display.py | 9 ++++- .../0017_change_list_filter_dropdown.py | 4 ++- .../0018_theme_list_filter_sticky.py | 4 ++- .../migrations/0019_add_form_sticky.py | 12 +++++-- .../migrations/0020_module_selected_colors.py | 26 +++++++++++--- 11 files changed, 110 insertions(+), 23 deletions(-) diff --git a/admin_interface/migrations/0009_add_enviroment.py b/admin_interface/migrations/0009_add_enviroment.py index 86f0ac4..f5d35a5 100644 --- a/admin_interface/migrations/0009_add_enviroment.py +++ b/admin_interface/migrations/0009_add_enviroment.py @@ -15,11 +15,21 @@ class Migration(migrations.Migration): migrations.AddField( model_name='theme', name='env', - field=models.CharField(choices=[('development', 'Development'), ('testing', 'Testing'), ('staging', 'Staging'), ('production', 'Production')], default='development', max_length=50, verbose_name='enviroment'), + field=models.CharField( + choices=[ + ('development', 'Development'), + ('testing', 'Testing'), + ('staging', 'Staging'), + ('production', 'Production')], + default='development', + max_length=50, + verbose_name='enviroment'), ), migrations.AddField( model_name='theme', name='env_visible', - field=models.BooleanField(default=True, verbose_name='visible'), + field=models.BooleanField( + default=True, + verbose_name='visible'), ), ] diff --git a/admin_interface/migrations/0010_add_localization.py b/admin_interface/migrations/0010_add_localization.py index 6ec486d..12e3212 100644 --- a/admin_interface/migrations/0010_add_localization.py +++ b/admin_interface/migrations/0010_add_localization.py @@ -15,31 +15,55 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='theme', name='active', - field=models.BooleanField(default=True, verbose_name='active'), + field=models.BooleanField( + default=True, + verbose_name='active'), ), migrations.AlterField( model_name='theme', name='css', - field=models.TextField(blank=True, verbose_name='text color'), + field=models.TextField( + blank=True, + verbose_name='text color'), ), migrations.AlterField( model_name='theme', name='env', - field=models.CharField(choices=[('development', 'Development'), ('testing', 'Testing'), ('staging', 'Staging'), ('production', 'Production')], default='development', max_length=50, verbose_name='environment'), + field=models.CharField( + choices=[ + ('development', 'Development'), + ('testing', 'Testing'), + ('staging', 'Staging'), + ('production', 'Production') + ], + default='development', + max_length=50, + verbose_name='environment'), ), migrations.AlterField( model_name='theme', name='logo', - field=models.FileField(blank=True, help_text='Leave blank to use the default Django logo', upload_to='admin-interface/logo/', verbose_name='logo'), + field=models.FileField( + blank=True, + help_text='Leave blank to use the default Django logo', + upload_to='admin-interface/logo/', + verbose_name='logo'), ), migrations.AlterField( model_name='theme', name='name', - field=models.CharField(default='Django', max_length=50, verbose_name='name'), + field=models.CharField( + default='Django', + max_length=50, + verbose_name='name'), ), migrations.AlterField( model_name='theme', name='title', - field=models.CharField(blank=True, default='Django administration', max_length=50, verbose_name='title'), + field=models.CharField( + blank=True, + default='Django administration', + max_length=50, + verbose_name='title'), ), ] diff --git a/admin_interface/migrations/0012_update_verbose_names.py b/admin_interface/migrations/0012_update_verbose_names.py index 1ceb038..4d1a7b9 100644 --- a/admin_interface/migrations/0012_update_verbose_names.py +++ b/admin_interface/migrations/0012_update_verbose_names.py @@ -17,11 +17,21 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='theme', name='logo_color', - field=colorfield.fields.ColorField(blank=True, default='#FFFFFF', help_text='#FFFFFF', max_length=10, verbose_name='color'), + field=colorfield.fields.ColorField( + blank=True, + default='#FFFFFF', + help_text='#FFFFFF', + max_length=10, + verbose_name='color'), ), migrations.AlterField( model_name='theme', name='title_color', - field=colorfield.fields.ColorField(blank=True, default='#F5DD5D', help_text='#F5DD5D', max_length=10, verbose_name='color'), + field=colorfield.fields.ColorField( + blank=True, + default='#F5DD5D', + help_text='#F5DD5D', + max_length=10, + verbose_name='color'), ), ] diff --git a/admin_interface/migrations/0013_add_related_modal_close_button.py b/admin_interface/migrations/0013_add_related_modal_close_button.py index 67cce8b..f8b1b0a 100644 --- a/admin_interface/migrations/0013_add_related_modal_close_button.py +++ b/admin_interface/migrations/0013_add_related_modal_close_button.py @@ -15,6 +15,8 @@ class Migration(migrations.Migration): migrations.AddField( model_name='theme', name='related_modal_close_button_visible', - field=models.BooleanField(default=True, verbose_name='close button visible'), + field=models.BooleanField( + default=True, + verbose_name='close button visible'), ), ] diff --git a/admin_interface/migrations/0014_name_unique.py b/admin_interface/migrations/0014_name_unique.py index 850d5a5..213c2fb 100644 --- a/admin_interface/migrations/0014_name_unique.py +++ b/admin_interface/migrations/0014_name_unique.py @@ -15,6 +15,10 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='theme', name='name', - field=models.CharField(default='Django', max_length=50, unique=True, verbose_name='name'), + field=models.CharField( + default='Django', + max_length=50, + unique=True, + verbose_name='name'), ), ] diff --git a/admin_interface/migrations/0015_add_language_chooser_active.py b/admin_interface/migrations/0015_add_language_chooser_active.py index fba1e04..23546a2 100644 --- a/admin_interface/migrations/0015_add_language_chooser_active.py +++ b/admin_interface/migrations/0015_add_language_chooser_active.py @@ -15,6 +15,8 @@ class Migration(migrations.Migration): migrations.AddField( model_name='theme', name='language_chooser_active', - field=models.BooleanField(default=True, verbose_name='active'), + field=models.BooleanField( + default=True, + verbose_name='active'), ), ] diff --git a/admin_interface/migrations/0016_add_language_chooser_display.py b/admin_interface/migrations/0016_add_language_chooser_display.py index 0f1a2f4..d950108 100644 --- a/admin_interface/migrations/0016_add_language_chooser_display.py +++ b/admin_interface/migrations/0016_add_language_chooser_display.py @@ -15,6 +15,13 @@ class Migration(migrations.Migration): migrations.AddField( model_name='theme', name='language_chooser_display', - field=models.CharField(choices=[('code', 'code'), ('name', 'name')], default='code', max_length=10, verbose_name='display'), + field=models.CharField( + choices=[ + ('code', 'code'), + ('name', 'name') + ], + default='code', + max_length=10, + verbose_name='display'), ), ] diff --git a/admin_interface/migrations/0017_change_list_filter_dropdown.py b/admin_interface/migrations/0017_change_list_filter_dropdown.py index 61c81a7..82556d5 100644 --- a/admin_interface/migrations/0017_change_list_filter_dropdown.py +++ b/admin_interface/migrations/0017_change_list_filter_dropdown.py @@ -15,6 +15,8 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='theme', name='list_filter_dropdown', - field=models.BooleanField(default=True, verbose_name='use dropdown'), + field=models.BooleanField( + default=True, + verbose_name='use dropdown'), ), ] diff --git a/admin_interface/migrations/0018_theme_list_filter_sticky.py b/admin_interface/migrations/0018_theme_list_filter_sticky.py index e308c43..7f3c0bb 100644 --- a/admin_interface/migrations/0018_theme_list_filter_sticky.py +++ b/admin_interface/migrations/0018_theme_list_filter_sticky.py @@ -15,6 +15,8 @@ class Migration(migrations.Migration): migrations.AddField( model_name='theme', name='list_filter_sticky', - field=models.BooleanField(default=True, verbose_name='sticky position'), + field=models.BooleanField( + default=True, + verbose_name='sticky position'), ), ] diff --git a/admin_interface/migrations/0019_add_form_sticky.py b/admin_interface/migrations/0019_add_form_sticky.py index ecc4603..1453a44 100644 --- a/admin_interface/migrations/0019_add_form_sticky.py +++ b/admin_interface/migrations/0019_add_form_sticky.py @@ -1,4 +1,6 @@ -# Generated by Django 3.1.5 on 2021-01-29 20:29 +# -*- coding: utf-8 -*- + +from __future__ import unicode_literals from django.db import migrations, models @@ -13,11 +15,15 @@ class Migration(migrations.Migration): migrations.AddField( model_name='theme', name='form_pagination_sticky', - field=models.BooleanField(default=False, verbose_name='sticky pagination'), + field=models.BooleanField( + default=False, + verbose_name='sticky pagination'), ), migrations.AddField( model_name='theme', name='form_submit_sticky', - field=models.BooleanField(default=False, verbose_name='sticky submit'), + field=models.BooleanField( + default=False, + verbose_name='sticky submit'), ), ] diff --git a/admin_interface/migrations/0020_module_selected_colors.py b/admin_interface/migrations/0020_module_selected_colors.py index 988fb5a..460b307 100644 --- a/admin_interface/migrations/0020_module_selected_colors.py +++ b/admin_interface/migrations/0020_module_selected_colors.py @@ -1,10 +1,18 @@ -import colorfield.fields +# -*- coding: utf-8 -*- + +from __future__ import unicode_literals + from django.db import migrations from django.db.models import F +import colorfield.fields + + 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')) + Theme.objects.update( + css_module_link_selected_color=F('css_module_link_color')) + class Migration(migrations.Migration): @@ -16,12 +24,22 @@ class Migration(migrations.Migration): 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'), + 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'), + field=colorfield.fields.ColorField( + blank=True, + default='#FFFFFF', + help_text='#FFFFFF', + max_length=10, + verbose_name='link selected color'), ), migrations.RunPython(default_link_selected), ] From 43517511933aa5e30997789932a7c5e0b8536023 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Mon, 26 Apr 2021 10:18:58 +0200 Subject: [PATCH 116/143] Updated CHANGELOG and version. --- CHANGELOG.md | 5 +++++ admin_interface/version.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c77f78a..021b4ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.16.3](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.16.3) - 2021-04-26 +- Added `compat` module. +- Added missing `0021_file_extension_validator` migration. #126 +- Formatted migrations. + ## [0.16.2](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.16.2) - 2021-04-23 - Added `python 3.9` and `django 3.2` to CI. - Added `FileExtensionValidator` to `logo` and `favicon` fields. #112 diff --git a/admin_interface/version.py b/admin_interface/version.py index 4274d55..4e425fd 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.16.2' +__version__ = '0.16.3' From f76a41ff14516cb38271439aac764b8b8ed7d2c7 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Mon, 26 Apr 2021 11:51:06 +0200 Subject: [PATCH 117/143] Fixed sticky pagination `width` and `border-bottom`. --- .../templates/admin_interface/css/form-controls.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/form-controls.css b/admin_interface/templates/admin_interface/css/form-controls.css index a6d668e..500b52a 100644 --- a/admin_interface/templates/admin_interface/css/form-controls.css +++ b/admin_interface/templates/admin_interface/css/form-controls.css @@ -42,7 +42,7 @@ @media (min-width:1280px) { .admin-interface.sticky-pagination.change-list:not(.popup) #main.shifted > #nav-sidebar + .content .paginator { - width: calc(100% - 359px); + width: calc(100% - 360px); } } @@ -66,7 +66,7 @@ text-overflow: ellipsis; border-radius: 0; border-top: 1px solid #EEEEEE; - border-bottom: none; + border-bottom: none !important; margin: 0; } From bb73fafeff87f048106b50233c051c28f961161b Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Mon, 26 Apr 2021 15:29:46 +0200 Subject: [PATCH 118/143] Fixed inlines vertical overlow. --- .../templates/admin_interface/css/admin-interface-fix.css | 1 + 1 file changed, 1 insertion(+) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index d0db182..ea8bd0a 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -313,6 +313,7 @@ body.admin-interface .paginator a.showall:visited { /* begin fix tabular inlines horizontal scroll */ .admin-interface .inline-related.tabular { overflow-x: scroll; + overflow-y: hidden; } .admin-interface .inline-related.tabular fieldset.module { display: contents; From 1569828c6759061c73456fde9b7ede65442ac60e Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Sun, 2 May 2021 10:39:56 +0200 Subject: [PATCH 119/143] Updated README `Installation` section. [ci skip] --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4790e8c..a215d57 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,9 @@ INSTALLED_APPS = ( #... ) -X_FRAME_OPTIONS='SAMEORIGIN' # only if django version >= 3.0 +# only if django version >= 3.0 +X_FRAME_OPTIONS = 'SAMEORIGIN' +SILENCED_SYSTEM_CHECKS = ['security.W019'] ``` - Run ``python manage.py migrate`` - Run ``python manage.py collectstatic`` From fbc29246ff9c9287af37e3e53f0cbd7b35d65944 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Thu, 6 May 2021 23:34:49 +0200 Subject: [PATCH 120/143] Improved header elements vertical alignment. --- .../css/admin-interface-fix.css | 23 +++++++++++++++---- .../admin_interface/css/admin-interface.css | 15 ------------ 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index ea8bd0a..d05b7b2 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -23,6 +23,7 @@ } .admin-interface.login #header { + min-height: auto; padding: 10px 30px; line-height: 30px; align-items: flex-start; @@ -40,7 +41,6 @@ .admin-interface.login #header #branding h1 img.logo+span { display: block; - margin-bottom: 5px; } .admin-interface.login #login-form { @@ -77,12 +77,12 @@ box-sizing: border-box; display: flex; justify-content: space-between; - align-items: start; + align-items: center; } @media (max-width:1024px) { .admin-interface #header { - align-items: flex-start; + align-items: center; } } @@ -103,13 +103,28 @@ .admin-interface #branding h1 span { display: inline-block; - margin-bottom: 5px; } .admin-interface #branding h1 img.logo+span { white-space:nowrap; } +.admin-interface #user-tools { + margin-top: 10px; + margin-bottom: 10px; + white-space: nowrap; + align-self: flex-start; +} + +.admin-interface #user-tools br { + display: none; +} +@media (max-width: 768px) { + .admin-interface #user-tools br { + display: block; + } +} + .admin-interface fieldset.collapse { border: 1px solid transparent; } diff --git a/admin_interface/templates/admin_interface/css/admin-interface.css b/admin_interface/templates/admin_interface/css/admin-interface.css index 5088823..826d00a 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface.css +++ b/admin_interface/templates/admin_interface/css/admin-interface.css @@ -145,21 +145,6 @@ background-image: url("data:image/svg+xml;utf8,"); } -.admin-interface #user-tools { - margin-top: 10px; - margin-bottom: 10px; - white-space: nowrap; -} - -.admin-interface #user-tools br { - display: none; -} -@media (max-width: 768px) { - .admin-interface #user-tools br { - display: block; - } -} - .admin-interface #header #user-tools a { color:{{ theme.css_header_link_color }}; } From fd48e5ca9767f96e86da3efe440aa28cecc9f05b Mon Sep 17 00:00:00 2001 From: Mason Neipp Date: Sat, 4 Sep 2021 06:45:49 -0600 Subject: [PATCH 121/143] Fixed 0020 migration for multiple dbs. #132 --- admin_interface/migrations/0020_module_selected_colors.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/admin_interface/migrations/0020_module_selected_colors.py b/admin_interface/migrations/0020_module_selected_colors.py index 460b307..4fe8114 100644 --- a/admin_interface/migrations/0020_module_selected_colors.py +++ b/admin_interface/migrations/0020_module_selected_colors.py @@ -10,7 +10,8 @@ import colorfield.fields def default_link_selected(apps, schema_editor): Theme = apps.get_model("admin_interface", "Theme") - Theme.objects.update( + db_alias = schema_editor.connection.alias + Theme.objects.using(db_alias).update( css_module_link_selected_color=F('css_module_link_color')) From 6b6eed3aa07a41515bef62c2c843e8dae0583eda Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Thu, 16 Sep 2021 14:33:53 +0200 Subject: [PATCH 122/143] Updated CHANGELOG and version. --- CHANGELOG.md | 3 +++ admin_interface/version.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 021b4ef..ab5d50e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.16.4](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.16.4) - 2021-09-04 +- Fixed `0020_module_selected_colors` migration for multiple dbs. #132 + ## [0.16.3](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.16.3) - 2021-04-26 - Added `compat` module. - Added missing `0021_file_extension_validator` migration. #126 diff --git a/admin_interface/version.py b/admin_interface/version.py index 4e425fd..2262b3a 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.16.3' +__version__ = '0.16.4' From a3b3f8922de7559c130f1c3cb01cfbc2fcc0a428 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Thu, 16 Sep 2021 14:35:26 +0200 Subject: [PATCH 123/143] Update CHANGELOG.md --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ab5d50e..821efd1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [0.16.4](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.16.4) - 2021-09-04 - Fixed `0020_module_selected_colors` migration for multiple dbs. #132 +- Fixed sticky pagination `width` and `border-bottom`. +- Fixed inlines vertical overlow. +- Improved header elements vertical alignment. ## [0.16.3](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.16.3) - 2021-04-26 - Added `compat` module. From a388ec234ce9dbde5af3200bf268db438cee4b20 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Thu, 16 Sep 2021 15:47:14 +0200 Subject: [PATCH 124/143] Added `logo_max_width` and `logo_max_height`. #127 --- admin_interface/admin.py | 2 ++ .../0022_add_logo_max_width_and_height.py | 25 +++++++++++++++++++ admin_interface/models.py | 8 ++++++ .../css/admin-interface-fix.css | 2 -- .../admin_interface/css/admin-interface.css | 9 +++++++ 5 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 admin_interface/migrations/0022_add_logo_max_width_and_height.py diff --git a/admin_interface/admin.py b/admin_interface/admin.py index 73f1472..53a428f 100644 --- a/admin_interface/admin.py +++ b/admin_interface/admin.py @@ -38,6 +38,8 @@ class ThemeAdmin(admin.ModelAdmin): 'classes': ('wide', ), 'fields': ( 'logo', + 'logo_max_width', + 'logo_max_height', 'logo_color', 'logo_visible', ) diff --git a/admin_interface/migrations/0022_add_logo_max_width_and_height.py b/admin_interface/migrations/0022_add_logo_max_width_and_height.py new file mode 100644 index 0000000..183b855 --- /dev/null +++ b/admin_interface/migrations/0022_add_logo_max_width_and_height.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- + +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('admin_interface', '0021_file_extension_validator'), + ] + + operations = [ + migrations.AddField( + model_name='theme', + name='logo_max_height', + field=models.PositiveSmallIntegerField(blank=True, default=100, verbose_name='max height'), + ), + migrations.AddField( + model_name='theme', + name='logo_max_width', + field=models.PositiveSmallIntegerField(blank=True, default=400, verbose_name='max width'), + ), + ] diff --git a/admin_interface/models.py b/admin_interface/models.py index c2358c6..f36a1ec 100644 --- a/admin_interface/models.py +++ b/admin_interface/models.py @@ -103,6 +103,14 @@ class Theme(models.Model): help_text='#FFFFFF', max_length=10, verbose_name=_('color')) + logo_max_width = models.PositiveSmallIntegerField( + blank=True, + default=400, + verbose_name=_('max width')) + logo_max_height = models.PositiveSmallIntegerField( + blank=True, + default=100, + verbose_name=_('max height')) logo_visible = models.BooleanField( default=True, verbose_name=_('visible')) diff --git a/admin_interface/templates/admin_interface/css/admin-interface-fix.css b/admin_interface/templates/admin_interface/css/admin-interface-fix.css index d05b7b2..cfc8ae8 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface-fix.css +++ b/admin_interface/templates/admin_interface/css/admin-interface-fix.css @@ -87,8 +87,6 @@ } .admin-interface #branding h1 img.logo { - max-width: 400px; - max-height:100px; margin-top:10px; margin-bottom:10px; margin-right:15px; diff --git a/admin_interface/templates/admin_interface/css/admin-interface.css b/admin_interface/templates/admin_interface/css/admin-interface.css index 826d00a..5521c12 100644 --- a/admin_interface/templates/admin_interface/css/admin-interface.css +++ b/admin_interface/templates/admin_interface/css/admin-interface.css @@ -145,6 +145,15 @@ background-image: url("data:image/svg+xml;utf8,"); } +.admin-interface #branding h1 img.logo { + {% if theme.logo_max_width > 0 %} + max-width: {{ theme.logo_max_width }}px; + {% endif %} + {% if theme.logo_max_height > 0 %} + max-height: {{ theme.logo_max_height }}px; + {% endif %} +} + .admin-interface #header #user-tools a { color:{{ theme.css_header_link_color }}; } From a2329fdae567d3f5cf61ef0485f035d476cc6e83 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Thu, 16 Sep 2021 15:48:16 +0200 Subject: [PATCH 125/143] Updated CHANGELOG and version. --- CHANGELOG.md | 3 +++ admin_interface/version.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 821efd1..0345b4c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.17.0](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.17.0) - 2021-09-16 +- Added `logo_max_width` and `logo_max_height`. #127 + ## [0.16.4](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.16.4) - 2021-09-04 - Fixed `0020_module_selected_colors` migration for multiple dbs. #132 - Fixed sticky pagination `width` and `border-bottom`. diff --git a/admin_interface/version.py b/admin_interface/version.py index 2262b3a..04a84d7 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.16.4' +__version__ = '0.17.0' From 485f5400db2604918d7b76a50e95f2633cd13188 Mon Sep 17 00:00:00 2001 From: Robert Durica Date: Wed, 22 Sep 2021 23:27:56 +0200 Subject: [PATCH 126/143] Removed: Checking condition for colorfield package (#134) --- admin_interface/settings.py | 1 - 1 file changed, 1 deletion(-) diff --git a/admin_interface/settings.py b/admin_interface/settings.py index f14e90c..1b4de03 100644 --- a/admin_interface/settings.py +++ b/admin_interface/settings.py @@ -23,6 +23,5 @@ def check_installed_app(app, app_dj_version_limit): def check_installed_apps(): - check_installed_app('colorfield', (4, 0)) check_installed_app('flat', (1, 9)) check_installed_app('flat_responsive', (2, 0)) From c44db23b31c7920e77910b65131196a7315c4434 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Fri, 24 Sep 2021 09:07:53 +0200 Subject: [PATCH 127/143] Fixed favicon fetching incompatible with `django-storages S3`. #128 --- admin_interface/templates/admin_interface/favicon.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin_interface/templates/admin_interface/favicon.html b/admin_interface/templates/admin_interface/favicon.html index 7c7c5cb..6631c8e 100644 --- a/admin_interface/templates/admin_interface/favicon.html +++ b/admin_interface/templates/admin_interface/favicon.html @@ -1,7 +1,7 @@ {% load static %} {% if theme.favicon %} - + {% if theme.env_visible_in_favicon %} +{% endif %} From 6a42df67b1cbea3e732566a2fc298ee2b99f7e87 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 24 Nov 2021 18:44:15 +0100 Subject: [PATCH 135/143] Updated migration code generated by django. --- admin_interface/migrations/0023_theme_foldable_apps.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/admin_interface/migrations/0023_theme_foldable_apps.py b/admin_interface/migrations/0023_theme_foldable_apps.py index 046247e..6a852ff 100644 --- a/admin_interface/migrations/0023_theme_foldable_apps.py +++ b/admin_interface/migrations/0023_theme_foldable_apps.py @@ -1,4 +1,6 @@ -# Generated by Django 3.2 on 2021-11-23 16:02 +# -*- coding: utf-8 -*- + +from __future__ import unicode_literals from django.db import migrations, models From 3431565f741d6ddd5db8abd6e66fb59917266237 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 24 Nov 2021 18:44:28 +0100 Subject: [PATCH 136/143] Removed theme css field. --- .../migrations/0024_remove_theme_css.py | 19 +++++++++++++++++++ .../templates/admin/base_site.html | 18 ++++++++++++------ 2 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 admin_interface/migrations/0024_remove_theme_css.py diff --git a/admin_interface/migrations/0024_remove_theme_css.py b/admin_interface/migrations/0024_remove_theme_css.py new file mode 100644 index 0000000..f060803 --- /dev/null +++ b/admin_interface/migrations/0024_remove_theme_css.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- + +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('admin_interface', '0023_theme_foldable_apps'), + ] + + operations = [ + migrations.RemoveField( + model_name='theme', + name='css', + ), + ] diff --git a/admin_interface/templates/admin/base_site.html b/admin_interface/templates/admin/base_site.html index 250933e..8fd27a0 100644 --- a/admin_interface/templates/admin/base_site.html +++ b/admin_interface/templates/admin/base_site.html @@ -29,11 +29,6 @@ https://github.com/fabiocaccamo/django-admin-interface {% include "admin_interface/css/tinymce.css" %} {% include "admin_interface/css/json-widget.css" %} {% include "admin_interface/css/rtl.css" %} - -{% if theme.css %} - {{ theme.css|safe }} -{% endif %} - {% if current_lang == 'fa' %} @@ -55,7 +50,18 @@ https://github.com/fabiocaccamo/django-admin-interface {% include "admin_interface/related-modal.html" %} {% endblock %} -{% block bodyclass %}admin-interface flat-theme {% get_admin_interface_theme as theme %}{% if theme.name %}{{ theme.name|slugify }}-theme{% endif %}{% if theme.foldable_apps %} foldable-apps {% endif %}{% if theme.form_submit_sticky %} sticky-submit {% endif %}{% if theme.form_pagination_sticky %} sticky-pagination {% endif %}{% endblock %} +{% block extrahead %} +{{ block.super }} +{% endblock %} + +{% block bodyclass %} +{% get_admin_interface_theme as theme %} +flat-theme admin-interface +{% if theme.name %} {{ theme.name|slugify }}-theme {% endif %} +{% if theme.foldable_apps %} foldable-apps {% endif %} +{% if theme.form_submit_sticky %} sticky-submit {% endif %} +{% if theme.form_pagination_sticky %} sticky-pagination {% endif %} +{% endblock %} {% block branding %} {% get_admin_interface_theme as theme %} From dba9c35ac8a3a6ed93fcdf78c42485039474bf6b Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 24 Nov 2021 18:47:05 +0100 Subject: [PATCH 137/143] Updated CHANGELOG and version. --- CHANGELOG.md | 4 ++++ admin_interface/version.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a8d1f25..ca7a440 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.18.0](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.18.0) - 2021-10-24 +- Added foldable apps support. #117 +- Removed `css` field from `Theme` model. + ## [0.17.3](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.17.3) - 2021-10-12 - Fixed `FileExtensionValidator` `TypeError` on django < 1.11. diff --git a/admin_interface/version.py b/admin_interface/version.py index 98df6c6..3c47fe8 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.17.3' +__version__ = '0.18.0' From f4e5662e49145189616b915003c59e4db3f08309 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 24 Nov 2021 18:49:47 +0100 Subject: [PATCH 138/143] Updated README.md. [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a215d57..8fd55af 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,7 @@ django-admin-interface is a modern **responsive flat admin interface customizabl - Environment name/marker - Language chooser - List filter dropdown +- `NEW` **Foldable apps** *(accordions in the navigation bar)* - `NEW` **List filter sticky** - `NEW` **Form controls sticky** *(pagination and save/delete buttons)* - Compatibility / Style optimizations for: From 8ded8e160b6acc826a1a22c5bf3640bb28a2468d Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Thu, 25 Nov 2021 11:49:13 +0100 Subject: [PATCH 139/143] Removed wrong migration. --- .../migrations/0024_remove_theme_css.py | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 admin_interface/migrations/0024_remove_theme_css.py diff --git a/admin_interface/migrations/0024_remove_theme_css.py b/admin_interface/migrations/0024_remove_theme_css.py deleted file mode 100644 index f060803..0000000 --- a/admin_interface/migrations/0024_remove_theme_css.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- - -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('admin_interface', '0023_theme_foldable_apps'), - ] - - operations = [ - migrations.RemoveField( - model_name='theme', - name='css', - ), - ] From 3dc31df5f179752ba10dfdc16e0f701eba93960b Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Thu, 25 Nov 2021 11:49:22 +0100 Subject: [PATCH 140/143] Updated CHANGELOG and version. --- CHANGELOG.md | 3 +++ admin_interface/version.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ca7a440..0582d6c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.18.1](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.18.1) - 2021-10-25 +- Removed wrong migration. + ## [0.18.0](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.18.0) - 2021-10-24 - Added foldable apps support. #117 - Removed `css` field from `Theme` model. diff --git a/admin_interface/version.py b/admin_interface/version.py index 3c47fe8..3bbc96a 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.18.0' +__version__ = '0.18.1' From 3bc6e6fe3b2b317df7c21aed2d5b8c530e7af2fd Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Thu, 25 Nov 2021 11:55:57 +0100 Subject: [PATCH 141/143] Revert "Removed wrong migration." This reverts commit 8ded8e160b6acc826a1a22c5bf3640bb28a2468d. --- .../migrations/0024_remove_theme_css.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 admin_interface/migrations/0024_remove_theme_css.py diff --git a/admin_interface/migrations/0024_remove_theme_css.py b/admin_interface/migrations/0024_remove_theme_css.py new file mode 100644 index 0000000..f060803 --- /dev/null +++ b/admin_interface/migrations/0024_remove_theme_css.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- + +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('admin_interface', '0023_theme_foldable_apps'), + ] + + operations = [ + migrations.RemoveField( + model_name='theme', + name='css', + ), + ] From 2fa85eb9644ce5f94d577f02696eeae2d4d2a79f Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Thu, 25 Nov 2021 11:58:00 +0100 Subject: [PATCH 142/143] Fixed migration error. --- admin_interface/fixtures/admin_interface_theme_bootstrap.json | 1 - admin_interface/fixtures/admin_interface_theme_django.json | 1 - .../fixtures/admin_interface_theme_foundation.json | 1 - admin_interface/fixtures/admin_interface_theme_uswds.json | 1 - admin_interface/fixtures/initial_data.json | 1 - admin_interface/models.py | 4 ---- 6 files changed, 9 deletions(-) diff --git a/admin_interface/fixtures/admin_interface_theme_bootstrap.json b/admin_interface/fixtures/admin_interface_theme_bootstrap.json index f5b3f33..eb3cde2 100644 --- a/admin_interface/fixtures/admin_interface_theme_bootstrap.json +++ b/admin_interface/fixtures/admin_interface_theme_bootstrap.json @@ -27,7 +27,6 @@ "css_delete_button_background_color": "#D9534F", "css_delete_button_background_hover_color": "#C9302C", "css_delete_button_text_color": "#FFFFFF", - "css": "", "related_modal_active": true, "related_modal_background_color": "#503873", "related_modal_background_opacity": 0.2, diff --git a/admin_interface/fixtures/admin_interface_theme_django.json b/admin_interface/fixtures/admin_interface_theme_django.json index 78ee05c..bec46cf 100644 --- a/admin_interface/fixtures/admin_interface_theme_django.json +++ b/admin_interface/fixtures/admin_interface_theme_django.json @@ -27,7 +27,6 @@ "css_delete_button_background_color": "#BA2121", "css_delete_button_background_hover_color": "#A41515", "css_delete_button_text_color": "#FFFFFF", - "css": "", "related_modal_active": true, "related_modal_background_color": "#000000", "related_modal_background_opacity": 0.2, diff --git a/admin_interface/fixtures/admin_interface_theme_foundation.json b/admin_interface/fixtures/admin_interface_theme_foundation.json index 125c936..fd121a3 100644 --- a/admin_interface/fixtures/admin_interface_theme_foundation.json +++ b/admin_interface/fixtures/admin_interface_theme_foundation.json @@ -27,7 +27,6 @@ "css_delete_button_background_color": "#CC4B37", "css_delete_button_background_hover_color": "#BF4634", "css_delete_button_text_color": "#FFFFFF", - "css": "", "related_modal_active": true, "related_modal_background_color": "#000000", "related_modal_background_opacity": 0.2, diff --git a/admin_interface/fixtures/admin_interface_theme_uswds.json b/admin_interface/fixtures/admin_interface_theme_uswds.json index 70810fc..877da40 100644 --- a/admin_interface/fixtures/admin_interface_theme_uswds.json +++ b/admin_interface/fixtures/admin_interface_theme_uswds.json @@ -27,7 +27,6 @@ "css_delete_button_background_color": "#CD2026", "css_delete_button_background_hover_color": "#981B1E", "css_delete_button_text_color": "#FFFFFF", - "css": "", "related_modal_active": true, "related_modal_background_color": "#000000", "related_modal_background_opacity": 0.8, diff --git a/admin_interface/fixtures/initial_data.json b/admin_interface/fixtures/initial_data.json index 78ee05c..bec46cf 100644 --- a/admin_interface/fixtures/initial_data.json +++ b/admin_interface/fixtures/initial_data.json @@ -27,7 +27,6 @@ "css_delete_button_background_color": "#BA2121", "css_delete_button_background_hover_color": "#A41515", "css_delete_button_text_color": "#FFFFFF", - "css": "", "related_modal_active": true, "related_modal_background_color": "#000000", "related_modal_background_opacity": 0.2, diff --git a/admin_interface/models.py b/admin_interface/models.py index 1ffa80a..a5bc60a 100644 --- a/admin_interface/models.py +++ b/admin_interface/models.py @@ -269,10 +269,6 @@ class Theme(models.Model): max_length=10, verbose_name=_('text color')) - css = models.TextField( - blank=True, - verbose_name=_('text color')) - related_modal_active = models.BooleanField( default=True, verbose_name=_('active')) From 520dceaa97b6ac7b45d12f43915f2048ee41d02d Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Thu, 25 Nov 2021 11:58:11 +0100 Subject: [PATCH 143/143] Updated CHANGELOG and version. --- CHANGELOG.md | 3 +++ admin_interface/version.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0582d6c..b25ef0b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.18.2](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.18.2) - 2021-10-25 +- Fixed migration error. + ## [0.18.1](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.18.1) - 2021-10-25 - Removed wrong migration. diff --git a/admin_interface/version.py b/admin_interface/version.py index 3bbc96a..9b6b449 100644 --- a/admin_interface/version.py +++ b/admin_interface/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.18.1' +__version__ = '0.18.2'