mirror of https://github.com/jumpserver/jumpserver
perf: Copy move account failed message
parent
4fa88aa226
commit
024e2f6d79
|
@ -1,4 +1,6 @@
|
||||||
|
from django.db import transaction
|
||||||
from django.shortcuts import get_object_or_404
|
from django.shortcuts import get_object_or_404
|
||||||
|
from django.utils.translation import gettext_lazy as _
|
||||||
from rest_framework.decorators import action
|
from rest_framework.decorators import action
|
||||||
from rest_framework.generics import ListAPIView, CreateAPIView
|
from rest_framework.generics import ListAPIView, CreateAPIView
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
|
@ -14,10 +16,12 @@ from authentication.permissions import UserConfirmation, ConfirmType
|
||||||
from common.api.mixin import ExtraFilterFieldsMixin
|
from common.api.mixin import ExtraFilterFieldsMixin
|
||||||
from common.drf.filters import AttrRulesFilterBackend
|
from common.drf.filters import AttrRulesFilterBackend
|
||||||
from common.permissions import IsValidUser
|
from common.permissions import IsValidUser
|
||||||
from common.utils import lazyproperty
|
from common.utils import lazyproperty, get_logger
|
||||||
from orgs.mixins.api import OrgBulkModelViewSet
|
from orgs.mixins.api import OrgBulkModelViewSet
|
||||||
from rbac.permissions import RBACPermission
|
from rbac.permissions import RBACPermission
|
||||||
|
|
||||||
|
logger = get_logger(__file__)
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
'AccountViewSet', 'AccountSecretsViewSet',
|
'AccountViewSet', 'AccountSecretsViewSet',
|
||||||
'AccountHistoriesSecretAPI', 'AssetAccountBulkCreateApi',
|
'AccountHistoriesSecretAPI', 'AssetAccountBulkCreateApi',
|
||||||
|
@ -109,10 +113,12 @@ class AccountViewSet(OrgBulkModelViewSet):
|
||||||
account_data['asset'] = asset
|
account_data['asset'] = asset
|
||||||
creation_results[asset] = {'state': 'created'}
|
creation_results[asset] = {'state': 'created'}
|
||||||
try:
|
try:
|
||||||
self.model.objects.create(**account_data)
|
with transaction.atomic():
|
||||||
success_count += 1
|
self.model.objects.create(**account_data)
|
||||||
|
success_count += 1
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
creation_results[asset] = {'error': str(e), 'state': 'error'}
|
logger.debug(f'{ "Move" if move else "Copy" } to assets error: {e}')
|
||||||
|
creation_results[asset] = {'error': _('Account already exists'), 'state': 'error'}
|
||||||
|
|
||||||
results = [{'asset': str(asset), **res} for asset, res in creation_results.items()]
|
results = [{'asset': str(asset), **res} for asset, res in creation_results.items()]
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue