diff --git a/apps/applications/migrations/0007_auto_20201119_1110.py b/apps/applications/migrations/0007_auto_20201119_1110.py new file mode 100644 index 000000000..e206f8404 --- /dev/null +++ b/apps/applications/migrations/0007_auto_20201119_1110.py @@ -0,0 +1,18 @@ +# Generated by Django 3.1 on 2020-11-19 03:10 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('applications', '0006_application'), + ] + + operations = [ + migrations.AlterField( + model_name='application', + name='attrs', + field=models.JSONField(), + ), + ] diff --git a/apps/applications/models/application.py b/apps/applications/models/application.py index 8bf2c7401..1c8ae98f0 100644 --- a/apps/applications/models/application.py +++ b/apps/applications/models/application.py @@ -2,7 +2,6 @@ from itertools import chain from django.db import models from django.utils.translation import ugettext_lazy as _ -from django_mysql.models import JSONField, QuerySet from orgs.mixins.models import OrgModelMixin from common.mixins import CommonModelMixin @@ -123,7 +122,7 @@ class Application(CommonModelMixin, OrgModelMixin): domain = models.ForeignKey('assets.Domain', null=True, blank=True, related_name='applications', verbose_name=_("Domain"), on_delete=models.SET_NULL) category = models.CharField(max_length=16, choices=Category.choices, verbose_name=_('Category')) type = models.CharField(max_length=16, choices=Category.get_all_type_choices(), verbose_name=_('Type')) - attrs = JSONField() + attrs = models.JSONField() comment = models.TextField( max_length=128, default='', blank=True, verbose_name=_('Comment') ) diff --git a/apps/authentication/backends/api.py b/apps/authentication/backends/api.py index 4cdbbbe53..1fd315abb 100644 --- a/apps/authentication/backends/api.py +++ b/apps/authentication/backends/api.py @@ -6,7 +6,7 @@ import time from django.core.cache import cache from django.utils.translation import ugettext as _ -from django.utils.six import text_type +from six import text_type from django.contrib.auth import get_user_model from django.contrib.auth.backends import ModelBackend from rest_framework import HTTP_HEADER_ENCODING diff --git a/apps/common/fields/form.py b/apps/common/fields/form.py index c4cdc78ad..fd144ec92 100644 --- a/apps/common/fields/form.py +++ b/apps/common/fields/form.py @@ -3,7 +3,7 @@ import json from django import forms -from django.utils import six +import six from django.core.exceptions import ValidationError from django.utils.translation import ugettext as _ from ..utils import signer diff --git a/apps/common/fields/model.py b/apps/common/fields/model.py index 1161944a6..4a4f3525d 100644 --- a/apps/common/fields/model.py +++ b/apps/common/fields/model.py @@ -31,7 +31,7 @@ class JsonMixin: def json_encode(data): return json.dumps(data) - def from_db_value(self, value, expression, connection, context): + def from_db_value(self, value, expression, connection, context=None): if value is None: return value return self.json_decode(value) @@ -54,7 +54,7 @@ class JsonMixin: class JsonTypeMixin(JsonMixin): tp = dict - def from_db_value(self, value, expression, connection, context): + def from_db_value(self, value, expression, connection, context=None): value = super().from_db_value(value, expression, connection, context) if not isinstance(value, self.tp): value = self.tp() @@ -116,7 +116,7 @@ class EncryptMixin: def decrypt_from_signer(self, value): return signer.unsign(value) or '' - def from_db_value(self, value, expression, connection, context): + def from_db_value(self, value, expression, connection, context=None): if value is None: return value value = force_text(value) diff --git a/apps/common/fields/serializer.py b/apps/common/fields/serializer.py index e7a6e7d9c..9cd630650 100644 --- a/apps/common/fields/serializer.py +++ b/apps/common/fields/serializer.py @@ -2,7 +2,7 @@ # from rest_framework import serializers -from django.utils import six +import six __all__ = [ diff --git a/apps/jumpserver/conf.py b/apps/jumpserver/conf.py index e23ddc23c..4d8b7c0ce 100644 --- a/apps/jumpserver/conf.py +++ b/apps/jumpserver/conf.py @@ -16,7 +16,7 @@ import json import yaml from importlib import import_module from django.urls import reverse_lazy -from django.contrib.staticfiles.templatetags.staticfiles import static +from django.templatetags.static import static from urllib.parse import urljoin, urlparse from django.utils.translation import ugettext_lazy as _ diff --git a/apps/jumpserver/context_processor.py b/apps/jumpserver/context_processor.py index 0a49b957d..cf0ea559d 100644 --- a/apps/jumpserver/context_processor.py +++ b/apps/jumpserver/context_processor.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -from django.contrib.staticfiles.templatetags.staticfiles import static +from django.templatetags.static import static from django.conf import settings from django.utils.translation import gettext_lazy as _ diff --git a/apps/jumpserver/settings/libs.py b/apps/jumpserver/settings/libs.py index 9e4b56e21..e60932464 100644 --- a/apps/jumpserver/settings/libs.py +++ b/apps/jumpserver/settings/libs.py @@ -11,7 +11,7 @@ REST_FRAMEWORK = { ), 'DEFAULT_RENDERER_CLASSES': ( 'rest_framework.renderers.JSONRenderer', - 'rest_framework.renderers.BrowsableAPIRenderer', + # 'rest_framework.renderers.BrowsableAPIRenderer', 'common.drf.renders.JMSCSVRender', ), 'DEFAULT_PARSER_CLASSES': ( diff --git a/apps/users/migrations/0031_auto_20201118_1801.py b/apps/users/migrations/0031_auto_20201118_1801.py new file mode 100644 index 000000000..6c0f22303 --- /dev/null +++ b/apps/users/migrations/0031_auto_20201118_1801.py @@ -0,0 +1,18 @@ +# Generated by Django 3.1 on 2020-11-18 10:01 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('users', '0030_auto_20200819_2041'), + ] + + operations = [ + migrations.AlterField( + model_name='user', + name='first_name', + field=models.CharField(blank=True, max_length=150, verbose_name='first name'), + ), + ] diff --git a/requirements/requirements.txt b/requirements/requirements.txt index 8fbaf4cf7..dc7ca9b85 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -12,20 +12,20 @@ chardet==3.0.4 configparser==3.5.0 coreapi==2.3.3 coreschema==0.0.4 -cryptography==2.8 +cryptography==3.2 decorator==4.1.2 -Django==2.2.13 -django-auth-ldap==1.7.0 -django-bootstrap3==9.1.0 +Django==3.1 +django-auth-ldap==2.2.0 +django-bootstrap3==14.2.0 django-celery-beat==2.0 -django-filter==2.0.0 -django-formtools==2.1 +django-filter==2.4.0 +django-formtools==2.2 django-ranged-response==0.2.0 django-redis-cache==2.1.1 -django-rest-swagger==2.1.2 -django-simple-captcha==0.5.6 +django-rest-swagger==2.2.0 +django-simple-captcha==0.5.13 django-timezone-field==4.0 -djangorestframework==3.9.4 +djangorestframework==3.12.2 djangorestframework-bulk==0.2.1 docutils==0.14 ecdsa==0.13.3 @@ -44,7 +44,7 @@ jmespath==0.9.3 kombu==4.6.8 ldap3==2.4 MarkupSafe==1.1.1 -mysqlclient==1.3.14 +mysqlclient==2.0.1 olefile==0.44 openapi-codec==1.3.2 paramiko==2.4.2 @@ -69,7 +69,7 @@ sshpubkeys==3.1.0 uritemplate==3.0.0 urllib3==1.25.2 vine==1.3.0 -drf-yasg==1.9.1 +drf-yasg==1.20.0 Werkzeug==0.15.3 drf-nested-routers==0.91 aliyun-python-sdk-core-v3==2.9.1 diff --git a/requirements/rpm_requirements.txt b/requirements/rpm_requirements.txt index 2e02f07bd..b6a192d1a 100644 --- a/requirements/rpm_requirements.txt +++ b/requirements/rpm_requirements.txt @@ -1 +1 @@ -gcc krb5-devel libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel sshpass openldap-devel mariadb-devel mysql-devel mysql libffi-devel openssh-clients telnet openldap-clients +gcc krb5-devel libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel sshpass openldap-devel mariadb-devel mysql-community-devel mysql libffi-devel openssh-clients telnet openldap-clients