from django_filters import rest_framework as drf_filters from common.api import JMSBulkModelViewSet from orgs.utils import tmp_to_root_org from .common import ACLUserFilterMixin from .. import serializers from ..models import ConnectMethodACL __all__ = ['ConnectMethodACLViewSet'] class ConnectMethodFilter(ACLUserFilterMixin): methods = drf_filters.CharFilter(field_name="methods__contains", lookup_expr='exact') class Meta: model = ConnectMethodACL fields = ['name', ] class ConnectMethodACLViewSet(JMSBulkModelViewSet): queryset = ConnectMethodACL.objects.all() filterset_class = ConnectMethodFilter search_fields = ('name',) serializer_class = serializers.ConnectMethodACLSerializer def filter_queryset(self, queryset): with tmp_to_root_org(): return super().filter_queryset(queryset)