fix: 修复创建授权时actions为空保存时报错的问题

pull/7818/head
Jiangjie.Bai 2022-03-11 19:28:00 +08:00 committed by 老广
parent 797b184c7f
commit 224a9fbdb3
2 changed files with 8 additions and 1 deletions

View File

@ -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__ = [

View File

@ -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)