mirror of https://github.com/jumpserver/jumpserver
feat: 应用按类型筛选可以指定多个类型
parent
c21217d50c
commit
3f0a0b33b5
|
@ -1,11 +1,11 @@
|
|||
# coding: utf-8
|
||||
#
|
||||
|
||||
from orgs.mixins.api import OrgBulkModelViewSet
|
||||
|
||||
from ..hands import IsOrgAdminOrAppUser
|
||||
from .. import serializers
|
||||
from ..models import Application
|
||||
from applications.filters import ApplicationFilter
|
||||
|
||||
|
||||
__all__ = ['ApplicationViewSet']
|
||||
|
@ -13,7 +13,7 @@ __all__ = ['ApplicationViewSet']
|
|||
|
||||
class ApplicationViewSet(OrgBulkModelViewSet):
|
||||
model = Application
|
||||
filterset_fields = ('name', 'type', 'category')
|
||||
search_fields = filterset_fields
|
||||
filterset_class = ApplicationFilter
|
||||
search_fields = ('name', 'type', 'category')
|
||||
permission_classes = (IsOrgAdminOrAppUser,)
|
||||
serializer_class = serializers.ApplicationSerializer
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
from django_filters import rest_framework as filters
|
||||
|
||||
from .models import Application
|
||||
from applications import const
|
||||
|
||||
|
||||
class ApplicationFilter(filters.FilterSet):
|
||||
type = filters.MultipleChoiceFilter(choices=const.ApplicationTypeChoices.choices)
|
||||
|
||||
class Meta:
|
||||
model = Application
|
||||
fields = ['id', 'name', 'category', 'type', 'comment']
|
|
@ -1,6 +1,7 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
from applications.models import Application
|
||||
from applications.filters import ApplicationFilter
|
||||
from perms.models import ApplicationPermission
|
||||
from perms import serializers
|
||||
from ..base import BasePermissionViewSet
|
||||
|
@ -12,8 +13,8 @@ class ApplicationPermissionViewSet(BasePermissionViewSet):
|
|||
"""
|
||||
model = ApplicationPermission
|
||||
serializer_class = serializers.ApplicationPermissionSerializer
|
||||
filterset_fields = ['name', 'category', 'type']
|
||||
search_fields = filterset_fields
|
||||
filterset_class = ApplicationFilter
|
||||
search_fields = ['name', 'category', 'type']
|
||||
custom_filter_fields = BasePermissionViewSet.custom_filter_fields + [
|
||||
'application_id', 'application'
|
||||
]
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
from rest_framework.generics import ListAPIView
|
||||
from rest_framework.response import Response
|
||||
|
||||
from applications.filters import ApplicationFilter
|
||||
from common.mixins.api import CommonApiMixin
|
||||
from applications.api.mixin import (
|
||||
SerializeApplicationToTreeNodeMixin
|
||||
|
@ -25,7 +26,7 @@ __all__ = [
|
|||
class AllGrantedApplicationsMixin(CommonApiMixin, ListAPIView):
|
||||
only_fields = serializers.ApplicationGrantedSerializer.Meta.only_fields
|
||||
serializer_class = serializers.ApplicationGrantedSerializer
|
||||
filterset_fields = ['id', 'name', 'category', 'type', 'comment']
|
||||
filterset_class = ApplicationFilter
|
||||
search_fields = ['name', 'comment']
|
||||
user: None
|
||||
|
||||
|
|
Loading…
Reference in New Issue