From 224a9fbdb396cd13a02e6ce79cb26c813e5bbde4 Mon Sep 17 00:00:00 2001 From: "Jiangjie.Bai" Date: Fri, 11 Mar 2022 19:28:00 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E6=8E=88=E6=9D=83=E6=97=B6actions=E4=B8=BA=E7=A9=BA=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E6=97=B6=E6=8A=A5=E9=94=99=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/perms/serializers/application/permission.py | 2 +- apps/perms/serializers/base.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/perms/serializers/application/permission.py b/apps/perms/serializers/application/permission.py index c7ebdf769..ae65ea869 100644 --- a/apps/perms/serializers/application/permission.py +++ b/apps/perms/serializers/application/permission.py @@ -5,7 +5,7 @@ from rest_framework import serializers from django.utils.translation import ugettext_lazy as _ from orgs.mixins.serializers import BulkOrgResourceModelSerializer -from perms.models import ApplicationPermission +from perms.models import ApplicationPermission, Action from ..base import ActionsField, BasePermissionSerializer __all__ = [ diff --git a/apps/perms/serializers/base.py b/apps/perms/serializers/base.py index 81707dbd1..63cdd8d72 100644 --- a/apps/perms/serializers/base.py +++ b/apps/perms/serializers/base.py @@ -1,6 +1,7 @@ from rest_framework import serializers from perms.models import Action from orgs.mixins.serializers import BulkOrgResourceModelSerializer +from rest_framework.fields import empty __all__ = ['ActionsDisplayField', 'ActionsField', 'BasePermissionSerializer'] @@ -10,6 +11,12 @@ class ActionsField(serializers.MultipleChoiceField): kwargs['choices'] = Action.CHOICES super().__init__(*args, **kwargs) + def run_validation(self, data=empty): + data = super(ActionsField, self).run_validation() + if isinstance(data, list): + data = Action.choices_to_value(value=data) + return data + def to_representation(self, value): return Action.value_to_choices(value)