From 8e51f97dc7ca29a571870d5e92afe7ae3836c9de Mon Sep 17 00:00:00 2001
From: BaiJiangJie <32935519+BaiJiangJie@users.noreply.github.com>
Date: Wed, 26 Dec 2018 13:54:42 +0800
Subject: [PATCH] =?UTF-8?q?[Update]=20=E6=B7=BB=E5=8A=A0=E8=B5=84=E4=BA=A7?=
=?UTF-8?q?=E6=A0=91=E5=8F=B3=E5=87=BB=E8=8F=9C=E5=8D=95:=20=E5=88=B7?=
=?UTF-8?q?=E6=96=B0=E6=89=80=E6=9C=89=E8=8A=82=E7=82=B9=E8=B5=84=E4=BA=A7?=
=?UTF-8?q?=E6=95=B0=E9=87=8F=20(#2274)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* [Update] 添加资产树右击菜单: 刷新所有节点资产数量
* [Update] 修改右击菜单样式
---
apps/assets/api/node.py | 11 +++-
apps/assets/templates/assets/asset_list.html | 12 +++++
apps/assets/urls/api_urls.py | 2 +
apps/locale/zh/LC_MESSAGES/django.mo | Bin 60289 -> 60399 bytes
apps/locale/zh/LC_MESSAGES/django.po | 54 ++++++++++---------
5 files changed, 53 insertions(+), 26 deletions(-)
diff --git a/apps/assets/api/node.py b/apps/assets/api/node.py
index 4295b2618..052d70e31 100644
--- a/apps/assets/api/node.py
+++ b/apps/assets/api/node.py
@@ -34,7 +34,7 @@ __all__ = [
'NodeAddAssetsApi', 'NodeRemoveAssetsApi', 'NodeReplaceAssetsApi',
'NodeAddChildrenApi', 'RefreshNodeHardwareInfoApi',
'TestNodeConnectiveApi', 'NodeListAsTreeApi',
- 'NodeChildrenAsTreeApi',
+ 'NodeChildrenAsTreeApi', 'RefreshAssetsAmount',
]
@@ -275,3 +275,12 @@ class TestNodeConnectiveApi(APIView):
task_name = _("Test if the assets under the node are connectable: {}".format(node.name))
task = test_asset_connectivity_util.delay(assets, task_name=task_name)
return Response({"task": task.id})
+
+
+class RefreshAssetsAmount(APIView):
+ permission_classes = (IsOrgAdmin,)
+ model = Node
+
+ def get(self, request, *args, **kwargs):
+ self.model.expire_nodes_assets_amount()
+ return Response("Ok")
diff --git a/apps/assets/templates/assets/asset_list.html b/apps/assets/templates/assets/asset_list.html
index c3c3a7ede..c560c8e6b 100644
--- a/apps/assets/templates/assets/asset_list.html
+++ b/apps/assets/templates/assets/asset_list.html
@@ -133,6 +133,8 @@
+
+
{% trans 'Display only current node assets' %}
{% trans 'Displays all child node assets' %}
{# {% trans 'Refresh' %}#}
@@ -558,6 +560,15 @@ $(document).ready(function(){
hideRMenu();
})
+.on('click', '#menu_refresh_assets_amount', function () {
+ hideRMenu();
+ var url = "{% url 'api-assets:refresh-assets-amount' %}";
+ APIUpdateAttr({
+ 'url': url,
+ 'method': 'GET'
+ });
+ window.location.reload();
+})
.on('click', '.btn_asset_delete', function () {
var $this = $(this);
var $data_table = $("#asset_list_table").DataTable();
@@ -724,6 +735,7 @@ $(document).ready(function(){
}).on('click', '#menu_asset_move', function () {
update_node_action = "move"
})
+
{% endblock %}
\ No newline at end of file
diff --git a/apps/assets/urls/api_urls.py b/apps/assets/urls/api_urls.py
index ca426a833..4aceda2e8 100644
--- a/apps/assets/urls/api_urls.py
+++ b/apps/assets/urls/api_urls.py
@@ -74,6 +74,8 @@ urlpatterns = [
api.RefreshNodeHardwareInfoApi.as_view(), name='node-refresh-hardware-info'),
path('nodes//test-connective/',
api.TestNodeConnectiveApi.as_view(), name='node-test-connective'),
+ path('nodes/refresh-assets-amount/',
+ api.RefreshAssetsAmount.as_view(), name='refresh-assets-amount'),
path('gateway//test-connective/',
api.GatewayTestConnectionApi.as_view(), name='test-gateway-connective'),
diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo
index a5a414c63b909c7501e047a31f208e278346cc0e..a6518874eff0d18bf78d4278827e25b5eb29bf5f 100644
GIT binary patch
delta 17975
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
delta 17905
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\n"
"Language-Team: Jumpserver team\n"
@@ -116,7 +116,7 @@ msgstr "端口"
#: audits/templates/audits/ftp_log_list.html:41
#: audits/templates/audits/ftp_log_list.html:71 perms/forms.py:42
#: perms/models.py:31
-#: perms/templates/perms/asset_permission_create_update.html:40
+#: perms/templates/perms/asset_permission_create_update.html:45
#: perms/templates/perms/asset_permission_list.html:56
#: perms/templates/perms/asset_permission_list.html:114
#: terminal/backends/command/models.py:13 terminal/models.py:140
@@ -630,7 +630,7 @@ msgstr "默认资产组"
#: ops/templates/ops/command_execution_list.html:34
#: ops/templates/ops/command_execution_list.html:59 perms/forms.py:36
#: perms/models.py:29
-#: perms/templates/perms/asset_permission_create_update.html:36
+#: perms/templates/perms/asset_permission_create_update.html:41
#: perms/templates/perms/asset_permission_list.html:54
#: perms/templates/perms/asset_permission_list.html:108 templates/index.html:87
#: terminal/backends/command/models.py:12 terminal/models.py:139
@@ -858,7 +858,7 @@ msgstr "资产列表"
#: assets/templates/assets/asset_create.html:16
#: assets/templates/assets/asset_update.html:21
#: assets/templates/assets/gateway_create_update.html:37
-#: perms/templates/perms/asset_permission_create_update.html:33
+#: perms/templates/perms/asset_permission_create_update.html:38
msgid "Basic"
msgstr "基本"
@@ -878,7 +878,7 @@ msgstr "自动生成密钥"
#: assets/templates/assets/asset_create.html:60
#: assets/templates/assets/asset_update.html:64
#: assets/templates/assets/gateway_create_update.html:53
-#: perms/templates/perms/asset_permission_create_update.html:45
+#: perms/templates/perms/asset_permission_create_update.html:50
#: terminal/templates/terminal/terminal_update.html:42
msgid "Other"
msgstr "其它"
@@ -900,7 +900,7 @@ msgstr "其它"
#: common/templates/common/replay_storage_create.html:138
#: common/templates/common/security_setting.html:70
#: common/templates/common/terminal_setting.html:68
-#: perms/templates/perms/asset_permission_create_update.html:75
+#: perms/templates/perms/asset_permission_create_update.html:80
#: terminal/templates/terminal/terminal_update.html:47
#: users/templates/users/_user.html:50
#: users/templates/users/user_bulk_update.html:23
@@ -933,7 +933,7 @@ msgstr "重置"
#: common/templates/common/replay_storage_create.html:139
#: common/templates/common/security_setting.html:71
#: common/templates/common/terminal_setting.html:70
-#: perms/templates/perms/asset_permission_create_update.html:76
+#: perms/templates/perms/asset_permission_create_update.html:81
#: terminal/templates/terminal/command_list.html:103
#: terminal/templates/terminal/session_list.html:127
#: terminal/templates/terminal/terminal_update.html:48
@@ -1008,7 +1008,7 @@ msgstr "测试"
#: assets/templates/assets/admin_user_detail.html:24
#: assets/templates/assets/admin_user_list.html:88
#: assets/templates/assets/asset_detail.html:24
-#: assets/templates/assets/asset_list.html:175
+#: assets/templates/assets/asset_list.html:177
#: assets/templates/assets/cmd_filter_detail.html:29
#: assets/templates/assets/cmd_filter_list.html:57
#: assets/templates/assets/cmd_filter_rule_list.html:86
@@ -1040,7 +1040,7 @@ msgstr "更新"
#: assets/templates/assets/admin_user_detail.html:28
#: assets/templates/assets/admin_user_list.html:89
#: assets/templates/assets/asset_detail.html:28
-#: assets/templates/assets/asset_list.html:176
+#: assets/templates/assets/asset_list.html:178
#: assets/templates/assets/cmd_filter_detail.html:33
#: assets/templates/assets/cmd_filter_list.html:58
#: assets/templates/assets/cmd_filter_rule_list.html:87
@@ -1082,7 +1082,7 @@ msgstr "选择节点"
#: assets/templates/assets/admin_user_detail.html:100
#: assets/templates/assets/asset_detail.html:208
-#: assets/templates/assets/asset_list.html:624
+#: assets/templates/assets/asset_list.html:635
#: assets/templates/assets/cmd_filter_detail.html:106
#: assets/templates/assets/system_user_asset.html:112
#: assets/templates/assets/system_user_detail.html:182
@@ -1166,7 +1166,7 @@ msgstr "快速修改"
#: assets/templates/assets/asset_detail.html:151
#: assets/templates/assets/user_asset_list.html:47 perms/models.py:34
#: perms/models.py:82
-#: perms/templates/perms/asset_permission_create_update.html:47
+#: perms/templates/perms/asset_permission_create_update.html:52
#: perms/templates/perms/asset_permission_detail.html:120
#: perms/templates/perms/asset_permission_list.html:59
#: terminal/templates/terminal/terminal_list.html:34
@@ -1272,34 +1272,38 @@ msgid "Test node connective"
msgstr "测试节点资产可连接性"
#: assets/templates/assets/asset_list.html:136
+msgid "Refresh all node assets amount"
+msgstr "刷新所有节点资产数量"
+
+#: assets/templates/assets/asset_list.html:138
msgid "Display only current node assets"
msgstr "仅显示当前节点资产"
-#: assets/templates/assets/asset_list.html:137
+#: assets/templates/assets/asset_list.html:139
msgid "Displays all child node assets"
msgstr "显示所有子节点资产"
-#: assets/templates/assets/asset_list.html:214
+#: assets/templates/assets/asset_list.html:216
msgid "Create node failed"
msgstr "创建节点失败"
-#: assets/templates/assets/asset_list.html:226
+#: assets/templates/assets/asset_list.html:228
msgid "Have child node, cancel"
msgstr "存在子节点,不能删除"
-#: assets/templates/assets/asset_list.html:228
+#: assets/templates/assets/asset_list.html:230
msgid "Have assets, cancel"
msgstr "存在资产,不能删除"
-#: assets/templates/assets/asset_list.html:299
+#: assets/templates/assets/asset_list.html:301
msgid "Rename success"
msgstr "重命名成功"
-#: assets/templates/assets/asset_list.html:300
+#: assets/templates/assets/asset_list.html:302
msgid "Rename failed, do not change the root node name"
msgstr "重命名失败,不能更改root节点的名称"
-#: assets/templates/assets/asset_list.html:618
+#: assets/templates/assets/asset_list.html:629
#: assets/templates/assets/system_user_list.html:137
#: users/templates/users/user_detail.html:380
#: users/templates/users/user_detail.html:406
@@ -1309,11 +1313,11 @@ msgstr "重命名失败,不能更改root节点的名称"
msgid "Are you sure?"
msgstr "你确认吗?"
-#: assets/templates/assets/asset_list.html:619
+#: assets/templates/assets/asset_list.html:630
msgid "This will delete the selected assets !!!"
msgstr "删除选择资产"
-#: assets/templates/assets/asset_list.html:622
+#: assets/templates/assets/asset_list.html:633
#: assets/templates/assets/system_user_list.html:141
#: common/templates/common/terminal_setting.html:163
#: users/templates/users/user_detail.html:384
@@ -1326,16 +1330,16 @@ msgstr "删除选择资产"
msgid "Cancel"
msgstr "取消"
-#: assets/templates/assets/asset_list.html:628
+#: assets/templates/assets/asset_list.html:639
msgid "Asset Deleted."
msgstr "已被删除"
-#: assets/templates/assets/asset_list.html:629
-#: assets/templates/assets/asset_list.html:634
+#: assets/templates/assets/asset_list.html:640
+#: assets/templates/assets/asset_list.html:645
msgid "Asset Delete"
msgstr "删除"
-#: assets/templates/assets/asset_list.html:633
+#: assets/templates/assets/asset_list.html:644
msgid "Asset Deleting failed."
msgstr "删除失败"
@@ -2610,7 +2614,7 @@ msgstr "添加节点"
msgid "Join"
msgstr "加入"
-#: perms/templates/perms/asset_permission_create_update.html:53
+#: perms/templates/perms/asset_permission_create_update.html:58
msgid "Validity period"
msgstr "有效期"