From 66a2262ee915bfc13c5091f9d69dd574c63938d9 Mon Sep 17 00:00:00 2001 From: ibuler Date: Sat, 1 Apr 2017 00:41:16 +0800 Subject: [PATCH] =?UTF-8?q?[Fixture]=20=E5=A2=9E=E5=8A=A0=20asset=20groups?= =?UTF-8?q?=20assets=20api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/perms/api.py | 23 +++++++++++++++---- apps/perms/urls/api_urls.py | 6 ++--- .../templates/users/first_login_done.html | 2 +- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/apps/perms/api.py b/apps/perms/api.py index 29af9b697..db6f31774 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 5ec7e1bc4..27b3c47bb 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 650a2057c..befd06d5f 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' %}
-- GitLab