perf: 修改支持 Django4

pull/11057/head
ibuler 2023-07-24 11:52:25 +08:00
parent 16660575b7
commit b4b9c805ff
243 changed files with 546 additions and 614 deletions

View File

@ -1,5 +1,5 @@
from django.shortcuts import get_object_or_404 from django.shortcuts import get_object_or_404
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import status, mixins, viewsets from rest_framework import status, mixins, viewsets
from rest_framework.response import Response from rest_framework.response import Response

View File

@ -1,5 +1,5 @@
from django.db.models import TextChoices from django.db.models import TextChoices
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
class SecretType(TextChoices): class SecretType(TextChoices):

View File

@ -1,5 +1,5 @@
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from assets.const import Connectivity from assets.const import Connectivity
from common.db.fields import TreeChoices from common.db.fields import TreeChoices

View File

@ -6,7 +6,7 @@ import uuid
from celery import current_task from celery import current_task
from django.db import models from django.db import models
from django.db.models import F from django.db.models import F
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from common.const.choices import Trigger from common.const.choices import Trigger
from common.db.encoder import ModelJSONFieldEncoder from common.db.encoder import ModelJSONFieldEncoder

View File

@ -1,5 +1,5 @@
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from accounts.const import ( from accounts.const import (
AutomationTypes, SecretType, SecretStrategy, SSHKeyStrategy AutomationTypes, SecretType, SecretStrategy, SSHKeyStrategy

View File

@ -1,6 +1,6 @@
from django.db import models from django.db import models
from django.db.models import Q from django.db.models import Q
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from accounts.const import AutomationTypes, Source from accounts.const import AutomationTypes, Source
from accounts.models import Account from accounts.models import Account

View File

@ -1,5 +1,5 @@
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from accounts.const import AutomationTypes from accounts.const import AutomationTypes
from accounts.models import Account from accounts.models import Account

View File

@ -1,4 +1,4 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from accounts.const import AutomationTypes from accounts.const import AutomationTypes
from .base import AccountBaseAutomation from .base import AccountBaseAutomation

View File

@ -6,7 +6,7 @@ from hashlib import md5
import sshpubkeys import sshpubkeys
from django.conf import settings from django.conf import settings
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from accounts.const import SecretType from accounts.const import SecretType
from common.db import fields from common.db import fields

View File

@ -1,4 +1,4 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from common.tasks import send_mail_attachment_async from common.tasks import send_mail_attachment_async
from users.models import User from users.models import User

View File

@ -3,7 +3,7 @@ from copy import deepcopy
from django.db import IntegrityError from django.db import IntegrityError
from django.db.models import Q from django.db.models import Q
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers from rest_framework import serializers
from rest_framework.generics import get_object_or_404 from rest_framework.generics import get_object_or_404
from rest_framework.validators import UniqueTogetherValidator from rest_framework.validators import UniqueTogetherValidator

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers from rest_framework import serializers
from accounts.models import AccountBackupAutomation, AccountBackupExecution from accounts.models import AccountBackupAutomation, AccountBackupExecution

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers from rest_framework import serializers
from accounts.const import SecretType from accounts.const import SecretType

View File

@ -1,4 +1,4 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from accounts.models import GatheredAccount from accounts.models import GatheredAccount
from orgs.mixins.serializers import BulkOrgResourceModelSerializer from orgs.mixins.serializers import BulkOrgResourceModelSerializer

View File

@ -1,4 +1,4 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers from rest_framework import serializers
from accounts.models import AccountTemplate, Account from accounts.models import AccountTemplate, Account

View File

@ -1,4 +1,4 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers from rest_framework import serializers
from accounts.models import AutomationExecution from accounts.models import AutomationExecution

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers from rest_framework import serializers
from accounts.const import ( from accounts.const import (

View File

@ -1,5 +1,5 @@
from celery import shared_task from celery import shared_task
from django.utils.translation import gettext_noop, ugettext_lazy as _ from django.utils.translation import gettext_noop, gettext_lazy as _
from accounts.const import AutomationTypes from accounts.const import AutomationTypes
from accounts.tasks.common import quickstart_automation_by_snapshot from accounts.tasks.common import quickstart_automation_by_snapshot

View File

@ -1,4 +1,4 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers from rest_framework import serializers
from accounts.const import ( from accounts.const import (

View File

@ -1,5 +1,5 @@
from django.apps import AppConfig from django.apps import AppConfig
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
class AclsConfig(AppConfig): class AclsConfig(AppConfig):

View File

@ -3,7 +3,7 @@
import re import re
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from common.utils import lazyproperty, get_logger from common.utils import lazyproperty, get_logger
from orgs.mixins.models import JMSOrgBaseModel from orgs.mixins.models import JMSOrgBaseModel

View File

@ -1,5 +1,5 @@
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from common.utils import get_request_ip, get_ip_city from common.utils import get_request_ip, get_ip_city
from common.utils.timezone import local_now_display from common.utils.timezone import local_now_display

View File

@ -1,5 +1,5 @@
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from .base import UserAssetAccountBaseACL from .base import UserAssetAccountBaseACL

View File

@ -1,4 +1,4 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers from rest_framework import serializers
from acls.models.base import BaseACL from acls.models.base import BaseACL

View File

@ -1,4 +1,4 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers from rest_framework import serializers
from acls.models import CommandGroup, CommandFilterACL from acls.models import CommandGroup, CommandFilterACL

View File

@ -1,4 +1,4 @@
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from common.serializers import MethodSerializer from common.serializers import MethodSerializer
from orgs.mixins.serializers import BulkOrgResourceModelSerializer from orgs.mixins.serializers import BulkOrgResourceModelSerializer

View File

@ -1,7 +1,7 @@
# coding: utf-8 # coding: utf-8
# #
from django.utils.translation import gettext_lazy as _
from rest_framework import serializers from rest_framework import serializers
from django.utils.translation import ugettext_lazy as _
from common.utils import get_logger from common.utils import get_logger
from common.utils.ip import is_ip_address, is_ip_network, is_ip_segment from common.utils.ip import is_ip_address, is_ip_network, is_ip_segment

View File

@ -1,7 +1,7 @@
from __future__ import unicode_literals from __future__ import unicode_literals
from django.utils.translation import ugettext_lazy as _
from django.apps import AppConfig from django.apps import AppConfig
from django.utils.translation import gettext_lazy as _
class ApplicationsConfig(AppConfig): class ApplicationsConfig(AppConfig):
@ -9,5 +9,4 @@ class ApplicationsConfig(AppConfig):
verbose_name = _('Applications') verbose_name = _('Applications')
def ready(self): def ready(self):
from . import signal_handlers
super().ready() super().ready()

View File

@ -127,7 +127,7 @@ class Migration(migrations.Migration):
('name', models.CharField(max_length=128, verbose_name='Name')), ('name', models.CharField(max_length=128, verbose_name='Name')),
('category', models.CharField(choices=[('db', 'Database'), ('remote_app', 'Remote app'), ('cloud', 'Cloud')], max_length=16, verbose_name='Category')), ('category', models.CharField(choices=[('db', 'Database'), ('remote_app', 'Remote app'), ('cloud', 'Cloud')], max_length=16, verbose_name='Category')),
('type', models.CharField(choices=[('mysql', 'MySQL'), ('oracle', 'Oracle'), ('postgresql', 'PostgreSQL'), ('mariadb', 'MariaDB'), ('chrome', 'Chrome'), ('mysql_workbench', 'MySQL Workbench'), ('vmware_client', 'vSphere Client'), ('custom', 'Custom'), ('k8s', 'Kubernetes')], max_length=16, verbose_name='Type')), ('type', models.CharField(choices=[('mysql', 'MySQL'), ('oracle', 'Oracle'), ('postgresql', 'PostgreSQL'), ('mariadb', 'MariaDB'), ('chrome', 'Chrome'), ('mysql_workbench', 'MySQL Workbench'), ('vmware_client', 'vSphere Client'), ('custom', 'Custom'), ('k8s', 'Kubernetes')], max_length=16, verbose_name='Type')),
('attrs', django_mysql.models.JSONField(default=dict)), ('attrs', models.JSONField(default=dict)),
('comment', models.TextField(blank=True, default='', max_length=128, verbose_name='Comment')), ('comment', models.TextField(blank=True, default='', max_length=128, verbose_name='Comment')),
('domain', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='applications', to='assets.Domain', verbose_name='Domain')), ('domain', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='applications', to='assets.Domain', verbose_name='Domain')),
], ],

View File

@ -1,5 +1,5 @@
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from common.db.models import JMSBaseModel from common.db.models import JMSBaseModel
from orgs.mixins.models import OrgModelMixin from orgs.mixins.models import OrgModelMixin

View File

@ -1,5 +1,5 @@
# ~*~ coding: utf-8 ~*~ # ~*~ coding: utf-8 ~*~
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from django.views.generic.detail import SingleObjectMixin from django.views.generic.detail import SingleObjectMixin
from rest_framework.serializers import ValidationError from rest_framework.serializers import ValidationError
from rest_framework.views import APIView, Response from rest_framework.views import APIView, Response
@ -29,6 +29,7 @@ class DomainViewSet(OrgBulkModelViewSet):
def get_queryset(self): def get_queryset(self):
return super().get_queryset().prefetch_related('assets') return super().get_queryset().prefetch_related('assets')
class GatewayViewSet(HostViewSet): class GatewayViewSet(HostViewSet):
perm_model = Gateway perm_model = Gateway
filterset_fields = ("domain__name", "name", "domain") filterset_fields = ("domain__name", "name", "domain")

View File

@ -3,7 +3,7 @@ from collections import namedtuple, defaultdict
from functools import partial from functools import partial
from django.db.models.signals import m2m_changed from django.db.models.signals import m2m_changed
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import status from rest_framework import status
from rest_framework.decorators import action from rest_framework.decorators import action
from rest_framework.generics import get_object_or_404 from rest_framework.generics import get_object_or_404

View File

@ -1,7 +1,7 @@
from __future__ import unicode_literals from __future__ import unicode_literals
from django.utils.translation import ugettext_lazy as _
from django.apps import AppConfig from django.apps import AppConfig
from django.utils.translation import gettext_lazy as _
class AssetsConfig(AppConfig): class AssetsConfig(AppConfig):
@ -13,6 +13,3 @@ class AssetsConfig(AppConfig):
def ready(self): def ready(self):
super().ready() super().ready()
from . import signal_handlers
from . import tasks

View File

@ -2,7 +2,7 @@ import socket
import paramiko import paramiko
from django.utils import timezone from django.utils import timezone
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from assets.const import AutomationTypes, Connectivity from assets.const import AutomationTypes, Connectivity
from assets.models import Gateway from assets.models import Gateway

View File

@ -1,5 +1,5 @@
from django.db.models import TextChoices from django.db.models import TextChoices
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
class Connectivity(TextChoices): class Connectivity(TextChoices):

View File

@ -1,4 +1,4 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import status from rest_framework import status
from common.exceptions import JMSException from common.exceptions import JMSException

View File

@ -8,7 +8,7 @@ from collections import defaultdict
from django.db import models from django.db import models
from django.db.models import Q from django.db.models import Q
from django.forms import model_to_dict from django.forms import model_to_dict
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from assets import const from assets import const
from common.db.fields import EncryptMixin from common.db.fields import EncryptMixin

View File

@ -1,4 +1,4 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from .common import Asset from .common import Asset

View File

@ -2,7 +2,7 @@ import uuid
from celery import current_task from celery import current_task
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from assets.models.asset import Asset from assets.models.asset import Asset
from assets.models.node import Node from assets.models.node import Node

View File

@ -1,4 +1,4 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from assets.const import AutomationTypes from assets.const import AutomationTypes
from .base import AssetBaseAutomation from .base import AssetBaseAutomation

View File

@ -1,4 +1,4 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from assets.const import AutomationTypes from assets.const import AutomationTypes
from .base import AssetBaseAutomation from .base import AssetBaseAutomation

View File

@ -3,7 +3,7 @@
from django.db import models from django.db import models
from django.utils import timezone from django.utils import timezone
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from assets.const import Connectivity from assets.const import Connectivity
from common.utils import ( from common.utils import (

View File

@ -4,7 +4,7 @@ import uuid
from django.core.validators import MinValueValidator, MaxValueValidator from django.core.validators import MinValueValidator, MaxValueValidator
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from common.utils import get_logger from common.utils import get_logger
from orgs.mixins.models import OrgModelMixin from orgs.mixins.models import OrgModelMixin

View File

@ -3,7 +3,7 @@
import random import random
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from common.utils import get_logger from common.utils import get_logger
from orgs.mixins.models import JMSOrgBaseModel from orgs.mixins.models import JMSOrgBaseModel

View File

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from common.db.models import JMSBaseModel from common.db.models import JMSBaseModel

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from assets.const import GATEWAY_NAME from assets.const import GATEWAY_NAME
from assets.models.platform import Platform from assets.models.platform import Platform

View File

@ -7,7 +7,7 @@ from __future__ import unicode_literals
import uuid import uuid
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
__all__ = ['AssetGroup'] __all__ = ['AssetGroup']

View File

@ -2,7 +2,7 @@
# #
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from common.utils import lazyproperty from common.utils import lazyproperty
from orgs.mixins.models import JMSOrgBaseModel from orgs.mixins.models import JMSOrgBaseModel

View File

@ -10,8 +10,7 @@ from django.core.cache import cache
from django.db import models, transaction from django.db import models, transaction
from django.db.models import Q, Manager from django.db.models import Q, Manager
from django.db.transaction import atomic from django.db.transaction import atomic
from django.utils.translation import ugettext from django.utils.translation import gettext_lazy as _, gettext
from django.utils.translation import ugettext_lazy as _
from common.db.models import output_as_string from common.db.models import output_as_string
from common.utils import get_logger from common.utils import get_logger
@ -163,7 +162,7 @@ class FamilyMixin:
return key return key
def get_next_child_preset_name(self): def get_next_child_preset_name(self):
name = ugettext("New node") name = gettext("New node")
values = [ values = [
child.value[child.value.rfind(' '):] child.value[child.value.rfind(' '):]
for child in self.get_children() for child in self.get_children()

View File

@ -3,7 +3,7 @@
# #
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from common.utils import validate_ssh_private_key from common.utils import validate_ssh_private_key

View File

@ -1,4 +1,4 @@
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from notifications.notifications import UserMessage from notifications.notifications import UserMessage
@ -22,4 +22,4 @@ class BulkUpdatePlatformSkipAssetUserMsg(UserMessage):
from assets.models import Asset from assets.models import Asset
user = User.objects.first() user = User.objects.first()
assets = Asset.objects.all()[:10] assets = Asset.objects.all()[:10]
return cls(user, assets) return cls(user, assets)

View File

@ -3,7 +3,7 @@
from django.db.models import F from django.db.models import F
from django.db.transaction import atomic from django.db.transaction import atomic
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers from rest_framework import serializers
from accounts.models import Account from accounts.models import Account

View File

@ -1,6 +1,6 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework.serializers import ValidationError
from rest_framework import serializers from rest_framework import serializers
from rest_framework.serializers import ValidationError
from assets.models import Database from assets.models import Database
from assets.serializers.gateway import GatewayWithAccountSecretSerializer from assets.serializers.gateway import GatewayWithAccountSecretSerializer

View File

@ -1,4 +1,4 @@
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from rest_framework import serializers from rest_framework import serializers
from assets.models import Asset, Node, BaseAutomation, AutomationExecution from assets.models import Asset, Node, BaseAutomation, AutomationExecution

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers from rest_framework import serializers
from common.serializers.fields import ObjectRelatedField from common.serializers.fields import ObjectRelatedField

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers from rest_framework import serializers
from .asset.common import AccountSecretSerializer from .asset.common import AccountSecretSerializer

View File

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
from django.db.models import Count from django.db.models import Count
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers from rest_framework import serializers
from orgs.mixins.serializers import BulkOrgResourceModelSerializer from orgs.mixins.serializers import BulkOrgResourceModelSerializer

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django.utils.translation import gettext as _
from rest_framework import serializers from rest_framework import serializers
from django.utils.translation import ugettext as _
from orgs.mixins.serializers import BulkOrgResourceModelSerializer from orgs.mixins.serializers import BulkOrgResourceModelSerializer
from ..models import Asset, Node from ..models import Asset, Node

View File

@ -1,6 +1,6 @@
# ~*~ coding: utf-8 ~*~ # ~*~ coding: utf-8 ~*~
from celery import shared_task from celery import shared_task
from django.utils.translation import gettext_noop, ugettext_lazy as _ from django.utils.translation import gettext_noop, gettext_lazy as _
from assets.const import AutomationTypes from assets.const import AutomationTypes
from common.utils import get_logger from common.utils import get_logger

View File

@ -1,10 +1,9 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from common.utils import get_logger from common.utils import get_logger
logger = get_logger(__file__) logger = get_logger(__file__)
__all__ = [ __all__ = [
'check_asset_can_run_ansible', 'clean_ansible_task_hosts', 'check_asset_can_run_ansible', 'clean_ansible_task_hosts',

View File

@ -1,7 +1,7 @@
from django.apps import AppConfig from django.apps import AppConfig
from django.conf import settings from django.conf import settings
from django.utils.translation import ugettext_lazy as _
from django.db.models.signals import post_save from django.db.models.signals import post_save
from django.utils.translation import gettext_lazy as _
class AuditsConfig(AppConfig): class AuditsConfig(AppConfig):
@ -10,7 +10,6 @@ class AuditsConfig(AppConfig):
def ready(self): def ready(self):
from . import signal_handlers from . import signal_handlers
from . import tasks
if settings.SYSLOG_ENABLE: if settings.SYSLOG_ENABLE:
post_save.connect(signal_handlers.on_audits_log_create) post_save.connect(signal_handlers.on_audits_log_create)

View File

@ -1,5 +1,5 @@
# ~*~ coding: utf-8 ~*~ # ~*~ coding: utf-8 ~*~
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from audits.models import OperateLog from audits.models import OperateLog

View File

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
from django.utils.translation import ugettext_lazy as _
from django.db.models import TextChoices, IntegerChoices from django.db.models import TextChoices, IntegerChoices
from django.utils.translation import gettext_lazy as _
DEFAULT_CITY = _("Unknown") DEFAULT_CITY = _("Unknown")

View File

@ -3,7 +3,7 @@ from datetime import datetime
from django.core.cache import cache from django.core.cache import cache
from django.db import transaction from django.db import transaction
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from common.local import encrypted_field_set from common.local import encrypted_field_set
from common.utils import get_request_ip, get_logger from common.utils import get_request_ip, get_logger

View File

@ -1,11 +1,11 @@
import os import os
import uuid import uuid
from django.conf import settings
from django.db import models from django.db import models
from django.db.models import Q from django.db.models import Q
from django.conf import settings
from django.utils import timezone from django.utils import timezone
from django.utils.translation import gettext, ugettext_lazy as _ from django.utils.translation import gettext, gettext_lazy as _
from common.db.encoder import ModelJSONFieldEncoder from common.db.encoder import ModelJSONFieldEncoder
from common.utils import lazyproperty from common.utils import lazyproperty

View File

@ -1,13 +1,14 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers from rest_framework import serializers
from orgs.mixins.serializers import BulkOrgResourceModelSerializer
from audits.backends.db import OperateLogStore from audits.backends.db import OperateLogStore
from common.serializers.fields import LabeledChoiceField from common.serializers.fields import LabeledChoiceField
from common.utils import reverse, i18n_trans from common.utils import reverse, i18n_trans
from common.utils.timezone import as_current_tz from common.utils.timezone import as_current_tz
from ops.serializers.job import JobExecutionSerializer from ops.serializers.job import JobExecutionSerializer
from orgs.mixins.serializers import BulkOrgResourceModelSerializer
from terminal.models import Session from terminal.models import Session
from . import models from . import models
from .const import ( from .const import (

View File

@ -5,7 +5,7 @@ from django.contrib.auth import BACKEND_SESSION_KEY
from django.dispatch import receiver from django.dispatch import receiver
from django.utils import timezone, translation from django.utils import timezone, translation
from django.utils.functional import LazyObject from django.utils.functional import LazyObject
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework.request import Request from rest_framework.request import Request
from authentication.signals import post_auth_failed, post_auth_success from authentication.signals import post_auth_failed, post_auth_success

View File

@ -2,10 +2,10 @@
# #
import time import time
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import status
from rest_framework.generics import RetrieveAPIView, CreateAPIView from rest_framework.generics import RetrieveAPIView, CreateAPIView
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework import status
from common.permissions import IsValidUser, UserConfirmation from common.permissions import IsValidUser, UserConfirmation
from ..const import ConfirmType from ..const import ConfirmType

View File

@ -7,7 +7,7 @@ from django.conf import settings
from django.http import HttpResponse from django.http import HttpResponse
from django.shortcuts import get_object_or_404 from django.shortcuts import get_object_or_404
from django.utils import timezone from django.utils import timezone
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import status, serializers from rest_framework import status, serializers
from rest_framework.decorators import action from rest_framework.decorators import action
from rest_framework.exceptions import PermissionDenied, ValidationError from rest_framework.exceptions import PermissionDenied, ValidationError

View File

@ -1,20 +1,18 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
import time
from django.utils.translation import ugettext as _
from django.conf import settings
from django.shortcuts import get_object_or_404 from django.shortcuts import get_object_or_404
from rest_framework.permissions import AllowAny from django.utils.translation import gettext as _
from rest_framework.generics import CreateAPIView from rest_framework.generics import CreateAPIView
from rest_framework.serializers import ValidationError from rest_framework.permissions import AllowAny
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework.serializers import ValidationError
from common.utils import get_logger
from common.exceptions import UnexpectError from common.exceptions import UnexpectError
from common.utils import get_logger
from users.models.user import User from users.models.user import User
from .. import serializers
from .. import errors from .. import errors
from .. import serializers
from ..mixins import AuthMixin from ..mixins import AuthMixin
logger = get_logger(__name__) logger = get_logger(__name__)

View File

@ -1,24 +1,24 @@
from django.http import HttpResponseRedirect
from rest_framework.generics import CreateAPIView
from rest_framework.response import Response
from rest_framework.permissions import AllowAny
from django.utils.translation import ugettext as _
from django.template.loader import render_to_string
from django.core.cache import cache from django.core.cache import cache
from django.http import HttpResponseRedirect
from django.shortcuts import reverse from django.shortcuts import reverse
from django.template.loader import render_to_string
from django.utils.translation import gettext as _
from rest_framework.generics import CreateAPIView
from rest_framework.permissions import AllowAny
from rest_framework.response import Response
from common.utils.verify_code import SendAndVerifyCodeUtil from authentication.errors import PasswordInvalid
from common.permissions import IsValidUser from authentication.mixins import AuthMixin
from common.utils.random import random_string from authentication.mixins import authenticate
from common.utils import get_object_or_none
from authentication.serializers import ( from authentication.serializers import (
PasswordVerifySerializer, ResetPasswordCodeSerializer PasswordVerifySerializer, ResetPasswordCodeSerializer
) )
from common.permissions import IsValidUser
from common.utils import get_object_or_none
from common.utils.random import random_string
from common.utils.verify_code import SendAndVerifyCodeUtil
from settings.utils import get_login_title from settings.utils import get_login_title
from users.models import User from users.models import User
from authentication.mixins import authenticate
from authentication.errors import PasswordInvalid
from authentication.mixins import AuthMixin
class UserResetPasswordSendCodeApi(CreateAPIView): class UserResetPasswordSendCodeApi(CreateAPIView):

View File

@ -1,5 +1,5 @@
from django.apps import AppConfig from django.apps import AppConfig
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
class AuthenticationConfig(AppConfig): class AuthenticationConfig(AppConfig):
@ -7,9 +7,4 @@ class AuthenticationConfig(AppConfig):
verbose_name = _('Authentication') verbose_name = _('Authentication')
def ready(self): def ready(self):
from . import signal_handlers
from . import notifications
from . import tasks
super().ready() super().ready()

View File

@ -1,10 +1,10 @@
from django.conf import settings from django.conf import settings
from django.utils.module_loading import import_string
from django.utils.translation import ugettext_lazy as _
from common.utils import get_logger
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model
from authentication.signals import user_auth_failed, user_auth_success from django.utils.module_loading import import_string
from django.utils.translation import gettext_lazy as _
from authentication.signals import user_auth_failed, user_auth_success
from common.utils import get_logger
from .base import JMSModelBackend from .base import JMSModelBackend
logger = get_logger(__file__) logger = get_logger(__file__)

View File

@ -1,22 +1,20 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
import uuid
import time import time
import uuid
from django.core.cache import cache
from django.utils.translation import ugettext as _
from six import text_type
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model
from django.core.cache import cache
from django.utils.translation import gettext as _
from rest_framework import HTTP_HEADER_ENCODING from rest_framework import HTTP_HEADER_ENCODING
from rest_framework import authentication, exceptions from rest_framework import authentication, exceptions
from six import text_type
from common.auth import signature from common.auth import signature
from common.utils import get_object_or_none, make_signature, http_to_unixtime from common.utils import get_object_or_none, make_signature, http_to_unixtime
from .base import JMSBaseAuthBackend
from ..models import AccessKey, PrivateToken from ..models import AccessKey, PrivateToken
from .base import JMSBaseAuthBackend, JMSModelBackend
UserModel = get_user_model() UserModel = get_user_model()
@ -200,4 +198,3 @@ class SignatureAuthentication(signature.SignatureAuthentication):
return user, secret return user, secret
except (AccessKey.DoesNotExist, exceptions.ValidationError): except (AccessKey.DoesNotExist, exceptions.ValidationError):
return None, None return None, None

View File

@ -1,7 +1,3 @@
from django.dispatch import Signal from django.dispatch import Signal
oauth2_create_or_update_user = Signal()
oauth2_create_or_update_user = Signal(
providing_args=['request', 'user', 'created', 'name', 'username', 'email']
)

View File

@ -9,8 +9,4 @@
from django.dispatch import Signal from django.dispatch import Signal
openid_create_or_update_user = Signal()
openid_create_or_update_user = Signal(
providing_args=['request', 'user', 'created', 'name', 'username', 'email']
)

View File

@ -11,8 +11,8 @@
import base64 import base64
import hashlib import hashlib
import time
import secrets import secrets
import time
from django.conf import settings from django.conf import settings
from django.contrib import auth from django.contrib import auth
@ -20,13 +20,12 @@ from django.core.exceptions import SuspiciousOperation
from django.http import HttpResponseRedirect, QueryDict from django.http import HttpResponseRedirect, QueryDict
from django.urls import reverse from django.urls import reverse
from django.utils.crypto import get_random_string from django.utils.crypto import get_random_string
from django.utils.http import is_safe_url, urlencode from django.utils.http import url_has_allowed_host_and_scheme, urlencode
from django.views.generic import View from django.views.generic import View
from authentication.utils import build_absolute_uri_for_oidc from authentication.utils import build_absolute_uri_for_oidc
from .utils import get_logger from .utils import get_logger
logger = get_logger(__file__) logger = get_logger(__file__)
@ -102,7 +101,7 @@ class OIDCAuthRequestView(View):
logger.debug(log_prompt.format('Stores next url in the session')) logger.debug(log_prompt.format('Stores next url in the session'))
next_url = request.GET.get('next') next_url = request.GET.get('next')
request.session['oidc_auth_next_url'] = next_url \ request.session['oidc_auth_next_url'] = next_url \
if is_safe_url(url=next_url, allowed_hosts=(request.get_host(), )) else None if url_has_allowed_host_and_scheme(url=next_url, allowed_hosts=(request.get_host(),)) else None
# Redirects the user to authorization endpoint. # Redirects the user to authorization endpoint.
logger.debug(log_prompt.format('Construct redirect url')) logger.debug(log_prompt.format('Construct redirect url'))
@ -145,15 +144,15 @@ class OIDCAuthCallbackView(View):
# missing or if no state can be retrieved from the current session. # missing or if no state can be retrieved from the current session.
if ( if (
((nonce and settings.AUTH_OPENID_USE_NONCE) or not settings.AUTH_OPENID_USE_NONCE) ((nonce and settings.AUTH_OPENID_USE_NONCE) or not settings.AUTH_OPENID_USE_NONCE)
and and
( (
(state and settings.AUTH_OPENID_USE_STATE and 'state' in callback_params) (state and settings.AUTH_OPENID_USE_STATE and 'state' in callback_params)
or or
(not settings.AUTH_OPENID_USE_STATE) (not settings.AUTH_OPENID_USE_STATE)
) )
and and
('code' in callback_params) ('code' in callback_params)
): ):
# Ensures that the passed state values is the same as the one that was previously # Ensures that the passed state values is the same as the one that was previously
# generated when forging the authorization request. This is necessary to mitigate # generated when forging the authorization request. This is necessary to mitigate

View File

@ -1,4 +1,3 @@
from django.dispatch import Signal from django.dispatch import Signal
saml2_create_or_update_user = Signal()
saml2_create_or_update_user = Signal(providing_args=('user', 'created', 'request', 'attrs'))

View File

@ -1,4 +1,4 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from authentication.mixins import authenticate from authentication.mixins import authenticate
from .base import BaseConfirm from .base import BaseConfirm

View File

@ -1,7 +1,7 @@
from datetime import datetime from datetime import datetime
from django.utils import timezone from django.utils import timezone
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from .base import BaseConfirm from .base import BaseConfirm

View File

@ -1,11 +1,11 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
from django.utils.translation import ugettext_lazy as _
from django.conf import settings from django.conf import settings
from django.utils.translation import gettext_lazy as _
from users.utils import LoginBlockUtil, MFABlockUtils, LoginIpBlockUtil from users.utils import LoginBlockUtil, MFABlockUtils, LoginIpBlockUtil
from ..signals import post_auth_failed
from . import const from . import const
from ..signals import post_auth_failed
class AuthFailedNeedLogMixin: class AuthFailedNeedLogMixin:

View File

@ -1,4 +1,4 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from common.exceptions import JMSException from common.exceptions import JMSException

View File

@ -1,5 +1,5 @@
from django.utils.translation import ugettext_lazy as _
from django.urls import reverse from django.urls import reverse
from django.utils.translation import gettext_lazy as _
from common.exceptions import JMSException from common.exceptions import JMSException
from . import const from . import const

View File

@ -1,9 +1,9 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
from captcha.fields import CaptchaField, CaptchaTextInput
from django import forms from django import forms
from django.conf import settings from django.conf import settings
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from captcha.fields import CaptchaField, CaptchaTextInput
from common.utils import get_logger, decrypt_password from common.utils import get_logger, decrypt_password

View File

@ -1,6 +1,6 @@
import abc import abc
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
class BaseMFA(abc.ABC): class BaseMFA(abc.ABC):
@ -69,4 +69,3 @@ class BaseMFA(abc.ABC):
@staticmethod @staticmethod
def help_text_of_disable(): def help_text_of_disable():
return '' return ''

View File

@ -1,6 +1,6 @@
from django.conf import settings from django.conf import settings
from django.utils.module_loading import import_string from django.utils.module_loading import import_string
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from common.utils import get_logger from common.utils import get_logger
from .base import BaseMFA from .base import BaseMFA

View File

@ -1,5 +1,5 @@
from django.utils.translation import ugettext_lazy as _
from django.conf import settings from django.conf import settings
from django.utils.translation import gettext_lazy as _
from .base import BaseMFA from .base import BaseMFA
from ..backends.radius import RadiusBackend from ..backends.radius import RadiusBackend

View File

@ -1,8 +1,8 @@
from django.utils.translation import ugettext_lazy as _
from django.conf import settings from django.conf import settings
from django.utils.translation import gettext_lazy as _
from .base import BaseMFA
from common.utils.verify_code import SendAndVerifyCodeUtil from common.utils.verify_code import SendAndVerifyCodeUtil
from .base import BaseMFA
sms_failed_msg = _("SMS verify code invalid") sms_failed_msg = _("SMS verify code invalid")

View File

@ -5,7 +5,7 @@ from django.contrib.auth import logout as auth_logout
from django.http import HttpResponse from django.http import HttpResponse
from django.shortcuts import redirect, reverse, render from django.shortcuts import redirect, reverse, render
from django.utils.deprecation import MiddlewareMixin from django.utils.deprecation import MiddlewareMixin
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from apps.authentication import mixins from apps.authentication import mixins
from authentication.signals import post_auth_failed from authentication.signals import post_auth_failed

View File

@ -15,7 +15,7 @@ from django.core.cache import cache
from django.core.exceptions import ImproperlyConfigured from django.core.exceptions import ImproperlyConfigured
from django.shortcuts import reverse, redirect, get_object_or_404 from django.shortcuts import reverse, redirect, get_object_or_404
from django.utils.http import urlencode from django.utils.http import urlencode
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from rest_framework.request import Request from rest_framework.request import Request
from acls.models import LoginACL from acls.models import LoginACL

View File

@ -2,7 +2,7 @@ import uuid
from django.conf import settings from django.conf import settings
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
import common.db.models import common.db.models

View File

@ -6,7 +6,7 @@ from django.conf import settings
from django.core.cache import cache from django.core.cache import cache
from django.db import models from django.db import models
from django.utils import timezone from django.utils import timezone
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework.exceptions import PermissionDenied from rest_framework.exceptions import PermissionDenied
from accounts.const import AliasAccount from accounts.const import AliasAccount

View File

@ -1,4 +1,4 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework.authtoken.models import Token from rest_framework.authtoken.models import Token

View File

@ -1,7 +1,7 @@
import uuid import uuid
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from common.db.models import BaseCreateUpdateModel, CASCADE_SIGNAL_SKIP from common.db.models import BaseCreateUpdateModel, CASCADE_SIGNAL_SKIP

View File

@ -1,7 +1,7 @@
from django.utils import timezone
from django.utils.translation import ugettext_lazy as _
from django.db import models from django.db import models
from django.utils import timezone
from django.utils.translation import gettext_lazy as _
from common.db.models import JMSBaseModel from common.db.models import JMSBaseModel

View File

@ -1,9 +1,9 @@
from django.utils.translation import ugettext as _
from django.template.loader import render_to_string from django.template.loader import render_to_string
from django.utils.translation import gettext as _
from notifications.notifications import UserMessage
from common.utils import get_logger from common.utils import get_logger
from common.utils.timezone import local_now_display from common.utils.timezone import local_now_display
from notifications.notifications import UserMessage
logger = get_logger(__file__) logger = get_logger(__file__)

View File

@ -1,4 +1,4 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers from rest_framework import serializers
from accounts.const import SecretType from accounts.const import SecretType

View File

@ -1,4 +1,4 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers from rest_framework import serializers
from common.serializers import CommonModelSerializer from common.serializers import CommonModelSerializer

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers from rest_framework import serializers
from common.serializers.fields import EncryptedField from common.serializers.fields import EncryptedField

View File

@ -1,9 +1,7 @@
from django.dispatch import Signal from django.dispatch import Signal
post_auth_success = Signal()
post_auth_failed = Signal()
post_auth_success = Signal(providing_args=('user', 'request')) user_auth_success = Signal()
post_auth_failed = Signal(providing_args=('username', 'request', 'reason')) user_auth_failed = Signal()
user_auth_success = Signal(providing_args=('user', 'request', 'backend', 'create'))
user_auth_failed = Signal(providing_args=('username', 'request', 'reason', 'backend'))

Some files were not shown because too many files have changed in this diff Show More