From a2fb4a701e9050425b3264b4b71dfcd44907dac9 Mon Sep 17 00:00:00 2001 From: Bai Date: Thu, 20 May 2021 14:05:14 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=91=BD=E4=BB=A4?= =?UTF-8?q?=E8=BF=87=E6=BB=A4=E5=99=A8=E8=A7=84=E5=88=99Action=20Choices?= =?UTF-8?q?=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/serializers/cmd_filter.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/apps/assets/serializers/cmd_filter.py b/apps/assets/serializers/cmd_filter.py index 052452825..5cf419979 100644 --- a/apps/assets/serializers/cmd_filter.py +++ b/apps/assets/serializers/cmd_filter.py @@ -4,7 +4,7 @@ import re from rest_framework import serializers from common.drf.serializers import AdaptedBulkListSerializer -from ..models import CommandFilter, CommandFilterRule, SystemUser +from ..models import CommandFilter, CommandFilterRule from orgs.mixins.serializers import BulkOrgResourceModelSerializer from orgs.utils import tmp_to_root_org from common.utils import get_object_or_none, lazyproperty @@ -50,6 +50,20 @@ class CommandFilterRuleSerializer(BulkOrgResourceModelSerializer): fields = '__all__' list_serializer_class = AdaptedBulkListSerializer + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.set_action_choices() + + def set_action_choices(self): + from django.conf import settings + action = self.fields.get('action') + if not action: + return + choices = action._choices + if not settings.XPACK_ENABLED: + choices.pop(CommandFilterRule.ActionChoices.confirm, None) + action._choices = choices + # def validate_content(self, content): # tp = self.initial_data.get("type") # if tp == CommandFilterRule.TYPE_REGEX: