diff --git a/apps/perms/api.py b/apps/perms/api.py index 29af9b697be2b733479ab03ce6cbce67113dde51..db6f31774527c37e0ebe4dd6deba1212dcdee468 100644 --- a/apps/perms/api.py +++ b/apps/perms/api.py @@ -198,22 +198,35 @@ class MyAssetGroupAssetsApi(ListAPIView): def get(self, request, *args, **kwargs): asset_groups = {} - # asset_group = {1: {'id': 1, 'name': 'hello', 'assets': set(), - # 'assets_id': set()}, 2: {}} + asset_groups[0] = { + 'id': 0, 'name': 'ungrouped', 'assets': [] + } + # asset_group = { + # 1: {'id': 1, 'name': 'hello', + # 'assets': [{ + # 'id': 'asset_id', + # 'system_users': [{'id': 'system_user_id',...},] + # }], + # 'assets_id': set()}, 2: {}} user = request.user if user: assets = get_user_granted_assets(user) - for asset in assets: + for asset, system_users in assets.items(): + asset_json = asset.to_json() + asset_json['system_users'] = [su.to_json() for su in system_users] + if not asset.groups.all(): + asset_groups[0][assets].append(asset_json) + continue for asset_group in asset.groups.all(): if asset_group.id in asset_groups: - asset_groups[asset_group.id]['assets'].add(asset.to_json()) + asset_groups[asset_group.id]['assets'].append(asset_json) else: asset_groups[asset_group.id] = { 'id': asset_group.id, 'name': asset_group.name, 'comment': asset_group.comment, - 'assets': {asset.to_json()}, + 'assets': [asset_json], } asset_groups_json = asset_groups.values() return Response(asset_groups_json, status=200) diff --git a/apps/perms/urls/api_urls.py b/apps/perms/urls/api_urls.py index 5ec7e1bc4b876f63e8143dcfbd8aa1a743344ca6..27b3c47bba263f25771ea5786d8d4e01a23bb59e 100644 --- a/apps/perms/urls/api_urls.py +++ b/apps/perms/urls/api_urls.py @@ -19,12 +19,12 @@ urlpatterns = [ url(r'^v1/user/my/asset-groups/$', api.MyGrantedAssetsGroupsApi.as_view(), name='my-asset-groups'), + url(r'^v1/user/my/asset-groups-assets/$', + api.MyAssetGroupAssetsApi.as_view(), + name='my-asset-group-assets'), url(r'^v1/user/my/asset-group/(?P[0-9]+)/assets/$', api.MyAssetGroupOfAssetsApi.as_view(), name='my-asset-group-of-assets'), - url(r'^v1/user/my/asset-group-assets/$', - api.MyAssetGroupAssetsApi.as_view(), - name='my-asset-group-assets'), # 查询某个用户授权的资产和资产组 url(r'^v1/user/(?P[0-9]+)/assets/$', diff --git a/apps/users/templates/users/first_login_done.html b/apps/users/templates/users/first_login_done.html index 650a2057c9d911bc6562e450d9bb0cf284146021..befd06d5f5fdb6eb5dcb959fac652c4b17ff558d 100644 --- a/apps/users/templates/users/first_login_done.html +++ b/apps/users/templates/users/first_login_done.html @@ -28,7 +28,7 @@
{% trans 'Welcome to use jumpserver, visit ' %} - {% trans 'Use guide' %} {% trans ' for more information' %} + {% trans 'Use guide' %} {% trans ' for more information' %}