diff --git a/InvenTree/plugin/api.py b/InvenTree/plugin/api.py index 5c8c1b3e72..a74f3dc677 100644 --- a/InvenTree/plugin/api.py +++ b/InvenTree/plugin/api.py @@ -12,6 +12,8 @@ from rest_framework import status from rest_framework import permissions from rest_framework.response import Response +from django_filters.rest_framework import DjangoFilterBackend + from common.api import GlobalSettingsPermissions from plugin.models import PluginConfig, PluginSetting import plugin.serializers as PluginSerializers @@ -98,6 +100,15 @@ class PluginSettingList(generics.ListAPIView): GlobalSettingsPermissions, ] + filter_backends = [ + DjangoFilterBackend, + ] + + filter_fields = [ + 'plugin__active', + 'plugin__key', + ] + class PluginSettingDetail(generics.RetrieveUpdateAPIView): """ diff --git a/InvenTree/plugin/serializers.py b/InvenTree/plugin/serializers.py index 276604b390..2f3ccee4e2 100644 --- a/InvenTree/plugin/serializers.py +++ b/InvenTree/plugin/serializers.py @@ -138,7 +138,7 @@ class PluginSettingSerializer(GenericReferencedSettingSerializer): 'plugin', ] - plugin = serializers.PrimaryKeyRelatedField(read_only=True) + plugin = serializers.CharField(source='plugin.key', read_only=True) class NotificationUserSettingSerializer(GenericReferencedSettingSerializer):