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)
 | 
			
		||||
 | 
			
		||||
    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 [
 | 
			
		||||
            {"value": c.name, "label": c.label}
 | 
			
		||||
            for c in self._choice_cls
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,7 +16,7 @@ __all__ = ["AssetPermissionSerializer", "ActionChoicesField"]
 | 
			
		|||
 | 
			
		||||
class ActionChoicesField(BitChoicesField):
 | 
			
		||||
    def __init__(self, **kwargs):
 | 
			
		||||
        super().__init__(ActionChoices, **kwargs)
 | 
			
		||||
        super().__init__(choice_cls=ActionChoices, **kwargs)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
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('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(),
 | 
			
		||||
         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 = [
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue