Compare commits

...

26 Commits

Author SHA1 Message Date
Fabio Caccamo b165e6d27c Updated version. 2020-09-02 14:53:28 +02:00
Fabio Caccamo f0a72d5e40 Added django-json-widget theming support. 2020-09-02 14:53:19 +02:00
Fabio Caccamo 869d4c31ad Updated README testing section. [ci skip] 2020-08-27 12:52:48 +02:00
Fabio Caccamo a7788b98ed Updated requirements. [ci skip] 2020-08-27 12:52:38 +02:00
Fabio Caccamo 1045690678 Updated changelog and version. 2020-08-21 17:49:29 +02:00
Fabio Caccamo 09548dbcdc Fixed related modal not closing on edit save and create with django 3.1 - #96 2020-08-21 17:48:27 +02:00
Fabio Caccamo 0a4949c75a Updated CHANGELOG and version. 2020-08-18 17:53:37 +02:00
Fabio Caccamo f36e904faf Resized toogle-nav-sidebar button. 2020-08-18 17:51:10 +02:00
Fabio Caccamo f9a6f501e1 Added border when there is not breadcrumbs module. 2020-08-18 17:50:34 +02:00
Fabio Caccamo f9629f5ef1 Added max-width to logo. 2020-08-18 17:16:43 +02:00
Fabio Caccamo 084b0d65f3 Increased sidebar padding-top. 2020-08-18 16:41:32 +02:00
Fabio Caccamo 5935ee9d40 Added requirements-dev.txt 2020-08-18 16:39:45 +02:00
Fabio Caccamo ac66bfddb9 Added views badge to README. [ci skip] 2020-08-06 11:29:40 +02:00
Fabio Caccamo 62ccb31793 Updated CHANGELOG. 2020-08-05 21:24:30 +02:00
Fabio Caccamo 4e243962d1 Updated version. 2020-08-05 21:21:52 +02:00
Fabio Caccamo 51202a1def Improved header style. 2020-08-05 21:21:37 +02:00
Fabio Caccamo d799242714 Improved nav-sidebar style. 2020-08-05 21:19:22 +02:00
Fabio Caccamo e37142e0f4 Fixed tox django version error. 2020-08-04 17:43:03 +02:00
Fabio Caccamo 79dcc111da Added django 3.1 to CI. 2020-08-04 17:38:33 +02:00
Fabio Caccamo 651557bfc2 Updated CHANGELOG.md [ci skip] 2020-07-20 17:57:22 +02:00
Fabio Caccamo 5456e7ac53 Updated version. 2020-07-20 17:14:49 +02:00
Fabio Caccamo 03f8a2704e Fixed unreadable text in autocomplete multi-selects. #83 2020-07-20 17:14:40 +02:00
Fabio Caccamo ceab3232ad Unmerged admin-index PR. 2020-07-13 14:41:53 +02:00
Fabio Caccamo 6a0576cb7a Merge pull request #87 from carlosmonari/master
Hi again Mr Fabio, add suport a django-admin-index
2020-07-01 13:47:11 +02:00
carlosmonari 2935c890cf include stylishment to package django-admin-index
include stylishment to package https://github.com/maykinmedia/django-admin-index
2020-06-28 18:16:30 -03:00
carlosmonari 36f13ce164 include stylishment to package django-admin-index
include stylishment to package https://github.com/maykinmedia/django-admin-index
2020-06-28 18:13:02 -03:00
12 changed files with 313 additions and 48 deletions
+12
View File
@@ -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"
+15
View File
@@ -4,6 +4,21 @@ 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.
- 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.
## [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
## [0.12.2](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.12.2) - 2020-04-07
- Fixed popup javascript error when related modal is inactive. #76
- Fixed js self invoking anonymous function expression.
+24
View File
@@ -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=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)
@@ -28,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`
@@ -104,6 +106,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
@@ -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();
}
@@ -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 }}
@@ -68,5 +69,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 %}<span class="environment-label {{ theme.env_name }}"></span> - {% endif %}{{ block.super }}<br>
{% if theme.env_visible_in_header %}<span class="environment-label {{ theme.env_name }}"></span><br>{% endif %}{{ block.super }}<br>
{% endblock %}
@@ -1,36 +1,35 @@
/* fix login */
.admin-interface.login #container {
width:320px;
margin:90px auto;
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;
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 {
.admin-interface.login #header #branding h1 img.logo {
max-width: 100%;
margin-right: 0;
}
@@ -40,29 +39,51 @@
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;
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 {
max-width: 400px;
max-height:100px;
margin-top:10px;
margin-bottom:10px;
@@ -70,6 +91,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;
}
@@ -240,8 +266,11 @@ 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 {
.admin-interface .inline-group h2,
.admin-interface #nav-sidebar .module caption,
.admin-interface #nav-sidebar .module th {
padding-left: 10px;
padding-right: 10px;
}
@@ -337,3 +366,100 @@ 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: 10px;
left: 0;
z-index: 20;
flex: 0 0 30px;
width: 30px;
height: 45px;
margin-top: 10px;
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;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
padding: 40px 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;
}
File diff suppressed because one or more lines are too long
@@ -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;
}
+1 -1
View File
@@ -1,3 +1,3 @@
# -*- coding: utf-8 -*-
__version__ = '0.12.2'
__version__ = '0.13.3'
+4
View File
@@ -1,4 +1,8 @@
codecov
coverage
django>=1.7
django-colorfield
django-flat-theme
django-flat-responsive
six>=1.9.0
tox
+1
View File
@@ -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',
+4 -3
View File
@@ -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.*
dj31: Django == 3.1.*
djmaster: https://github.com/django/django/archive/master.tar.gz
# mysql: mysqlclient
postgres: psycopg2-binary