fix: 修复命令过滤器规则Action Choices显示

This commit is contained in:
Bai 2021-05-20 14:05:14 +08:00 committed by 老广
parent 6e4381ac04
commit a2fb4a701e

View File

@ -4,7 +4,7 @@ import re
from rest_framework import serializers from rest_framework import serializers
from common.drf.serializers import AdaptedBulkListSerializer 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.mixins.serializers import BulkOrgResourceModelSerializer
from orgs.utils import tmp_to_root_org from orgs.utils import tmp_to_root_org
from common.utils import get_object_or_none, lazyproperty from common.utils import get_object_or_none, lazyproperty
@ -50,6 +50,20 @@ class CommandFilterRuleSerializer(BulkOrgResourceModelSerializer):
fields = '__all__' fields = '__all__'
list_serializer_class = AdaptedBulkListSerializer 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): # def validate_content(self, content):
# tp = self.initial_data.get("type") # tp = self.initial_data.get("type")
# if tp == CommandFilterRule.TYPE_REGEX: # if tp == CommandFilterRule.TYPE_REGEX: