Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 796cea4a49 | |||
| 0178e0ccff | |||
| 70ed000f08 | |||
| 294f8520ab | |||
| 1b28c183f0 | |||
| 520dceaa97 | |||
| 2fa85eb964 | |||
| 3bc6e6fe3b |
@@ -0,0 +1,41 @@
|
||||
name: Python package
|
||||
|
||||
on:
|
||||
- push
|
||||
- pull_request
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ['2.7', '3.6', '3.7', '3.8', '3.9', '3.10']
|
||||
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:latest
|
||||
env:
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_PASSWORD: postgres
|
||||
POSTGRES_DB: postgres
|
||||
ports:
|
||||
- 5432:5432
|
||||
# needed because the postgres container does not provide a healthcheck
|
||||
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: Install psycopg2 prerequisites
|
||||
run: sudo apt-get install libpq-dev
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
pip install -r requirements-test.txt
|
||||
pip install tox tox-gh-actions
|
||||
- name: Test with tox
|
||||
run: tox
|
||||
-171
@@ -1,171 +0,0 @@
|
||||
os: linux
|
||||
dist: xenial
|
||||
language: python
|
||||
cache: pip
|
||||
jobs:
|
||||
include:
|
||||
- python: "2.7"
|
||||
env: TOX_ENV=py27-dj17-sqlite
|
||||
- python: "2.7"
|
||||
env: TOX_ENV=py27-dj17-postgres
|
||||
- python: "2.7"
|
||||
env: TOX_ENV=py27-dj18-sqlite
|
||||
- python: "2.7"
|
||||
env: TOX_ENV=py27-dj18-postgres
|
||||
- python: "2.7"
|
||||
env: TOX_ENV=py27-dj19-sqlite
|
||||
- python: "2.7"
|
||||
env: TOX_ENV=py27-dj19-postgres
|
||||
- python: "2.7"
|
||||
env: TOX_ENV=py27-dj110-sqlite
|
||||
- python: "2.7"
|
||||
env: TOX_ENV=py27-dj110-postgres
|
||||
- python: "2.7"
|
||||
env: TOX_ENV=py27-dj111-sqlite
|
||||
- python: "2.7"
|
||||
env: TOX_ENV=py27-dj111-postgres
|
||||
- python: "3.5"
|
||||
env: TOX_ENV=py35-dj18-sqlite
|
||||
- python: "3.5"
|
||||
env: TOX_ENV=py35-dj18-postgres
|
||||
- python: "3.5"
|
||||
env: TOX_ENV=py35-dj19-sqlite
|
||||
- python: "3.5"
|
||||
env: TOX_ENV=py35-dj19-postgres
|
||||
- python: "3.5"
|
||||
env: TOX_ENV=py35-dj110-sqlite
|
||||
- python: "3.5"
|
||||
env: TOX_ENV=py35-dj110-postgres
|
||||
- python: "3.5"
|
||||
env: TOX_ENV=py35-dj111-sqlite
|
||||
- python: "3.5"
|
||||
env: TOX_ENV=py35-dj111-postgres
|
||||
- python: "3.5"
|
||||
env: TOX_ENV=py35-dj20-sqlite
|
||||
- python: "3.5"
|
||||
env: TOX_ENV=py35-dj20-postgres
|
||||
- python: "3.5"
|
||||
env: TOX_ENV=py35-dj21-sqlite
|
||||
- python: "3.5"
|
||||
env: TOX_ENV=py35-dj21-postgres
|
||||
# - python: "3.5"
|
||||
# env: TOX_ENV=py35-dj22-sqlite
|
||||
- python: "3.5"
|
||||
env: TOX_ENV=py35-dj22-postgres
|
||||
- python: "3.6"
|
||||
env: TOX_ENV=py36-dj111-sqlite
|
||||
- python: "3.6"
|
||||
env: TOX_ENV=py36-dj111-postgres
|
||||
- python: "3.6"
|
||||
env: TOX_ENV=py36-dj20-sqlite
|
||||
- python: "3.6"
|
||||
env: TOX_ENV=py36-dj20-postgres
|
||||
- python: "3.6"
|
||||
env: TOX_ENV=py36-dj21-sqlite
|
||||
- python: "3.6"
|
||||
env: TOX_ENV=py36-dj21-postgres
|
||||
- python: "3.6"
|
||||
env: TOX_ENV=py36-dj22-sqlite
|
||||
- python: "3.6"
|
||||
env: TOX_ENV=py36-dj22-postgres
|
||||
- python: "3.6"
|
||||
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-dj32-sqlite
|
||||
- python: "3.6"
|
||||
env: TOX_ENV=py36-dj32-postgres
|
||||
- python: "3.6"
|
||||
env: TOX_ENV=py36-djmaster-sqlite
|
||||
- python: "3.6"
|
||||
env: TOX_ENV=py36-djmaster-postgres
|
||||
- python: "3.7"
|
||||
env: TOX_ENV=py37-dj20-sqlite
|
||||
- python: "3.7"
|
||||
env: TOX_ENV=py37-dj20-postgres
|
||||
- python: "3.7"
|
||||
env: TOX_ENV=py37-dj21-sqlite
|
||||
- python: "3.7"
|
||||
env: TOX_ENV=py37-dj21-postgres
|
||||
- python: "3.7"
|
||||
env: TOX_ENV=py37-dj22-sqlite
|
||||
- python: "3.7"
|
||||
env: TOX_ENV=py37-dj22-postgres
|
||||
- python: "3.7"
|
||||
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-dj32-sqlite
|
||||
- python: "3.7"
|
||||
env: TOX_ENV=py37-dj32-postgres
|
||||
- python: "3.7"
|
||||
env: TOX_ENV=py37-djmaster-sqlite
|
||||
- python: "3.7"
|
||||
env: TOX_ENV=py37-djmaster-postgres
|
||||
- python: "3.8"
|
||||
env: TOX_ENV=py38-dj22-sqlite
|
||||
- python: "3.8"
|
||||
env: TOX_ENV=py38-dj22-postgres
|
||||
- python: "3.8"
|
||||
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-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-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
|
||||
- env: TOX_ENV=py37-djmaster-sqlite
|
||||
- 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:
|
||||
- postgresql
|
||||
before_script:
|
||||
- psql -c 'create database admin_interface;' -U postgres
|
||||
script:
|
||||
- tox -e $TOX_ENV
|
||||
@@ -4,6 +4,15 @@ 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.3](https://github.com/fabiocaccamo/django-admin-interface/releases/tag/0.18.3) - 2021-12-07
|
||||
- Added official python 3.10 support.
|
||||
- Replaced travis with GitHub action workflow. #142
|
||||
- Fixed `check_installed_apps` checks.
|
||||
- Fixed django default appconfig deprecation warning. #141
|
||||
|
||||
## [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.
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
[](https://badges.pufler.dev)
|
||||
[](https://github.com/fabiocaccamo/django-admin-interface/blob/master/LICENSE.txt)
|
||||
|
||||
[](https://travis-ci.org/fabiocaccamo/django-admin-interface)
|
||||
[](https://github.com/fabiocaccamo/django-admin-interface)
|
||||
[](https://codecov.io/gh/fabiocaccamo/django-admin-interface)
|
||||
[](https://www.codacy.com/app/fabiocaccamo/django-admin-interface)
|
||||
[](https://codeclimate.com/github/fabiocaccamo/django-admin-interface/)
|
||||
@@ -152,6 +152,7 @@ git clone https://github.com/fabiocaccamo/django-admin-interface.git src && cd s
|
||||
|
||||
# install dependencies
|
||||
pip install -r requirements.txt
|
||||
pip install -r requirements-test.txt
|
||||
|
||||
# run tests
|
||||
tox
|
||||
@@ -176,8 +177,6 @@ If you are using this package in commercial project(s), please consider the idea
|
||||
|
||||
- [GitHub Sponsor](https://github.com/sponsors/fabiocaccamo)
|
||||
- [PayPal](https://www.paypal.me/fabiocaccamo)
|
||||
- BTC: bc1q2t0pv8z3udpyuvfnx5kskhqdad4dcvtfuzmvjw
|
||||
- ETH: 0x8B55Fb7798b5A9F797A4455C00821B6e53daca74
|
||||
|
||||
## See also
|
||||
|
||||
@@ -195,4 +194,6 @@ If you are using this package in commercial project(s), please consider the idea
|
||||
|
||||
- [`python-codicefiscale`](https://github.com/fabiocaccamo/python-codicefiscale) - encode/decode Italian fiscal codes - codifica/decodifica del Codice Fiscale. 🇮🇹 💳
|
||||
|
||||
- [`python-fontbro`](https://github.com/fabiocaccamo/python-fontbro) - friendly font operations. 🧢
|
||||
|
||||
- [`python-fsutil`](https://github.com/fabiocaccamo/python-fsutil) - file-system utilities for lazy devs. 🧟♂️
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import django
|
||||
|
||||
default_app_config = 'admin_interface.apps.AdminInterfaceConfig'
|
||||
if django.VERSION < (3, 2):
|
||||
default_app_config = 'admin_interface.apps.AdminInterfaceConfig'
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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',
|
||||
),
|
||||
]
|
||||
@@ -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'))
|
||||
|
||||
@@ -5,23 +5,30 @@ from django.conf import settings
|
||||
from django.core.exceptions import ImproperlyConfigured
|
||||
|
||||
|
||||
def check_installed_app(app, app_dj_version_limit):
|
||||
def check_installed_app(app, max_dj_version=None):
|
||||
dj_version = django.VERSION
|
||||
installed_apps = settings.INSTALLED_APPS
|
||||
if dj_version < app_dj_version_limit:
|
||||
if max_dj_version is None:
|
||||
if app not in installed_apps:
|
||||
raise ImproperlyConfigured(
|
||||
'\'{}\' needed before django {}.{}, '
|
||||
'\'{}\' is required, '
|
||||
'add it to settings.INSTALLED_APPS.'.format(
|
||||
app, *app_dj_version_limit))
|
||||
app))
|
||||
elif dj_version < max_dj_version:
|
||||
if app not in installed_apps:
|
||||
raise ImproperlyConfigured(
|
||||
'\'{}\' is required before django {}.{}, '
|
||||
'add it to settings.INSTALLED_APPS.'.format(
|
||||
app, *max_dj_version))
|
||||
else:
|
||||
if app in installed_apps:
|
||||
raise ImproperlyConfigured(
|
||||
'\'{}\' not needed since django {}.{}, '
|
||||
'\'{}\' is no more required since django {}.{}, '
|
||||
'remove it from settings.INSTALLED_APPS.'.format(
|
||||
app, *app_dj_version_limit))
|
||||
app, *max_dj_version))
|
||||
|
||||
|
||||
def check_installed_apps():
|
||||
check_installed_app('flat', (1, 9))
|
||||
check_installed_app('flat_responsive', (2, 0))
|
||||
check_installed_app('colorfield')
|
||||
check_installed_app('flat', max_dj_version=(1, 9))
|
||||
check_installed_app('flat_responsive', max_dj_version=(2, 0))
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
__version__ = '0.18.1'
|
||||
__version__ = '0.18.3'
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
codecov
|
||||
coverage
|
||||
psycopg2
|
||||
tox
|
||||
@@ -1,8 +1,5 @@
|
||||
codecov
|
||||
coverage
|
||||
django>=1.7
|
||||
django-colorfield
|
||||
django-flat-theme
|
||||
django-flat-responsive
|
||||
six>=1.9.0
|
||||
tox
|
||||
@@ -69,6 +69,7 @@ setup(
|
||||
'Programming Language :: Python :: 3.7',
|
||||
'Programming Language :: Python :: 3.8',
|
||||
'Programming Language :: Python :: 3.9',
|
||||
'Programming Language :: Python :: 3.10',
|
||||
'Topic :: Software Development :: Build Tools',
|
||||
],
|
||||
license='MIT',
|
||||
|
||||
@@ -89,6 +89,12 @@ database_config = {
|
||||
}
|
||||
}
|
||||
|
||||
github_workflow = os.environ.get('GITHUB_WORKFLOW')
|
||||
if github_workflow:
|
||||
database_config['postgres']['NAME'] = 'postgres'
|
||||
database_config['postgres']['HOST'] = '127.0.0.1'
|
||||
database_config['postgres']['PORT'] = '5432'
|
||||
|
||||
DATABASES = {
|
||||
'default': database_config.get(database_engine),
|
||||
}
|
||||
|
||||
@@ -1,13 +1,23 @@
|
||||
[tox]
|
||||
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,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},
|
||||
py36-{dj18,dj19,dj110,dj111,dj20,dj21,dj22,dj30,dj31,dj32}-{sqlite,postgres},
|
||||
py37-{dj20,dj21,dj22,dj30,dj31,dj32}-{sqlite,postgres},
|
||||
py38-{dj22,dj30,dj31,dj32}-{sqlite,postgres},
|
||||
py39-{dj22,dj30,dj31,dj32}-{sqlite,postgres},
|
||||
py310-{dj32}-{sqlite,postgres},
|
||||
|
||||
[gh-actions]
|
||||
python =
|
||||
2.7: py27
|
||||
3.6: py36
|
||||
3.7: py37
|
||||
3.8: py38
|
||||
3.9: py39
|
||||
3.10: py310
|
||||
|
||||
[testenv]
|
||||
passenv = CI TRAVIS TRAVIS_*
|
||||
passenv = CI GITHUB_WORKFLOW
|
||||
deps =
|
||||
dj17: Django == 1.7.*
|
||||
dj18: Django == 1.8.*
|
||||
@@ -20,7 +30,6 @@ deps =
|
||||
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
|
||||
coverage
|
||||
|
||||
Reference in New Issue
Block a user