mirror of https://github.com/jumpserver/jumpserver
pref: 修改 filter
parent
8c92a9934b
commit
d6e36c873d
|
@ -34,11 +34,6 @@ class AccountViewSet(OrgBulkModelViewSet):
|
|||
account = super().get_object()
|
||||
task = test_accounts_connectivity_manual.delay([account.id])
|
||||
return Response(data={'task': task.id})
|
||||
#
|
||||
# @action(methods=['get'], detail=True, url_path='secret')
|
||||
# def get_secret(self, request, *args, **kwargs):
|
||||
# account = super().get_object()
|
||||
# return Response(data={'secret': account.secret})
|
||||
|
||||
|
||||
class AccountSecretsViewSet(RecordViewLogMixin, AccountViewSet):
|
||||
|
@ -49,6 +44,7 @@ class AccountSecretsViewSet(RecordViewLogMixin, AccountViewSet):
|
|||
'default': serializers.AccountSecretSerializer
|
||||
}
|
||||
http_method_names = ['get']
|
||||
# Todo: 记得打开
|
||||
# permission_classes = [RBACPermission, UserConfirmation.require(ConfirmType.MFA)]
|
||||
rbac_perms = {
|
||||
'list': 'assets.view_assetaccountsecret',
|
||||
|
|
|
@ -163,7 +163,7 @@ class AccountFilterSet(BaseFilterSet):
|
|||
username = drf_filters.CharFilter(field_name="username", lookup_expr='exact')
|
||||
address = drf_filters.CharFilter(field_name="asset__address", lookup_expr='exact')
|
||||
asset = drf_filters.CharFilter(field_name="asset_id", lookup_expr='exact')
|
||||
assets = drf_filters.CharFilter(field_name='asset_id', lookup_expr='in')
|
||||
assets = drf_filters.CharFilter(field_name='asset_id', lookup_expr='exact')
|
||||
nodes = drf_filters.CharFilter(method='filter_nodes')
|
||||
has_secret = drf_filters.BooleanFilter(method='filter_has_secret')
|
||||
|
||||
|
@ -177,7 +177,7 @@ class AccountFilterSet(BaseFilterSet):
|
|||
|
||||
@staticmethod
|
||||
def filter_nodes(queryset, name, value):
|
||||
nodes = Node.objects.filter(id__in=value)
|
||||
nodes = Node.objects.filter(id=value)
|
||||
if not nodes:
|
||||
return queryset
|
||||
|
||||
|
|
|
@ -6,8 +6,9 @@ from django.utils.translation import ugettext_lazy as _
|
|||
from django.db.transaction import atomic
|
||||
from django.db.models import F
|
||||
|
||||
from common.drf.serializers import JMSWritableNestedModelSerializer
|
||||
from common.drf.serializers import WritableNestedModelSerializer
|
||||
from common.drf.fields import LabeledChoiceField, ObjectRelatedField
|
||||
from orgs.mixins.serializers import OrgResourceSerializerMixin
|
||||
from ..account import AccountSerializer
|
||||
from ...models import Asset, Node, Platform, Label, Domain, Account, Protocol
|
||||
from ...const import Category, AllTypes
|
||||
|
@ -57,7 +58,7 @@ class AssetAccountSerializer(AccountSerializer):
|
|||
fields = fields_mini + fields_write_only
|
||||
|
||||
|
||||
class AssetSerializer(JMSWritableNestedModelSerializer):
|
||||
class AssetSerializer(OrgResourceSerializerMixin, WritableNestedModelSerializer):
|
||||
category = LabeledChoiceField(choices=Category.choices, read_only=True, label=_('Category'))
|
||||
type = LabeledChoiceField(choices=AllTypes.choices(), read_only=True, label=_('Type'))
|
||||
domain = ObjectRelatedField(required=False, queryset=Domain.objects, label=_('Domain'), allow_null=True)
|
||||
|
|
|
@ -2,7 +2,7 @@ from rest_framework import serializers
|
|||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from common.drf.fields import LabeledChoiceField
|
||||
from common.drf.serializers import JMSWritableNestedModelSerializer
|
||||
from common.drf.serializers import WritableNestedModelSerializer
|
||||
from ..models import Platform, PlatformProtocol, PlatformAutomation
|
||||
from ..const import Category, AllTypes
|
||||
|
||||
|
@ -71,7 +71,7 @@ class PlatformProtocolsSerializer(serializers.ModelSerializer):
|
|||
]
|
||||
|
||||
|
||||
class PlatformSerializer(JMSWritableNestedModelSerializer):
|
||||
class PlatformSerializer(WritableNestedModelSerializer):
|
||||
type = LabeledChoiceField(choices=AllTypes.choices(), label=_("Type"))
|
||||
category = LabeledChoiceField(choices=Category.choices, label=_("Category"))
|
||||
protocols = PlatformProtocolsSerializer(label=_('Protocols'), many=True, required=False)
|
||||
|
|
|
@ -5,7 +5,7 @@ from rest_framework.serializers import ModelSerializer
|
|||
from rest_framework_bulk.serializers import BulkListSerializer
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django.utils.functional import cached_property
|
||||
from drf_writable_nested.serializers import WritableNestedModelSerializer
|
||||
from drf_writable_nested.serializers import WritableNestedModelSerializer as NestedModelSerializer
|
||||
|
||||
from .mixin import BulkListSerializerMixin, BulkSerializerMixin
|
||||
|
||||
|
@ -13,7 +13,7 @@ from .mixin import BulkListSerializerMixin, BulkSerializerMixin
|
|||
__all__ = [
|
||||
'MethodSerializer', 'EmptySerializer', 'BulkModelSerializer',
|
||||
'AdaptedBulkListSerializer', 'CeleryTaskSerializer',
|
||||
'JMSWritableNestedModelSerializer',
|
||||
'WritableNestedModelSerializer',
|
||||
'GroupedChoiceSerializer',
|
||||
]
|
||||
|
||||
|
@ -86,5 +86,5 @@ class GroupedChoiceSerializer(ChoiceSerializer):
|
|||
children = ChoiceSerializer(many=True, label=_("Children"))
|
||||
|
||||
|
||||
class JMSWritableNestedModelSerializer(ModelSerializer):
|
||||
class WritableNestedModelSerializer(NestedModelSerializer):
|
||||
pass
|
||||
|
|
Loading…
Reference in New Issue