From 0f70f5eccf78b81fe1b5270c8a1727773412c3e3 Mon Sep 17 00:00:00 2001 From: Bai Date: Wed, 15 Jul 2020 14:35:48 +0800 Subject: [PATCH] =?UTF-8?q?fix(orgs):=20=E5=88=A0=E9=99=A4=E7=BB=84?= =?UTF-8?q?=E7=BB=87=E5=A4=B1=E8=B4=A5=E6=97=B6=E8=BF=94=E5=9B=9E=E5=AF=B9?= =?UTF-8?q?=E5=BA=94=E9=94=99=E8=AF=AF=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/locale/zh/LC_MESSAGES/django.mo | Bin 55060 -> 55196 bytes apps/locale/zh/LC_MESSAGES/django.po | 163 ++++++++++++++------------- apps/orgs/api.py | 7 +- 3 files changed, 90 insertions(+), 80 deletions(-) diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index 9663de119536fd3c56b22f8d7a9e2ea08b703bd9..b90b18ccea08b3ae7f07d47a5c854e9bb250622c 100644 GIT binary patch delta 16217 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 F{|B#(6k-4X delta 16059 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\n" "Language-Team: JumpServer team\n" @@ -85,7 +85,7 @@ msgstr "数据库" #: users/templates/users/user_group_list.html:16 #: users/templates/users/user_profile.html:138 #: xpack/plugins/change_auth_plan/models.py:77 xpack/plugins/cloud/models.py:53 -#: xpack/plugins/cloud/models.py:139 xpack/plugins/gathered_user/models.py:26 +#: xpack/plugins/cloud/models.py:140 xpack/plugins/gathered_user/models.py:26 msgid "Comment" msgstr "备注" @@ -100,7 +100,7 @@ msgid "DatabaseApp" msgstr "数据库应用" #: applications/models/remote_app.py:23 assets/models/asset.py:352 -#: assets/models/authbook.py:27 assets/models/gathered_user.py:14 +#: assets/models/authbook.py:26 assets/models/gathered_user.py:14 #: assets/serializers/admin_user.py:32 assets/serializers/asset_user.py:47 #: assets/serializers/asset_user.py:84 assets/serializers/system_user.py:44 #: assets/serializers/system_user.py:176 audits/models.py:38 @@ -111,7 +111,7 @@ msgstr "数据库应用" #: users/templates/users/user_asset_permission.html:70 #: users/templates/users/user_granted_remote_app.html:36 #: xpack/plugins/change_auth_plan/models.py:283 -#: xpack/plugins/cloud/models.py:269 +#: xpack/plugins/cloud/models.py:266 msgid "Asset" msgstr "资产" @@ -135,7 +135,7 @@ msgstr "参数" #: perms/models/base.py:54 users/models/user.py:508 #: users/serializers/group.py:35 users/templates/users/user_detail.html:97 #: xpack/plugins/change_auth_plan/models.py:81 xpack/plugins/cloud/models.py:56 -#: xpack/plugins/cloud/models.py:145 xpack/plugins/gathered_user/models.py:30 +#: xpack/plugins/cloud/models.py:146 xpack/plugins/gathered_user/models.py:30 msgid "Created by" msgstr "创建者" @@ -148,7 +148,7 @@ msgstr "创建者" #: common/mixins/models.py:50 ops/models/adhoc.py:38 ops/models/command.py:27 #: orgs/models.py:17 perms/models/base.py:55 users/models/group.py:18 #: users/templates/users/user_group_detail.html:58 -#: xpack/plugins/cloud/models.py:59 xpack/plugins/cloud/models.py:148 +#: xpack/plugins/cloud/models.py:59 xpack/plugins/cloud/models.py:149 msgid "Date created" msgstr "创建日期" @@ -247,7 +247,7 @@ msgstr "激活" #: assets/models/asset.py:199 assets/models/cluster.py:19 #: assets/models/user.py:65 templates/_nav.html:44 -#: xpack/plugins/cloud/models.py:133 +#: xpack/plugins/cloud/models.py:133 xpack/plugins/cloud/serializers.py:82 msgid "Admin user" msgstr "管理用户" @@ -319,19 +319,19 @@ msgstr "主机名原始" msgid "Labels" msgstr "标签管理" -#: assets/models/authbook.py:18 +#: assets/models/authbook.py:17 msgid "Bulk delete deny" msgstr "拒绝批量删除" -#: assets/models/authbook.py:28 +#: assets/models/authbook.py:27 msgid "Latest version" msgstr "最新版本" -#: assets/models/authbook.py:29 +#: assets/models/authbook.py:28 msgid "Version" msgstr "版本" -#: assets/models/authbook.py:38 +#: assets/models/authbook.py:37 msgid "AuthBook" msgstr "" @@ -590,7 +590,7 @@ msgstr "键" #: users/templates/users/user_asset_permission.html:41 #: users/templates/users/user_asset_permission.html:73 #: users/templates/users/user_asset_permission.html:158 -#: xpack/plugins/cloud/models.py:129 +#: xpack/plugins/cloud/models.py:129 xpack/plugins/cloud/serializers.py:83 msgid "Node" msgstr "节点" @@ -612,7 +612,7 @@ msgid "Assets" msgstr "资产管理" #: assets/models/user.py:111 templates/_nav.html:17 -#: users/views/profile/password.py:40 users/views/profile/pubkey.py:36 +#: users/views/profile/password.py:42 users/views/profile/pubkey.py:36 msgid "Users" msgstr "用户管理" @@ -976,7 +976,7 @@ msgstr "启用" msgid "-" msgstr "" -#: audits/models.py:96 xpack/plugins/cloud/models.py:204 +#: audits/models.py:96 xpack/plugins/cloud/models.py:201 msgid "Failed" msgstr "失败" @@ -1006,13 +1006,13 @@ msgid "MFA" msgstr "多因子认证" #: audits/models.py:105 xpack/plugins/change_auth_plan/models.py:304 -#: xpack/plugins/cloud/models.py:217 +#: xpack/plugins/cloud/models.py:214 msgid "Reason" msgstr "原因" #: audits/models.py:106 tickets/serializers/request_asset_perm.py:53 -#: tickets/serializers/ticket.py:25 xpack/plugins/cloud/models.py:214 -#: xpack/plugins/cloud/models.py:272 +#: tickets/serializers/ticket.py:25 xpack/plugins/cloud/models.py:211 +#: xpack/plugins/cloud/models.py:269 msgid "Status" msgstr "状态" @@ -1025,7 +1025,7 @@ msgid "Is success" msgstr "是否成功" #: audits/serializers.py:73 ops/models/command.py:24 -#: xpack/plugins/cloud/models.py:212 +#: xpack/plugins/cloud/models.py:209 msgid "Result" msgstr "结果" @@ -1144,8 +1144,8 @@ msgid "" "after {} minutes)" msgstr "账号已被锁定(请联系管理员解锁 或 {}分钟后重试)" -#: authentication/errors.py:50 users/views/profile/otp.py:63 -#: users/views/profile/otp.py:102 users/views/profile/otp.py:121 +#: authentication/errors.py:50 users/views/profile/otp.py:107 +#: users/views/profile/otp.py:146 users/views/profile/otp.py:166 msgid "MFA code invalid, or ntp sync server time" msgstr "MFA验证码不正确,或者服务器端时间不对" @@ -1440,10 +1440,6 @@ msgstr "字段必须唯一" msgid "

Flow service unavailable, check it

" msgstr "" -#: jumpserver/views/index.py:26 templates/_nav.html:7 -msgid "Dashboard" -msgstr "仪表盘" - #: jumpserver/views/other.py:26 msgid "" "
Luna is a separately deployed program, you need to deploy Luna, koko, " @@ -1626,6 +1622,14 @@ msgstr "更新任务内容: {}" msgid "Disk used more than 80%: {} => {}" msgstr "磁盘使用率超过 80%: {} => {}" +#: orgs/api.py:57 +msgid "Organization contains undeleted resources" +msgstr "组织内包含未删除的资源" + +#: orgs/api.py:61 +msgid "The current organization cannot be deleted" +msgstr "当能删除当前所在组织" + #: orgs/mixins/models.py:56 orgs/mixins/serializers.py:26 orgs/models.py:31 msgid "Organization" msgstr "组织" @@ -2019,6 +2023,10 @@ msgstr "" "\"%(user_pubkey_update)s\"> 链接 更新\n" " " +#: templates/_nav.html:7 +msgid "Dashboard" +msgstr "仪表盘" + #: templates/_nav.html:20 msgid "User list" msgstr "用户列表" @@ -2433,11 +2441,11 @@ msgstr "结束日期" msgid "Args" msgstr "参数" -#: tickets/api/request_asset_perm.py:40 +#: tickets/api/request_asset_perm.py:41 msgid "Ticket closed" msgstr "工单已关闭" -#: tickets/api/request_asset_perm.py:43 +#: tickets/api/request_asset_perm.py:44 #, python-format msgid "Ticket has %s" msgstr "工单已%s" @@ -2446,27 +2454,27 @@ msgstr "工单已%s" msgid "Superuser" msgstr "超级管理员" -#: tickets/api/request_asset_perm.py:102 +#: tickets/api/request_asset_perm.py:99 msgid "Confirm assets first" msgstr "请先确认资产" -#: tickets/api/request_asset_perm.py:105 +#: tickets/api/request_asset_perm.py:102 msgid "Confirmed assets changed" msgstr "确认的资产变更了" -#: tickets/api/request_asset_perm.py:109 +#: tickets/api/request_asset_perm.py:106 msgid "Confirm system-user first" msgstr "请先确认系统用户" -#: tickets/api/request_asset_perm.py:113 +#: tickets/api/request_asset_perm.py:110 msgid "Confirmed system-user changed" msgstr "确认的系统用户变更了" -#: tickets/api/request_asset_perm.py:116 xpack/plugins/cloud/models.py:205 +#: tickets/api/request_asset_perm.py:113 xpack/plugins/cloud/models.py:202 msgid "Succeed" msgstr "成功" -#: tickets/api/request_asset_perm.py:124 +#: tickets/api/request_asset_perm.py:121 msgid "{} request assets, approved by {}" msgstr "{} 申请资产,通过人 {}" @@ -2720,7 +2728,7 @@ msgstr "复制用户公钥到这里" msgid "Join user groups" msgstr "添加到用户组" -#: users/forms/user.py:103 users/views/profile/password.py:57 +#: users/forms/user.py:103 users/views/profile/password.py:59 #: users/views/profile/reset.py:123 msgid "* Your password does not meet the requirements" msgstr "* 您的密码不符合要求" @@ -2837,7 +2845,7 @@ msgstr "安全令牌验证" #: users/templates/users/_base_otp.html:14 users/templates/users/_user.html:13 #: users/templates/users/user_profile_update.html:55 -#: xpack/plugins/cloud/models.py:119 +#: xpack/plugins/cloud/models.py:119 xpack/plugins/cloud/serializers.py:81 msgid "Account" msgstr "账户" @@ -3552,27 +3560,27 @@ msgstr "" "
\n" " " -#: users/views/profile/otp.py:145 +#: users/views/profile/otp.py:190 msgid "MFA enable success" msgstr "多因子认证启用成功" -#: users/views/profile/otp.py:146 +#: users/views/profile/otp.py:191 msgid "MFA enable success, return login page" msgstr "多因子认证启用成功,返回到登录页面" -#: users/views/profile/otp.py:148 +#: users/views/profile/otp.py:193 msgid "MFA disable success" msgstr "多因子认证禁用成功" -#: users/views/profile/otp.py:149 +#: users/views/profile/otp.py:194 msgid "MFA disable success, return login page" msgstr "多因子认证禁用成功,返回登录页面" -#: users/views/profile/password.py:41 +#: users/views/profile/password.py:43 msgid "Password update" msgstr "密码更新" -#: users/views/profile/password.py:72 +#: users/views/profile/password.py:74 msgid "Password invalid" msgstr "用户名或密码无效" @@ -3732,55 +3740,55 @@ msgstr "地域" msgid "Instances" msgstr "实例" -#: xpack/plugins/cloud/models.py:136 xpack/plugins/cloud/serializers.py:80 -msgid "Covered always" -msgstr "总是被覆盖" +#: xpack/plugins/cloud/models.py:137 xpack/plugins/cloud/serializers.py:85 +msgid "Always update" +msgstr "总是更新" -#: xpack/plugins/cloud/models.py:142 +#: xpack/plugins/cloud/models.py:143 msgid "Date last sync" msgstr "最后同步日期" -#: xpack/plugins/cloud/models.py:153 xpack/plugins/cloud/models.py:210 +#: xpack/plugins/cloud/models.py:154 xpack/plugins/cloud/models.py:207 msgid "Sync instance task" msgstr "同步实例任务" -#: xpack/plugins/cloud/models.py:220 xpack/plugins/cloud/models.py:275 +#: xpack/plugins/cloud/models.py:217 xpack/plugins/cloud/models.py:272 msgid "Date sync" msgstr "同步日期" -#: xpack/plugins/cloud/models.py:248 +#: xpack/plugins/cloud/models.py:245 msgid "Unsync" msgstr "未同步" -#: xpack/plugins/cloud/models.py:249 xpack/plugins/cloud/models.py:250 +#: xpack/plugins/cloud/models.py:246 xpack/plugins/cloud/models.py:247 msgid "Synced" msgstr "已同步" -#: xpack/plugins/cloud/models.py:251 +#: xpack/plugins/cloud/models.py:248 msgid "Released" msgstr "已释放" -#: xpack/plugins/cloud/models.py:256 +#: xpack/plugins/cloud/models.py:253 msgid "Sync task" msgstr "同步任务" -#: xpack/plugins/cloud/models.py:260 +#: xpack/plugins/cloud/models.py:257 msgid "Sync instance task history" msgstr "同步实例任务历史" -#: xpack/plugins/cloud/models.py:263 +#: xpack/plugins/cloud/models.py:260 msgid "Instance" msgstr "实例" -#: xpack/plugins/cloud/models.py:266 +#: xpack/plugins/cloud/models.py:263 msgid "Region" msgstr "地域" -#: xpack/plugins/cloud/providers/aliyun.py:19 +#: xpack/plugins/cloud/providers/aliyun.py:22 msgid "Alibaba Cloud" msgstr "阿里云" -#: xpack/plugins/cloud/providers/aws.py:15 +#: xpack/plugins/cloud/providers/aws.py:18 msgid "AWS (International)" msgstr "AWS (国际)" @@ -3788,63 +3796,63 @@ msgstr "AWS (国际)" msgid "AWS (China)" msgstr "AWS (中国)" -#: xpack/plugins/cloud/providers/huaweicloud.py:17 +#: xpack/plugins/cloud/providers/huaweicloud.py:20 msgid "Huawei Cloud" msgstr "华为云" -#: xpack/plugins/cloud/providers/huaweicloud.py:20 +#: xpack/plugins/cloud/providers/huaweicloud.py:23 msgid "AF-Johannesburg" msgstr "非洲-约翰内斯堡" -#: xpack/plugins/cloud/providers/huaweicloud.py:21 +#: xpack/plugins/cloud/providers/huaweicloud.py:24 msgid "AP-Bangkok" msgstr "亚太-曼谷" -#: xpack/plugins/cloud/providers/huaweicloud.py:22 +#: xpack/plugins/cloud/providers/huaweicloud.py:25 msgid "AP-Hong Kong" msgstr "亚太-香港" -#: xpack/plugins/cloud/providers/huaweicloud.py:23 +#: xpack/plugins/cloud/providers/huaweicloud.py:26 msgid "AP-Singapore" msgstr "亚太-新加坡" -#: xpack/plugins/cloud/providers/huaweicloud.py:24 +#: xpack/plugins/cloud/providers/huaweicloud.py:27 msgid "CN East-Shanghai1" msgstr "华东-上海1" -#: xpack/plugins/cloud/providers/huaweicloud.py:25 +#: xpack/plugins/cloud/providers/huaweicloud.py:28 msgid "CN East-Shanghai2" msgstr "华东-上海2" -#: xpack/plugins/cloud/providers/huaweicloud.py:26 +#: xpack/plugins/cloud/providers/huaweicloud.py:29 msgid "CN North-Beijing1" msgstr "华北-北京1" -#: xpack/plugins/cloud/providers/huaweicloud.py:27 +#: xpack/plugins/cloud/providers/huaweicloud.py:30 msgid "CN North-Beijing4" msgstr "华北-北京4" -#: xpack/plugins/cloud/providers/huaweicloud.py:28 +#: xpack/plugins/cloud/providers/huaweicloud.py:31 msgid "CN Northeast-Dalian" msgstr "华北-大连" -#: xpack/plugins/cloud/providers/huaweicloud.py:29 +#: xpack/plugins/cloud/providers/huaweicloud.py:32 msgid "CN South-Guangzhou" msgstr "华南-广州" -#: xpack/plugins/cloud/providers/huaweicloud.py:30 +#: xpack/plugins/cloud/providers/huaweicloud.py:33 msgid "CN Southwest-Guiyang1" msgstr "西南-贵阳1" -#: xpack/plugins/cloud/providers/huaweicloud.py:31 +#: xpack/plugins/cloud/providers/huaweicloud.py:34 msgid "EU-Paris" msgstr "欧洲-巴黎" -#: xpack/plugins/cloud/providers/huaweicloud.py:32 +#: xpack/plugins/cloud/providers/huaweicloud.py:35 msgid "LA-Santiago" msgstr "拉美-圣地亚哥" -#: xpack/plugins/cloud/providers/qcloud.py:17 +#: xpack/plugins/cloud/providers/qcloud.py:20 msgid "Tencent Cloud" msgstr "腾讯云" @@ -3856,11 +3864,7 @@ msgstr "执行次数" msgid "Instance count" msgstr "实例个数" -#: xpack/plugins/cloud/serializers.py:78 -msgid "Account name" -msgstr "账户名称" - -#: xpack/plugins/cloud/serializers.py:79 +#: xpack/plugins/cloud/serializers.py:84 #: xpack/plugins/gathered_user/serializers.py:20 msgid "Periodic display" msgstr "定时执行" @@ -3949,12 +3953,15 @@ msgstr "企业版" msgid "Ultimate edition" msgstr "旗舰版" +#~ msgid "Covered always" +#~ msgstr "总是被覆盖" + +#~ msgid "Account name" +#~ msgstr "账户名称" + #~ msgid "Auditors cannot be join in the user group" #~ msgstr "审计员不能被加入到用户组" -#~ msgid "Always update" -#~ msgstr "总是更新" - #~ msgid "Target URL" #~ msgstr "目标URL" diff --git a/apps/orgs/api.py b/apps/orgs/api.py index 448c1dab0..d8ba32635 100644 --- a/apps/orgs/api.py +++ b/apps/orgs/api.py @@ -2,6 +2,7 @@ # from django.shortcuts import get_object_or_404 +from django.utils.translation import ugettext as _ from rest_framework import status, generics from rest_framework.views import Response from rest_framework_bulk import BulkModelViewSet @@ -53,10 +54,12 @@ class OrgViewSet(BulkModelViewSet): for model in models: data = self.get_data_from_model(model) if data: - return Response(status=status.HTTP_400_BAD_REQUEST) + msg = _('Organization contains undeleted resources') + return Response(data={'error': msg}, status=status.HTTP_403_FORBIDDEN) else: if str(current_org) == str(self.org): - return Response(status=status.HTTP_405_METHOD_NOT_ALLOWED) + msg = _('The current organization cannot be deleted') + return Response(data={'error': msg}, status=status.HTTP_403_FORBIDDEN) self.org.delete() return Response({'msg': True}, status=status.HTTP_200_OK)