diff --git a/README.md b/README.md index 2da3b3d22..a09309b9d 100644 --- a/README.md +++ b/README.md @@ -7,27 +7,20 @@ [![Ansible](https://img.shields.io/badge/ansible-2.4.2.0-blue.svg?style=plastic)](https://www.ansible.com/) [![Paramiko](https://img.shields.io/badge/paramiko-2.4.1-green.svg?style=plastic)](http://www.paramiko.org/) - ---- -Jumpserver 是全球首款完全开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 的专业运维审计系统。 +Jumpserver 是全球首款完全开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 的运维安全审计系统。 Jumpserver 使用 Python / Django 进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 解决方案,交互界面美观、用户体验好。 -Jumpserver 采纳分布式架构,支持多机房跨区域部署,中心节点提供 API,各机房部署登录节点,可横向扩展、无并发限制。 +Jumpserver 采纳分布式架构,支持多机房跨区域部署,支持横向扩展,无资产数量及并发限制。 改变世界,从一点点开始。 -- [English Version](https://github.com/jumpserver/jumpserver/blob/master/README_EN.md) - - -### 功能 +### 核心功能列表 ---- - - - - - @@ -180,35 +173,32 @@ Jumpserver 采纳分布式架构,支持多机房跨区域部署,中心节点
Jumpserver提供的堡垒机必备功能
身份验证 Authentication 登录认证 @@ -36,11 +29,11 @@ Jumpserver 采纳分布式架构,支持多机房跨区域部署,中心节点
LDAP认证 + LDAP 认证
支持OpenID,实现单点登录 + 支持 OpenID,实现单点登录
- -### 开始使用 +### 安装及使用文档 ---- -- 快速开始文档 [Docker 安装](http://docs.jumpserver.org/zh/docs/dockerinstall.html) +- [Docker 快速安装文档](http://docs.jumpserver.org/zh/docs/dockerinstall.html) +- [Step by Step 安装文档](http://docs.jumpserver.org/zh/docs/step_by_step.html) +- [完整文档](http://docs.jumpserver.org) -- Step by Step 安装文档 [详细部署](http://docs.jumpserver.org/zh/docs/step_by_step.html) - -- 也可以查看我们完整文档 [文档](http://docs.jumpserver.org) - -### Demo、视频 和 截图 +### 演示视频和系统截图 ---- -我们提供了 Demo 、演示视频和截图可以让你快速了解 Jumpserver +我们提供了演示视频和系统截图可以让你快速了解 Jumpserver。 -- [Demo](https://demo.jumpserver.org/auth/login/?next=/) -- [视频](https://fit2cloud2-offline-installer.oss-cn-beijing.aliyuncs.com/tools/Jumpserver%20%E4%BB%8B%E7%BB%8Dv1.4.mp4) -- [截图](http://docs.jumpserver.org/zh/docs/snapshot.html) +- [演示视频](https://jumpserver.oss-cn-hangzhou.aliyuncs.com/jms-media/%E3%80%90%E6%BC%94%E7%A4%BA%E8%A7%86%E9%A2%91%E3%80%91Jumpserver%20%E5%A0%A1%E5%9E%92%E6%9C%BA%20V1.5.0%20%E6%BC%94%E7%A4%BA%E8%A7%86%E9%A2%91%20-%20final.mp4) +- [系统截图](http://docs.jumpserver.org/zh/docs/snapshot.html) ### SDK ---- -我们还编写了一些SDK,供你的其它系统快速和 Jumpserver API 交互 - -- [Python](https://github.com/jumpserver/jumpserver-python-sdk) Jumpserver其它组件使用这个SDK完成交互 -- [Java](https://github.com/KaiJunYan/jumpserver-java-sdk.git) 恺珺同学提供的Java版本的SDK +我们编写了一些SDK,供你的其它系统快速和 Jumpserver API 交互。 +- [Python](https://github.com/jumpserver/jumpserver-python-sdk) Jumpserver 其它组件使用这个 SDK 完成交互 +- [Java](https://github.com/KaiJunYan/jumpserver-java-sdk.git) 恺珺同学提供的 Java 版本的 SDK ### License & Copyright +---- + Copyright (c) 2014-2019 飞致云 FIT2CLOUD, All rights reserved. Licensed under The GNU General Public License version 2 (GPLv2) (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/apps/assets/models/node.py b/apps/assets/models/node.py index c1e47d56b..aab5ebaf4 100644 --- a/apps/assets/models/node.py +++ b/apps/assets/models/node.py @@ -211,7 +211,7 @@ class AssetsAmountMixin: cached = cache.get(cache_key) if cached is not None: return cached - assets_amount = self.get_all_assets().only('id').count() + assets_amount = self.get_all_assets().count() self.assets_amount = assets_amount return assets_amount diff --git a/apps/common/mixins/serializers.py b/apps/common/mixins/serializers.py index 2dc9483ad..f53fc62f4 100644 --- a/apps/common/mixins/serializers.py +++ b/apps/common/mixins/serializers.py @@ -49,6 +49,9 @@ class BulkListSerializerMixin(object): """ List of dicts of native values <- List of dicts of primitive datatypes. """ + if not self.instance: + return super().to_internal_value(data) + if html.is_html_input(data): data = html.parse_html_list(data) @@ -81,7 +84,7 @@ class BulkListSerializerMixin(object): pk = item["pk"] else: raise ValidationError("id or pk not in data") - child = self.instance.get(id=pk) + child = self.instance.get(id=pk) if self.instance else None self.child.instance = child self.child.initial_data = item # raw diff --git a/apps/perms/templates/perms/asset_permission_detail.html b/apps/perms/templates/perms/asset_permission_detail.html index ad0d3a7cd..044438c43 100644 --- a/apps/perms/templates/perms/asset_permission_detail.html +++ b/apps/perms/templates/perms/asset_permission_detail.html @@ -189,7 +189,8 @@ function updateSystemUser(system_users) { }; requestApi({ url: the_url, - body: JSON.stringify(body) + body: JSON.stringify(body), + success: function () {window.location.reload()} }); }