mirror of https://github.com/jumpserver/jumpserver
fix: 修改 BitChoicesField to_representation swagger 调用报错的问题
parent
22dd9906c7
commit
582a8e0c52
|
@ -120,6 +120,13 @@ class BitChoicesField(TreeChoicesMixin, serializers.MultipleChoiceField):
|
||||||
super().__init__(choices=choices, **kwargs)
|
super().__init__(choices=choices, **kwargs)
|
||||||
|
|
||||||
def to_representation(self, value):
|
def to_representation(self, value):
|
||||||
|
if isinstance(value, list) and len(value) == 1:
|
||||||
|
# Swagger 会使用 field.choices.keys() 迭代传递进来
|
||||||
|
return [
|
||||||
|
{"value": c.name, "label": c.label}
|
||||||
|
for c in self._choice_cls
|
||||||
|
if c.name == value[0]
|
||||||
|
]
|
||||||
return [
|
return [
|
||||||
{"value": c.name, "label": c.label}
|
{"value": c.name, "label": c.label}
|
||||||
for c in self._choice_cls
|
for c in self._choice_cls
|
||||||
|
|
|
@ -16,7 +16,7 @@ __all__ = ["AssetPermissionSerializer", "ActionChoicesField"]
|
||||||
|
|
||||||
class ActionChoicesField(BitChoicesField):
|
class ActionChoicesField(BitChoicesField):
|
||||||
def __init__(self, **kwargs):
|
def __init__(self, **kwargs):
|
||||||
super().__init__(ActionChoices, **kwargs)
|
super().__init__(choice_cls=ActionChoices, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
class AssetPermissionSerializer(BulkOrgResourceModelSerializer):
|
class AssetPermissionSerializer(BulkOrgResourceModelSerializer):
|
||||||
|
|
|
@ -65,12 +65,15 @@ user_permission_urlpatterns = [
|
||||||
|
|
||||||
# 收藏的资产
|
# 收藏的资产
|
||||||
path('<uuid:pk>/nodes/favorite/assets/', api.UserFavoriteGrantedAssetsApi.as_view(), name='user-ungrouped-assets'),
|
path('<uuid:pk>/nodes/favorite/assets/', api.UserFavoriteGrantedAssetsApi.as_view(), name='user-ungrouped-assets'),
|
||||||
path('nodes/favorite/assets/', api.MyFavoriteGrantedAssetsApi.as_view(), name='my-ungrouped-assets'),
|
path('nodes/favorite/assets/', api.MyFavoriteGrantedAssetsApi.as_view(),
|
||||||
|
name='my-ungrouped-assets'),
|
||||||
|
|
||||||
# 获取授权给用户某个资产的所有账号
|
# 获取授权给用户某个资产的所有账号
|
||||||
path('<uuid:pk>/assets/<uuid:asset_id>/accounts/', api.UserGrantedAssetAccountsApi.as_view(),
|
path('<uuid:pk>/assets/<uuid:asset_id>/accounts/', api.UserGrantedAssetAccountsApi.as_view(),
|
||||||
name='user-asset-accounts'),
|
name='user-asset-accounts'),
|
||||||
path('assets/<uuid:asset_id>/accounts/', api.MyGrantedAssetAccountsApi.as_view(), name='my-asset-accounts'),
|
path('/((?P<user>[^/.]+)/)?assets/<uuid:asset_id>/accounts/',
|
||||||
|
api.UserGrantedAssetAccountsApi.as_view(),
|
||||||
|
name='my-asset-accounts'),
|
||||||
]
|
]
|
||||||
|
|
||||||
user_group_permission_urlpatterns = [
|
user_group_permission_urlpatterns = [
|
||||||
|
|
Loading…
Reference in New Issue