From 7d0a19635adca26e2429c4b8dceab0f133d4c946 Mon Sep 17 00:00:00 2001 From: fit2bot <68588906+fit2bot@users.noreply.github.com> Date: Wed, 17 Aug 2022 14:45:02 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E7=AC=A6=E5=90=88=E6=8B=92=E7=BB=9D=E6=97=B6=20=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E6=97=A5=E5=BF=97=E7=B1=BB=E5=9E=8B=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E9=97=AE=E9=A2=98=20(#8758)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: feng626 <1304903146@qq.com> --- .../templates/authentication/login_wait_confirm.html | 5 ++++- apps/static/js/jumpserver.js | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/authentication/templates/authentication/login_wait_confirm.html b/apps/authentication/templates/authentication/login_wait_confirm.html index bd94c1986..a74c8db26 100644 --- a/apps/authentication/templates/authentication/login_wait_confirm.html +++ b/apps/authentication/templates/authentication/login_wait_confirm.html @@ -98,7 +98,10 @@ function doRequestAuth() { }, error: function (text, data) { }, - flash_message: false + beforeSend: function(request) { + request.setRequestHeader("X-JMS-LOGIN-TYPE", "W"); + }, + flash_message: false, // 是否显示flash消息 }) } function initClipboard() { diff --git a/apps/static/js/jumpserver.js b/apps/static/js/jumpserver.js index 3edf445b0..e3537cb84 100644 --- a/apps/static/js/jumpserver.js +++ b/apps/static/js/jumpserver.js @@ -270,11 +270,13 @@ function requestApi(props) { if (typeof(dataBody) === "object") { dataBody = JSON.stringify(dataBody) } + var beforeSend = props.beforeSend || function (request) {} $.ajax({ url: props.url, type: props.method || "PATCH", data: dataBody, + beforeSend: beforeSend, contentType: props.content_type || "application/json; charset=utf-8", dataType: props.data_type || "json" }).done(function (data, textStatue, jqXHR) { From 867ad94a302b15ed1f035ce07c97b43b2de96c68 Mon Sep 17 00:00:00 2001 From: "Jiangjie.Bai" Date: Wed, 17 Aug 2022 15:20:42 +0800 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E9=87=8D=E5=AE=9A=E5=90=91=E5=9C=B0=E5=9D=80=20scheme=20?= =?UTF-8?q?=E5=8F=96=E5=80=BC=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/authentication/utils.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/apps/authentication/utils.py b/apps/authentication/utils.py index a7f18648b..a0db9061c 100644 --- a/apps/authentication/utils.py +++ b/apps/authentication/utils.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # import ipaddress -from urllib.parse import urljoin +from urllib.parse import urljoin, urlparse from django.conf import settings from django.utils.translation import ugettext_lazy as _ @@ -39,7 +39,11 @@ def build_absolute_uri(request, path=None): """ Build absolute redirect """ if path is None: path = '/' - redirect_uri = request.build_absolute_uri(path) + site_url = urlparse(settings.SITE_URL) + scheme = site_url.scheme or request.scheme + host = request.get_host() + url = f'{scheme}://{host}' + redirect_uri = urljoin(url, path) return redirect_uri @@ -50,6 +54,5 @@ def build_absolute_uri_for_oidc(request, path=None): if settings.BASE_SITE_URL: # OIDC 专用配置项 redirect_uri = urljoin(settings.BASE_SITE_URL, path) - else: - redirect_uri = request.build_absolute_uri(path) - return redirect_uri + return redirect_uri + return build_absolute_uri(request, path=path) From 3ab634d88ebc098d764bbb4bce5451f940f0aa29 Mon Sep 17 00:00:00 2001 From: "Jiangjie.Bai" Date: Wed, 17 Aug 2022 16:40:56 +0800 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/locale/ja/LC_MESSAGES/django.mo | 4 +- apps/locale/ja/LC_MESSAGES/django.po | 83 ++++++++++++++-------------- apps/locale/zh/LC_MESSAGES/django.mo | 4 +- apps/locale/zh/LC_MESSAGES/django.po | 83 ++++++++++++++-------------- 4 files changed, 88 insertions(+), 86 deletions(-) diff --git a/apps/locale/ja/LC_MESSAGES/django.mo b/apps/locale/ja/LC_MESSAGES/django.mo index 66532110b..4378759fd 100644 --- a/apps/locale/ja/LC_MESSAGES/django.mo +++ b/apps/locale/ja/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:62879a50d21ad41c43bf748f6045bf30a933d5d08021d97dc1c68e23f6bf8e65 -size 130015 +oid sha256:d7d4ace7d7ec976b0321bde41789f994f02e3ab6f034828cbfb7e675a313611f +size 131531 diff --git a/apps/locale/ja/LC_MESSAGES/django.po b/apps/locale/ja/LC_MESSAGES/django.po index 655e05db0..a5cb194ad 100644 --- a/apps/locale/ja/LC_MESSAGES/django.po +++ b/apps/locale/ja/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-08-10 19:03+0800\n" +"POT-Creation-Date: 2022-08-17 16:28+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -352,7 +352,7 @@ msgstr "カテゴリ表示" #: assets/serializers/cmd_filter.py:34 assets/serializers/system_user.py:34 #: audits/serializers.py:29 authentication/serializers/connection_token.py:22 #: perms/serializers/application/permission.py:19 -#: tickets/serializers/flow.py:48 tickets/serializers/ticket/ticket.py:17 +#: tickets/serializers/flow.py:49 tickets/serializers/ticket/ticket.py:17 msgid "Type display" msgstr "タイプ表示" @@ -393,7 +393,7 @@ msgstr "クラスター" #: applications/serializers/attrs/application_category/db.py:11 #: ops/models/adhoc.py:157 settings/serializers/auth/radius.py:14 -#: settings/serializers/auth/sms.py:52 terminal/models/endpoint.py:11 +#: settings/serializers/auth/sms.py:56 terminal/models/endpoint.py:11 #: xpack/plugins/cloud/serializers/account_attrs.py:72 msgid "Host" msgstr "ホスト" @@ -407,7 +407,7 @@ msgstr "ホスト" #: applications/serializers/attrs/application_type/redis.py:10 #: applications/serializers/attrs/application_type/sqlserver.py:10 #: assets/models/asset.py:214 assets/models/domain.py:62 -#: settings/serializers/auth/radius.py:15 settings/serializers/auth/sms.py:53 +#: settings/serializers/auth/radius.py:15 settings/serializers/auth/sms.py:57 #: xpack/plugins/cloud/serializers/account_attrs.py:73 msgid "Port" msgstr "ポート" @@ -962,7 +962,7 @@ msgstr "資産グループ" msgid "Default asset group" msgstr "デフォルトアセットグループ" -#: assets/models/label.py:19 assets/models/node.py:546 settings/models.py:34 +#: assets/models/label.py:19 assets/models/node.py:553 settings/models.py:34 msgid "Value" msgstr "値" @@ -970,32 +970,32 @@ msgstr "値" msgid "Label" msgstr "ラベル" -#: assets/models/node.py:151 +#: assets/models/node.py:158 msgid "New node" msgstr "新しいノード" -#: assets/models/node.py:474 +#: assets/models/node.py:481 msgid "empty" msgstr "空" -#: assets/models/node.py:545 perms/models/asset_permission.py:101 +#: assets/models/node.py:552 perms/models/asset_permission.py:101 msgid "Key" msgstr "キー" -#: assets/models/node.py:547 assets/serializers/node.py:20 +#: assets/models/node.py:554 assets/serializers/node.py:20 msgid "Full value" msgstr "フルバリュー" -#: assets/models/node.py:550 perms/models/asset_permission.py:102 +#: assets/models/node.py:557 perms/models/asset_permission.py:102 msgid "Parent key" msgstr "親キー" -#: assets/models/node.py:559 assets/serializers/system_user.py:267 +#: assets/models/node.py:566 assets/serializers/system_user.py:267 #: xpack/plugins/cloud/models.py:96 xpack/plugins/cloud/serializers/task.py:70 msgid "Node" msgstr "ノード" -#: assets/models/node.py:562 +#: assets/models/node.py:569 msgid "Can match node" msgstr "ノードを一致させることができます" @@ -2031,15 +2031,15 @@ msgstr "本を飛ばすは拘束されていません" msgid "Your password is invalid" msgstr "パスワードが無効です" -#: authentication/errors/redirect.py:79 authentication/mixins.py:306 +#: authentication/errors/redirect.py:85 authentication/mixins.py:306 msgid "Your password is too simple, please change it for security" msgstr "パスワードがシンプルすぎるので、セキュリティのために変更してください" -#: authentication/errors/redirect.py:87 authentication/mixins.py:313 +#: authentication/errors/redirect.py:93 authentication/mixins.py:313 msgid "You should to change your password before login" msgstr "ログインする前にパスワードを変更する必要があります" -#: authentication/errors/redirect.py:95 authentication/mixins.py:320 +#: authentication/errors/redirect.py:101 authentication/mixins.py:320 msgid "Your password has expired, please reset before logging in" msgstr "" "パスワードの有効期限が切れました。ログインする前にリセットしてください。" @@ -2468,10 +2468,15 @@ msgstr "リンクのコピー" msgid "Return" msgstr "返品" -#: authentication/templates/authentication/login_wait_confirm.html:113 +#: authentication/templates/authentication/login_wait_confirm.html:116 msgid "Copy success" msgstr "コピー成功" +#: authentication/utils.py:28 common/utils/ip/geoip/utils.py:24 +#: xpack/plugins/cloud/const.py:24 +msgid "LAN" +msgstr "ローカルエリアネットワーク" + #: authentication/views/dingtalk.py:41 msgid "DingTalk Error, Please contact your system administrator" msgstr "DingTalkエラー、システム管理者に連絡してください" @@ -2766,10 +2771,6 @@ msgstr "確認コードが正しくありません" msgid "Please wait {} seconds before sending" msgstr "{} 秒待ってから送信してください" -#: common/utils/ip/geoip/utils.py:24 xpack/plugins/cloud/const.py:24 -msgid "LAN" -msgstr "ローカルエリアネットワーク" - #: common/utils/ip/geoip/utils.py:26 common/utils/ip/utils.py:78 msgid "Invalid ip" msgstr "無効なIP" @@ -3049,7 +3050,7 @@ msgstr "組織のリソース ({}) は削除できません" msgid "App organizations" msgstr "アプリ組織" -#: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:85 +#: orgs/mixins/models.py:56 orgs/mixins/serializers.py:25 orgs/models.py:85 #: orgs/models.py:217 rbac/const.py:7 rbac/models/rolebinding.py:48 #: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:62 #: tickets/models/ticket/general.py:300 tickets/serializers/ticket/ticket.py:71 @@ -3847,50 +3848,50 @@ msgstr "SP プライベートキー" msgid "SP cert" msgstr "SP 証明書" -#: settings/serializers/auth/sms.py:14 +#: settings/serializers/auth/sms.py:15 msgid "Enable SMS" msgstr "SMSの有効化" -#: settings/serializers/auth/sms.py:16 +#: settings/serializers/auth/sms.py:17 msgid "SMS provider / Protocol" msgstr "SMSプロバイダ / プロトコル" -#: settings/serializers/auth/sms.py:21 settings/serializers/auth/sms.py:39 -#: settings/serializers/auth/sms.py:47 settings/serializers/auth/sms.py:58 +#: settings/serializers/auth/sms.py:22 settings/serializers/auth/sms.py:43 +#: settings/serializers/auth/sms.py:51 settings/serializers/auth/sms.py:62 #: settings/serializers/email.py:65 msgid "Signature" msgstr "署名" -#: settings/serializers/auth/sms.py:22 settings/serializers/auth/sms.py:40 -#: settings/serializers/auth/sms.py:48 +#: settings/serializers/auth/sms.py:23 settings/serializers/auth/sms.py:44 +#: settings/serializers/auth/sms.py:52 msgid "Template code" msgstr "テンプレートコード" -#: settings/serializers/auth/sms.py:26 +#: settings/serializers/auth/sms.py:29 msgid "Test phone" msgstr "テスト電話" -#: settings/serializers/auth/sms.py:54 +#: settings/serializers/auth/sms.py:58 msgid "Enterprise code(SP id)" msgstr "企業コード(SP id)" -#: settings/serializers/auth/sms.py:55 +#: settings/serializers/auth/sms.py:59 msgid "Shared secret(Shared secret)" msgstr "パスワードを共有する(Shared secret)" -#: settings/serializers/auth/sms.py:56 +#: settings/serializers/auth/sms.py:60 msgid "Original number(Src id)" msgstr "元の番号(Src id)" -#: settings/serializers/auth/sms.py:57 +#: settings/serializers/auth/sms.py:61 msgid "Business type(Service id)" msgstr "ビジネス・タイプ(Service id)" -#: settings/serializers/auth/sms.py:60 +#: settings/serializers/auth/sms.py:64 msgid "Template" msgstr "テンプレート" -#: settings/serializers/auth/sms.py:61 +#: settings/serializers/auth/sms.py:65 #, python-brace-format msgid "" "Template need contain {code} and Signature + template length does not exceed " @@ -3901,12 +3902,12 @@ msgstr "" "満です。たとえば、認証コードは{code}で、有効期間は5分です。他の人には言わない" "でください。" -#: settings/serializers/auth/sms.py:70 +#: settings/serializers/auth/sms.py:74 #, python-brace-format msgid "The template needs to contain {code}" msgstr "テンプレートには{code}を含める必要があります" -#: settings/serializers/auth/sms.py:73 +#: settings/serializers/auth/sms.py:77 msgid "Signature + Template must not exceed 65 words" msgstr "署名+テンプレートの長さは65文字以内" @@ -5427,11 +5428,11 @@ msgstr "ボディ" msgid "Approve level" msgstr "レベルを承認する" -#: tickets/models/flow.py:25 tickets/serializers/flow.py:14 +#: tickets/models/flow.py:25 tickets/serializers/flow.py:15 msgid "Approve strategy" msgstr "戦略を承認する" -#: tickets/models/flow.py:30 tickets/serializers/flow.py:15 +#: tickets/models/flow.py:30 tickets/serializers/flow.py:16 msgid "Assignees" msgstr "アシニーズ" @@ -5574,15 +5575,15 @@ msgstr "チケットが処理されました。プロセッサー- {}" msgid "Ticket has processed - {} ({})" msgstr "チケットが処理済み- {} ({})" -#: tickets/serializers/flow.py:16 +#: tickets/serializers/flow.py:17 msgid "Assignees display" msgstr "受付者名" -#: tickets/serializers/flow.py:42 +#: tickets/serializers/flow.py:43 msgid "Please select the Assignees" msgstr "受付をお選びください" -#: tickets/serializers/flow.py:68 +#: tickets/serializers/flow.py:69 msgid "The current organization type already exists" msgstr "現在の組織タイプは既に存在します。" diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index 034a33cb1..1b7f36e83 100644 --- a/apps/locale/zh/LC_MESSAGES/django.mo +++ b/apps/locale/zh/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:adb46a0b7afdddc1b8a399e0fc0a0926012308ddce0ff487b68cb6c209d74039 -size 107133 +oid sha256:114dc04325f5a778a7cd0fb1b4d5aa71dfb60ada57b1b4f3ae43d89c1c818e0f +size 108398 diff --git a/apps/locale/zh/LC_MESSAGES/django.po b/apps/locale/zh/LC_MESSAGES/django.po index d36c5f037..0eed25b45 100644 --- a/apps/locale/zh/LC_MESSAGES/django.po +++ b/apps/locale/zh/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: JumpServer 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-08-10 19:03+0800\n" +"POT-Creation-Date: 2022-08-17 16:28+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -347,7 +347,7 @@ msgstr "类别名称" #: assets/serializers/cmd_filter.py:34 assets/serializers/system_user.py:34 #: audits/serializers.py:29 authentication/serializers/connection_token.py:22 #: perms/serializers/application/permission.py:19 -#: tickets/serializers/flow.py:48 tickets/serializers/ticket/ticket.py:17 +#: tickets/serializers/flow.py:49 tickets/serializers/ticket/ticket.py:17 msgid "Type display" msgstr "类型名称" @@ -388,7 +388,7 @@ msgstr "集群" #: applications/serializers/attrs/application_category/db.py:11 #: ops/models/adhoc.py:157 settings/serializers/auth/radius.py:14 -#: settings/serializers/auth/sms.py:52 terminal/models/endpoint.py:11 +#: settings/serializers/auth/sms.py:56 terminal/models/endpoint.py:11 #: xpack/plugins/cloud/serializers/account_attrs.py:72 msgid "Host" msgstr "主机" @@ -402,7 +402,7 @@ msgstr "主机" #: applications/serializers/attrs/application_type/redis.py:10 #: applications/serializers/attrs/application_type/sqlserver.py:10 #: assets/models/asset.py:214 assets/models/domain.py:62 -#: settings/serializers/auth/radius.py:15 settings/serializers/auth/sms.py:53 +#: settings/serializers/auth/radius.py:15 settings/serializers/auth/sms.py:57 #: xpack/plugins/cloud/serializers/account_attrs.py:73 msgid "Port" msgstr "端口" @@ -957,7 +957,7 @@ msgstr "资产组" msgid "Default asset group" msgstr "默认资产组" -#: assets/models/label.py:19 assets/models/node.py:546 settings/models.py:34 +#: assets/models/label.py:19 assets/models/node.py:553 settings/models.py:34 msgid "Value" msgstr "值" @@ -965,32 +965,32 @@ msgstr "值" msgid "Label" msgstr "标签" -#: assets/models/node.py:151 +#: assets/models/node.py:158 msgid "New node" msgstr "新节点" -#: assets/models/node.py:474 +#: assets/models/node.py:481 msgid "empty" msgstr "空" -#: assets/models/node.py:545 perms/models/asset_permission.py:101 +#: assets/models/node.py:552 perms/models/asset_permission.py:101 msgid "Key" msgstr "键" -#: assets/models/node.py:547 assets/serializers/node.py:20 +#: assets/models/node.py:554 assets/serializers/node.py:20 msgid "Full value" msgstr "全称" -#: assets/models/node.py:550 perms/models/asset_permission.py:102 +#: assets/models/node.py:557 perms/models/asset_permission.py:102 msgid "Parent key" msgstr "ssh私钥" -#: assets/models/node.py:559 assets/serializers/system_user.py:267 +#: assets/models/node.py:566 assets/serializers/system_user.py:267 #: xpack/plugins/cloud/models.py:96 xpack/plugins/cloud/serializers/task.py:70 msgid "Node" msgstr "节点" -#: assets/models/node.py:562 +#: assets/models/node.py:569 msgid "Can match node" msgstr "可以匹配节点" @@ -2011,15 +2011,15 @@ msgstr "没有绑定飞书" msgid "Your password is invalid" msgstr "您的密码无效" -#: authentication/errors/redirect.py:79 authentication/mixins.py:306 +#: authentication/errors/redirect.py:85 authentication/mixins.py:306 msgid "Your password is too simple, please change it for security" msgstr "你的密码过于简单,为了安全,请修改" -#: authentication/errors/redirect.py:87 authentication/mixins.py:313 +#: authentication/errors/redirect.py:93 authentication/mixins.py:313 msgid "You should to change your password before login" msgstr "登录完成前,请先修改密码" -#: authentication/errors/redirect.py:95 authentication/mixins.py:320 +#: authentication/errors/redirect.py:101 authentication/mixins.py:320 msgid "Your password has expired, please reset before logging in" msgstr "您的密码已过期,先修改再登录" @@ -2434,10 +2434,15 @@ msgstr "复制链接" msgid "Return" msgstr "返回" -#: authentication/templates/authentication/login_wait_confirm.html:113 +#: authentication/templates/authentication/login_wait_confirm.html:116 msgid "Copy success" msgstr "复制成功" +#: authentication/utils.py:28 common/utils/ip/geoip/utils.py:24 +#: xpack/plugins/cloud/const.py:24 +msgid "LAN" +msgstr "局域网" + #: authentication/views/dingtalk.py:41 msgid "DingTalk Error, Please contact your system administrator" msgstr "钉钉错误,请联系系统管理员" @@ -2732,10 +2737,6 @@ msgstr "验证码错误" msgid "Please wait {} seconds before sending" msgstr "请在 {} 秒后发送" -#: common/utils/ip/geoip/utils.py:24 xpack/plugins/cloud/const.py:24 -msgid "LAN" -msgstr "局域网" - #: common/utils/ip/geoip/utils.py:26 common/utils/ip/utils.py:78 msgid "Invalid ip" msgstr "无效IP" @@ -3009,7 +3010,7 @@ msgstr "组织存在资源 ({}) 不能被删除" msgid "App organizations" msgstr "组织管理" -#: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:85 +#: orgs/mixins/models.py:56 orgs/mixins/serializers.py:25 orgs/models.py:85 #: orgs/models.py:217 rbac/const.py:7 rbac/models/rolebinding.py:48 #: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:62 #: tickets/models/ticket/general.py:300 tickets/serializers/ticket/ticket.py:71 @@ -3804,50 +3805,50 @@ msgstr "SP 密钥" msgid "SP cert" msgstr "SP 证书" -#: settings/serializers/auth/sms.py:14 +#: settings/serializers/auth/sms.py:15 msgid "Enable SMS" msgstr "启用 SMS" -#: settings/serializers/auth/sms.py:16 +#: settings/serializers/auth/sms.py:17 msgid "SMS provider / Protocol" msgstr "短信服务商 / 协议" -#: settings/serializers/auth/sms.py:21 settings/serializers/auth/sms.py:39 -#: settings/serializers/auth/sms.py:47 settings/serializers/auth/sms.py:58 +#: settings/serializers/auth/sms.py:22 settings/serializers/auth/sms.py:43 +#: settings/serializers/auth/sms.py:51 settings/serializers/auth/sms.py:62 #: settings/serializers/email.py:65 msgid "Signature" msgstr "签名" -#: settings/serializers/auth/sms.py:22 settings/serializers/auth/sms.py:40 -#: settings/serializers/auth/sms.py:48 +#: settings/serializers/auth/sms.py:23 settings/serializers/auth/sms.py:44 +#: settings/serializers/auth/sms.py:52 msgid "Template code" msgstr "模板" -#: settings/serializers/auth/sms.py:26 +#: settings/serializers/auth/sms.py:29 msgid "Test phone" msgstr "测试手机号" -#: settings/serializers/auth/sms.py:54 +#: settings/serializers/auth/sms.py:58 msgid "Enterprise code(SP id)" msgstr "企业代码(SP id)" -#: settings/serializers/auth/sms.py:55 +#: settings/serializers/auth/sms.py:59 msgid "Shared secret(Shared secret)" msgstr "共享密码(Shared secret)" -#: settings/serializers/auth/sms.py:56 +#: settings/serializers/auth/sms.py:60 msgid "Original number(Src id)" msgstr "原始号码(Src id)" -#: settings/serializers/auth/sms.py:57 +#: settings/serializers/auth/sms.py:61 msgid "Business type(Service id)" msgstr "业务类型(Service id)" -#: settings/serializers/auth/sms.py:60 +#: settings/serializers/auth/sms.py:64 msgid "Template" msgstr "模板" -#: settings/serializers/auth/sms.py:61 +#: settings/serializers/auth/sms.py:65 #, python-brace-format msgid "" "Template need contain {code} and Signature + template length does not exceed " @@ -3857,12 +3858,12 @@ msgstr "" "模板需要包含 {code},并且模板+签名长度不能超过67个字。例如, 您的验证码是 " "{code}, 有效期为5分钟。请不要泄露给其他人。" -#: settings/serializers/auth/sms.py:70 +#: settings/serializers/auth/sms.py:74 #, python-brace-format msgid "The template needs to contain {code}" msgstr "模板需要包含 {code}" -#: settings/serializers/auth/sms.py:73 +#: settings/serializers/auth/sms.py:77 msgid "Signature + Template must not exceed 65 words" msgstr "模板+签名不能超过65个字" @@ -5346,11 +5347,11 @@ msgstr "内容" msgid "Approve level" msgstr "审批级别" -#: tickets/models/flow.py:25 tickets/serializers/flow.py:14 +#: tickets/models/flow.py:25 tickets/serializers/flow.py:15 msgid "Approve strategy" msgstr "审批策略" -#: tickets/models/flow.py:30 tickets/serializers/flow.py:15 +#: tickets/models/flow.py:30 tickets/serializers/flow.py:16 msgid "Assignees" msgstr "受理人" @@ -5493,15 +5494,15 @@ msgstr "你的工单已被处理, 处理人 - {}" msgid "Ticket has processed - {} ({})" msgstr "你的工单已被处理, 处理人 - {} ({})" -#: tickets/serializers/flow.py:16 +#: tickets/serializers/flow.py:17 msgid "Assignees display" msgstr "受理人名称" -#: tickets/serializers/flow.py:42 +#: tickets/serializers/flow.py:43 msgid "Please select the Assignees" msgstr "请选择受理人" -#: tickets/serializers/flow.py:68 +#: tickets/serializers/flow.py:69 msgid "The current organization type already exists" msgstr "当前组织已存在该类型"