mirror of https://github.com/jumpserver/jumpserver
perf: 优化 playbook 删除策略,正在被 job 使用时无法被删除
parent
2ce293bd81
commit
df249a0355
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8c2600b7094db2a9e64862169ff1c826d5064fae9b9e71744545a1cea88cbc65
|
||||
size 136280
|
||||
oid sha256:6fa80b59b9b5f95a9cfcad8ec47eacd519bb962d139ab90463795a7b306a0a72
|
||||
size 137935
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-10 15:11+0800\n"
|
||||
"POT-Creation-Date: 2023-03-14 17:34+0800\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -169,7 +169,7 @@ msgstr "作成のみ"
|
|||
#: assets/models/cmd_filter.py:36 assets/serializers/domain.py:19
|
||||
#: assets/serializers/label.py:27 audits/models.py:48
|
||||
#: authentication/models/connection_token.py:33
|
||||
#: perms/models/asset_permission.py:64 perms/serializers/permission.py:29
|
||||
#: perms/models/asset_permission.py:64 perms/serializers/permission.py:35
|
||||
#: terminal/backends/command/models.py:20 terminal/models/session/session.py:32
|
||||
#: terminal/notifications.py:95 terminal/serializers/command.py:17
|
||||
#: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:212
|
||||
|
@ -195,9 +195,9 @@ msgstr "ソース"
|
|||
#: accounts/serializers/automations/change_secret.py:112
|
||||
#: accounts/serializers/automations/change_secret.py:132
|
||||
#: acls/models/base.py:102 acls/serializers/base.py:57
|
||||
#: assets/serializers/asset/common.py:124 assets/serializers/gateway.py:28
|
||||
#: assets/serializers/asset/common.py:131 assets/serializers/gateway.py:28
|
||||
#: audits/models.py:49 ops/models/base.py:18
|
||||
#: perms/models/asset_permission.py:70 perms/serializers/permission.py:34
|
||||
#: perms/models/asset_permission.py:70 perms/serializers/permission.py:40
|
||||
#: terminal/backends/command/models.py:21 terminal/models/session/session.py:34
|
||||
#: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:85
|
||||
msgid "Account"
|
||||
|
@ -446,7 +446,7 @@ msgstr "アカウントの確認"
|
|||
#: assets/models/cmd_filter.py:21 assets/models/domain.py:18
|
||||
#: assets/models/group.py:20 assets/models/label.py:18
|
||||
#: assets/models/platform.py:21 assets/models/platform.py:76
|
||||
#: assets/serializers/asset/common.py:67 assets/serializers/asset/common.py:143
|
||||
#: assets/serializers/asset/common.py:74 assets/serializers/asset/common.py:151
|
||||
#: assets/serializers/platform.py:133
|
||||
#: authentication/serializers/connect_token_secret.py:103 ops/mixin.py:21
|
||||
#: ops/models/adhoc.py:21 ops/models/celery.py:15 ops/models/celery.py:57
|
||||
|
@ -470,7 +470,7 @@ msgstr "特権アカウント"
|
|||
#: assets/models/automations/base.py:21 assets/models/cmd_filter.py:39
|
||||
#: assets/models/label.py:22
|
||||
#: authentication/serializers/connect_token_secret.py:107
|
||||
#: terminal/models/applet/applet.py:32 users/serializers/user.py:161
|
||||
#: terminal/models/applet/applet.py:32 users/serializers/user.py:162
|
||||
msgid "Is active"
|
||||
msgstr "アクティブです。"
|
||||
|
||||
|
@ -516,23 +516,23 @@ msgstr ""
|
|||
"情報にアクセスしてください-> ファイル暗号化パスワードを設定してください"
|
||||
|
||||
#: accounts/serializers/account/account.py:65
|
||||
#: assets/serializers/asset/common.py:65 settings/serializers/auth/sms.py:75
|
||||
#: assets/serializers/asset/common.py:72 settings/serializers/auth/sms.py:75
|
||||
msgid "Template"
|
||||
msgstr "テンプレート"
|
||||
|
||||
#: accounts/serializers/account/account.py:68
|
||||
#: assets/serializers/asset/common.py:62
|
||||
#: assets/serializers/asset/common.py:69
|
||||
msgid "Push now"
|
||||
msgstr "今すぐプッシュ"
|
||||
|
||||
#: accounts/serializers/account/account.py:70
|
||||
#: accounts/serializers/account/base.py:62
|
||||
#: accounts/serializers/account/base.py:64
|
||||
msgid "Has secret"
|
||||
msgstr "エスクローされたパスワード"
|
||||
|
||||
#: accounts/serializers/account/account.py:75 applications/models.py:11
|
||||
#: assets/models/label.py:21 assets/models/platform.py:77
|
||||
#: assets/serializers/asset/common.py:120 assets/serializers/cagegory.py:8
|
||||
#: assets/serializers/asset/common.py:127 assets/serializers/cagegory.py:8
|
||||
#: assets/serializers/platform.py:94 assets/serializers/platform.py:134
|
||||
#: perms/serializers/user_permission.py:26 settings/models.py:35
|
||||
#: tickets/models/ticket/apply_application.py:13
|
||||
|
@ -544,7 +544,7 @@ msgstr "カテゴリ"
|
|||
#: acls/serializers/command_acl.py:18 applications/models.py:14
|
||||
#: assets/models/_user.py:50 assets/models/automations/base.py:20
|
||||
#: assets/models/cmd_filter.py:74 assets/models/platform.py:78
|
||||
#: assets/serializers/asset/common.py:121 assets/serializers/platform.py:93
|
||||
#: assets/serializers/asset/common.py:128 assets/serializers/platform.py:93
|
||||
#: audits/serializers.py:48
|
||||
#: authentication/serializers/connect_token_secret.py:116 ops/models/job.py:102
|
||||
#: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:31
|
||||
|
@ -591,8 +591,8 @@ msgstr "キー/パスワード"
|
|||
msgid "Key password"
|
||||
msgstr "キーパスワード"
|
||||
|
||||
#: accounts/serializers/account/base.py:79
|
||||
#: assets/serializers/asset/common.py:291
|
||||
#: accounts/serializers/account/base.py:81
|
||||
#: assets/serializers/asset/common.py:301
|
||||
msgid "Spec info"
|
||||
msgstr "特別情報"
|
||||
|
||||
|
@ -741,7 +741,7 @@ msgstr "アクティブ"
|
|||
#: authentication/models/sso_token.py:16
|
||||
#: notifications/models/notification.py:12
|
||||
#: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:58
|
||||
#: perms/serializers/permission.py:25 rbac/builtin.py:122
|
||||
#: perms/serializers/permission.py:31 rbac/builtin.py:122
|
||||
#: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:19
|
||||
#: terminal/models/session/session.py:30 terminal/models/session/sharing.py:32
|
||||
#: terminal/notifications.py:96 terminal/notifications.py:144
|
||||
|
@ -996,7 +996,7 @@ msgid "Device"
|
|||
msgstr "インターネット機器"
|
||||
|
||||
#: assets/const/category.py:13 assets/models/asset/database.py:9
|
||||
#: assets/models/asset/database.py:24 assets/serializers/asset/common.py:108
|
||||
#: assets/models/asset/database.py:24 assets/serializers/asset/common.py:115
|
||||
msgid "Database"
|
||||
msgstr "データベース"
|
||||
|
||||
|
@ -1060,7 +1060,7 @@ msgid "Basic"
|
|||
msgstr "基本"
|
||||
|
||||
#: assets/const/web.py:61 assets/models/asset/web.py:13
|
||||
#: assets/serializers/asset/common.py:116 assets/serializers/platform.py:40
|
||||
#: assets/serializers/asset/common.py:123 assets/serializers/platform.py:40
|
||||
msgid "Script"
|
||||
msgstr "脚本"
|
||||
|
||||
|
@ -1189,7 +1189,7 @@ msgstr "クラウド サービス"
|
|||
msgid "Port"
|
||||
msgstr "ポート"
|
||||
|
||||
#: assets/models/asset/common.py:103 assets/serializers/asset/common.py:144
|
||||
#: assets/models/asset/common.py:103 assets/serializers/asset/common.py:152
|
||||
msgid "Address"
|
||||
msgstr "アドレス"
|
||||
|
||||
|
@ -1226,7 +1226,7 @@ msgstr "アセットを一致させることができます"
|
|||
msgid "Can change asset nodes"
|
||||
msgstr "資産ノードを変更できます"
|
||||
|
||||
#: assets/models/asset/database.py:10 assets/serializers/asset/common.py:109
|
||||
#: assets/models/asset/database.py:10 assets/serializers/asset/common.py:116
|
||||
#: settings/serializers/email.py:37
|
||||
msgid "Use SSL"
|
||||
msgstr "SSLの使用"
|
||||
|
@ -1243,7 +1243,7 @@ msgstr "クライアント証明書"
|
|||
msgid "Client key"
|
||||
msgstr "クライアントキー"
|
||||
|
||||
#: assets/models/asset/database.py:14 assets/serializers/asset/common.py:110
|
||||
#: assets/models/asset/database.py:14 assets/serializers/asset/common.py:117
|
||||
msgid "Allow invalid cert"
|
||||
msgstr "証明書チェックを無視"
|
||||
|
||||
|
@ -1251,23 +1251,23 @@ msgstr "証明書チェックを無視"
|
|||
msgid "Autofill"
|
||||
msgstr "自動充填"
|
||||
|
||||
#: assets/models/asset/web.py:10 assets/serializers/asset/common.py:113
|
||||
#: assets/models/asset/web.py:10 assets/serializers/asset/common.py:120
|
||||
#: assets/serializers/platform.py:32
|
||||
msgid "Username selector"
|
||||
msgstr "ユーザー名ピッカー"
|
||||
|
||||
#: assets/models/asset/web.py:11 assets/serializers/asset/common.py:114
|
||||
#: assets/models/asset/web.py:11 assets/serializers/asset/common.py:121
|
||||
#: assets/serializers/platform.py:35
|
||||
msgid "Password selector"
|
||||
msgstr "パスワードセレクター"
|
||||
|
||||
#: assets/models/asset/web.py:12 assets/serializers/asset/common.py:115
|
||||
#: assets/models/asset/web.py:12 assets/serializers/asset/common.py:122
|
||||
#: assets/serializers/platform.py:38
|
||||
msgid "Submit selector"
|
||||
msgstr "ボタンセレクターを確認する"
|
||||
|
||||
#: assets/models/automations/base.py:17 assets/models/cmd_filter.py:38
|
||||
#: assets/serializers/asset/common.py:290 rbac/tree.py:35
|
||||
#: assets/serializers/asset/common.py:300 rbac/tree.py:35
|
||||
msgid "Accounts"
|
||||
msgstr "アカウント"
|
||||
|
||||
|
@ -1307,7 +1307,7 @@ msgid "Date verified"
|
|||
msgstr "確認済みの日付"
|
||||
|
||||
#: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:61
|
||||
#: perms/serializers/permission.py:27 users/models/group.py:25
|
||||
#: perms/serializers/permission.py:33 users/models/group.py:25
|
||||
#: users/models/user.py:723
|
||||
msgid "User group"
|
||||
msgstr "ユーザーグループ"
|
||||
|
@ -1369,7 +1369,7 @@ msgstr "システム"
|
|||
msgid "Value"
|
||||
msgstr "値"
|
||||
|
||||
#: assets/models/label.py:40 assets/serializers/asset/common.py:122
|
||||
#: assets/models/label.py:40 assets/serializers/asset/common.py:129
|
||||
#: assets/serializers/cagegory.py:6 assets/serializers/cagegory.py:13
|
||||
#: authentication/serializers/connect_token_secret.py:114
|
||||
#: common/serializers/common.py:79 settings/serializers/sms.py:7
|
||||
|
@ -1396,7 +1396,7 @@ msgstr "フルバリュー"
|
|||
msgid "Parent key"
|
||||
msgstr "親キー"
|
||||
|
||||
#: assets/models/node.py:558 perms/serializers/permission.py:30
|
||||
#: assets/models/node.py:558 perms/serializers/permission.py:36
|
||||
#: tickets/models/ticket/apply_asset.py:14 xpack/plugins/cloud/models.py:96
|
||||
msgid "Node"
|
||||
msgstr "ノード"
|
||||
|
@ -1498,35 +1498,36 @@ msgstr "オートメーション"
|
|||
msgid "%(value)s is not an even number"
|
||||
msgstr "%(value)s は偶数ではありません"
|
||||
|
||||
#: assets/serializers/asset/common.py:112
|
||||
#: assets/serializers/asset/common.py:119
|
||||
msgid "Auto fill"
|
||||
msgstr "自動充填"
|
||||
|
||||
#: assets/serializers/asset/common.py:123 assets/serializers/platform.py:96
|
||||
#: assets/serializers/asset/common.py:130 assets/serializers/platform.py:96
|
||||
#: authentication/serializers/connect_token_secret.py:28
|
||||
#: authentication/serializers/connect_token_secret.py:66
|
||||
#: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:99
|
||||
msgid "Protocols"
|
||||
msgstr "プロトコル"
|
||||
|
||||
#: assets/serializers/asset/common.py:142
|
||||
#: assets/serializers/asset/common.py:292
|
||||
msgid "Auto info"
|
||||
msgstr "自動情報"
|
||||
|
||||
#: assets/serializers/asset/common.py:145
|
||||
#: assets/serializers/asset/common.py:132
|
||||
#: assets/serializers/asset/common.py:153
|
||||
msgid "Node path"
|
||||
msgstr "ノードパスです"
|
||||
|
||||
#: assets/serializers/asset/common.py:218
|
||||
#: assets/serializers/asset/common.py:150
|
||||
#: assets/serializers/asset/common.py:302
|
||||
msgid "Auto info"
|
||||
msgstr "自動情報"
|
||||
|
||||
#: assets/serializers/asset/common.py:226
|
||||
msgid "Platform not exist"
|
||||
msgstr "プラットフォームが存在しません"
|
||||
|
||||
#: assets/serializers/asset/common.py:253
|
||||
#: assets/serializers/asset/common.py:261
|
||||
msgid "port out of range (1-65535)"
|
||||
msgstr "ポート番号が範囲外です (1-65535)"
|
||||
|
||||
#: assets/serializers/asset/common.py:260
|
||||
#: assets/serializers/asset/common.py:268
|
||||
msgid "Protocol is required: {}"
|
||||
msgstr "プロトコルが必要です: {}"
|
||||
|
||||
|
@ -2434,7 +2435,7 @@ msgstr "ユーザーなしまたは期限切れのユーザー"
|
|||
msgid "No asset or inactive asset"
|
||||
msgstr "アセットがないか、有効化されていないアセット"
|
||||
|
||||
#: authentication/models/connection_token.py:257
|
||||
#: authentication/models/connection_token.py:258
|
||||
msgid "Super connection token"
|
||||
msgstr "スーパー接続トークン"
|
||||
|
||||
|
@ -2493,16 +2494,16 @@ msgid "Ticket info"
|
|||
msgstr "作業指示情報"
|
||||
|
||||
#: authentication/serializers/connection_token.py:20
|
||||
#: perms/models/asset_permission.py:71 perms/serializers/permission.py:31
|
||||
#: perms/serializers/permission.py:64
|
||||
#: perms/models/asset_permission.py:71 perms/serializers/permission.py:37
|
||||
#: perms/serializers/permission.py:70
|
||||
#: tickets/models/ticket/apply_application.py:28
|
||||
#: tickets/models/ticket/apply_asset.py:18
|
||||
msgid "Actions"
|
||||
msgstr "アクション"
|
||||
|
||||
#: authentication/serializers/connection_token.py:41
|
||||
#: perms/serializers/permission.py:33 perms/serializers/permission.py:65
|
||||
#: users/serializers/user.py:93 users/serializers/user.py:164
|
||||
#: perms/serializers/permission.py:39 perms/serializers/permission.py:71
|
||||
#: users/serializers/user.py:93 users/serializers/user.py:165
|
||||
msgid "Is expired"
|
||||
msgstr "期限切れです"
|
||||
|
||||
|
@ -2521,9 +2522,9 @@ msgstr "メール"
|
|||
msgid "The {} cannot be empty"
|
||||
msgstr "{} 空にしてはならない"
|
||||
|
||||
#: authentication/serializers/token.py:79 perms/serializers/permission.py:32
|
||||
#: perms/serializers/permission.py:66 users/serializers/user.py:94
|
||||
#: users/serializers/user.py:162
|
||||
#: authentication/serializers/token.py:79 perms/serializers/permission.py:38
|
||||
#: perms/serializers/permission.py:72 users/serializers/user.py:94
|
||||
#: users/serializers/user.py:163
|
||||
msgid "Is valid"
|
||||
msgstr "有効です"
|
||||
|
||||
|
@ -2891,7 +2892,7 @@ msgstr "企業の微信からユーザーを取得できませんでした"
|
|||
msgid "Please login with a password and then bind the WeCom"
|
||||
msgstr "パスワードでログインしてからWeComをバインドしてください"
|
||||
|
||||
#: common/api/action.py:52
|
||||
#: common/api/action.py:51
|
||||
msgid "Request file format may be wrong"
|
||||
msgstr "リクエストファイルの形式が間違っている可能性があります"
|
||||
|
||||
|
@ -2986,14 +2987,20 @@ msgstr "オブジェクト"
|
|||
msgid "Organization ID"
|
||||
msgstr "組織 ID"
|
||||
|
||||
#: common/drf/parsers/base.py:17
|
||||
#: common/drf/parsers/base.py:21
|
||||
msgid "The file content overflowed (The maximum length `{}` bytes)"
|
||||
msgstr "ファイルの内容がオーバーフローしました (最大長 '{}' バイト)"
|
||||
|
||||
#: common/drf/parsers/base.py:159
|
||||
#: common/drf/parsers/base.py:189
|
||||
msgid "Parse file error: {}"
|
||||
msgstr "解析ファイルエラー: {}"
|
||||
|
||||
#: common/drf/parsers/excel.py:14
|
||||
#, fuzzy
|
||||
#| msgid "Invalid zip file"
|
||||
msgid "Invalid excel file"
|
||||
msgstr "zip ファイルが無効です"
|
||||
|
||||
#: common/exceptions.py:15
|
||||
#, python-format
|
||||
msgid "%s object does not exist."
|
||||
|
@ -3235,11 +3242,11 @@ msgstr "投稿サイトニュース"
|
|||
msgid "No account available"
|
||||
msgstr "利用可能なアカウントがありません"
|
||||
|
||||
#: ops/ansible/inventory.py:186
|
||||
#: ops/ansible/inventory.py:189
|
||||
msgid "Ansible disabled"
|
||||
msgstr "Ansible 無効"
|
||||
|
||||
#: ops/ansible/inventory.py:202
|
||||
#: ops/ansible/inventory.py:205
|
||||
msgid "Skip hosts below:"
|
||||
msgstr "次のホストをスキップします: "
|
||||
|
||||
|
@ -3255,7 +3262,11 @@ msgstr "タスクは存在しません"
|
|||
msgid "Task {} args or kwargs error"
|
||||
msgstr "タスク実行パラメータエラー"
|
||||
|
||||
#: ops/api/playbook.py:83
|
||||
#: ops/api/playbook.py:38
|
||||
msgid "Currently playbook is being used in a job"
|
||||
msgstr "現在プレイブックは1つのジョブで使用されています"
|
||||
|
||||
#: ops/api/playbook.py:92
|
||||
msgid "Unsupported file content"
|
||||
msgstr "サポートされていないファイルの内容"
|
||||
|
||||
|
@ -6428,7 +6439,7 @@ msgstr "公開キー"
|
|||
msgid "Force enable"
|
||||
msgstr "強制有効"
|
||||
|
||||
#: users/models/user.py:729 users/serializers/user.py:163
|
||||
#: users/models/user.py:729 users/serializers/user.py:164
|
||||
msgid "Is service account"
|
||||
msgstr "サービスアカウントです"
|
||||
|
||||
|
@ -6457,7 +6468,7 @@ msgid "Secret key"
|
|||
msgstr "秘密キー"
|
||||
|
||||
#: users/models/user.py:758 users/serializers/profile.py:147
|
||||
#: users/serializers/user.py:160
|
||||
#: users/serializers/user.py:161
|
||||
msgid "Is first login"
|
||||
msgstr "最初のログインです"
|
||||
|
||||
|
@ -6564,7 +6575,7 @@ msgstr "MFAフォース有効化"
|
|||
msgid "Login blocked"
|
||||
msgstr "ログインブロック"
|
||||
|
||||
#: users/serializers/user.py:95 users/serializers/user.py:168
|
||||
#: users/serializers/user.py:95 users/serializers/user.py:169
|
||||
msgid "Is OTP bound"
|
||||
msgstr "仮想MFAがバインドされているか"
|
||||
|
||||
|
@ -6572,19 +6583,25 @@ msgstr "仮想MFAがバインドされているか"
|
|||
msgid "Can public key authentication"
|
||||
msgstr "公開鍵認証が可能"
|
||||
|
||||
#: users/serializers/user.py:165
|
||||
#: users/serializers/user.py:166
|
||||
msgid "Avatar url"
|
||||
msgstr "アバターURL"
|
||||
|
||||
#: users/serializers/user.py:275
|
||||
#: users/serializers/user.py:171
|
||||
#, fuzzy
|
||||
#| msgid "One level"
|
||||
msgid "MFA level"
|
||||
msgstr "1つのレベル"
|
||||
|
||||
#: users/serializers/user.py:277
|
||||
msgid "Select users"
|
||||
msgstr "ユーザーの選択"
|
||||
|
||||
#: users/serializers/user.py:276
|
||||
#: users/serializers/user.py:278
|
||||
msgid "For security, only list several users"
|
||||
msgstr "セキュリティのために、複数のユーザーのみをリストします"
|
||||
|
||||
#: users/serializers/user.py:309
|
||||
#: users/serializers/user.py:311
|
||||
msgid "name not unique"
|
||||
msgstr "名前が一意ではない"
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a29193d2982b254444285cfb2d61f7ef7355ae2bab181cdf366446e879ab32fb
|
||||
size 111963
|
||||
oid sha256:9819889a6d8b2934b06c5b242e3f63f404997f30851919247a405f542e8a03bc
|
||||
size 113244
|
||||
|
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: JumpServer 0.3.3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-10 15:11+0800\n"
|
||||
"POT-Creation-Date: 2023-03-14 17:34+0800\n"
|
||||
"PO-Revision-Date: 2021-05-20 10:54+0800\n"
|
||||
"Last-Translator: ibuler <ibuler@qq.com>\n"
|
||||
"Language-Team: JumpServer team<ibuler@qq.com>\n"
|
||||
|
@ -168,7 +168,7 @@ msgstr "仅创建"
|
|||
#: assets/models/cmd_filter.py:36 assets/serializers/domain.py:19
|
||||
#: assets/serializers/label.py:27 audits/models.py:48
|
||||
#: authentication/models/connection_token.py:33
|
||||
#: perms/models/asset_permission.py:64 perms/serializers/permission.py:29
|
||||
#: perms/models/asset_permission.py:64 perms/serializers/permission.py:35
|
||||
#: terminal/backends/command/models.py:20 terminal/models/session/session.py:32
|
||||
#: terminal/notifications.py:95 terminal/serializers/command.py:17
|
||||
#: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:212
|
||||
|
@ -194,9 +194,9 @@ msgstr "来源"
|
|||
#: accounts/serializers/automations/change_secret.py:112
|
||||
#: accounts/serializers/automations/change_secret.py:132
|
||||
#: acls/models/base.py:102 acls/serializers/base.py:57
|
||||
#: assets/serializers/asset/common.py:124 assets/serializers/gateway.py:28
|
||||
#: assets/serializers/asset/common.py:131 assets/serializers/gateway.py:28
|
||||
#: audits/models.py:49 ops/models/base.py:18
|
||||
#: perms/models/asset_permission.py:70 perms/serializers/permission.py:34
|
||||
#: perms/models/asset_permission.py:70 perms/serializers/permission.py:40
|
||||
#: terminal/backends/command/models.py:21 terminal/models/session/session.py:34
|
||||
#: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:85
|
||||
msgid "Account"
|
||||
|
@ -445,7 +445,7 @@ msgstr "账号验证"
|
|||
#: assets/models/cmd_filter.py:21 assets/models/domain.py:18
|
||||
#: assets/models/group.py:20 assets/models/label.py:18
|
||||
#: assets/models/platform.py:21 assets/models/platform.py:76
|
||||
#: assets/serializers/asset/common.py:67 assets/serializers/asset/common.py:143
|
||||
#: assets/serializers/asset/common.py:74 assets/serializers/asset/common.py:151
|
||||
#: assets/serializers/platform.py:133
|
||||
#: authentication/serializers/connect_token_secret.py:103 ops/mixin.py:21
|
||||
#: ops/models/adhoc.py:21 ops/models/celery.py:15 ops/models/celery.py:57
|
||||
|
@ -469,7 +469,7 @@ msgstr "特权账号"
|
|||
#: assets/models/automations/base.py:21 assets/models/cmd_filter.py:39
|
||||
#: assets/models/label.py:22
|
||||
#: authentication/serializers/connect_token_secret.py:107
|
||||
#: terminal/models/applet/applet.py:32 users/serializers/user.py:161
|
||||
#: terminal/models/applet/applet.py:32 users/serializers/user.py:162
|
||||
msgid "Is active"
|
||||
msgstr "激活"
|
||||
|
||||
|
@ -512,23 +512,23 @@ msgstr ""
|
|||
"密密码"
|
||||
|
||||
#: accounts/serializers/account/account.py:65
|
||||
#: assets/serializers/asset/common.py:65 settings/serializers/auth/sms.py:75
|
||||
#: assets/serializers/asset/common.py:72 settings/serializers/auth/sms.py:75
|
||||
msgid "Template"
|
||||
msgstr "模板"
|
||||
|
||||
#: accounts/serializers/account/account.py:68
|
||||
#: assets/serializers/asset/common.py:62
|
||||
#: assets/serializers/asset/common.py:69
|
||||
msgid "Push now"
|
||||
msgstr "立即推送"
|
||||
|
||||
#: accounts/serializers/account/account.py:70
|
||||
#: accounts/serializers/account/base.py:62
|
||||
#: accounts/serializers/account/base.py:64
|
||||
msgid "Has secret"
|
||||
msgstr "已托管密码"
|
||||
|
||||
#: accounts/serializers/account/account.py:75 applications/models.py:11
|
||||
#: assets/models/label.py:21 assets/models/platform.py:77
|
||||
#: assets/serializers/asset/common.py:120 assets/serializers/cagegory.py:8
|
||||
#: assets/serializers/asset/common.py:127 assets/serializers/cagegory.py:8
|
||||
#: assets/serializers/platform.py:94 assets/serializers/platform.py:134
|
||||
#: perms/serializers/user_permission.py:26 settings/models.py:35
|
||||
#: tickets/models/ticket/apply_application.py:13
|
||||
|
@ -540,7 +540,7 @@ msgstr "类别"
|
|||
#: acls/serializers/command_acl.py:18 applications/models.py:14
|
||||
#: assets/models/_user.py:50 assets/models/automations/base.py:20
|
||||
#: assets/models/cmd_filter.py:74 assets/models/platform.py:78
|
||||
#: assets/serializers/asset/common.py:121 assets/serializers/platform.py:93
|
||||
#: assets/serializers/asset/common.py:128 assets/serializers/platform.py:93
|
||||
#: audits/serializers.py:48
|
||||
#: authentication/serializers/connect_token_secret.py:116 ops/models/job.py:102
|
||||
#: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:31
|
||||
|
@ -587,8 +587,8 @@ msgstr "密钥/密码"
|
|||
msgid "Key password"
|
||||
msgstr "密钥密码"
|
||||
|
||||
#: accounts/serializers/account/base.py:79
|
||||
#: assets/serializers/asset/common.py:291
|
||||
#: accounts/serializers/account/base.py:81
|
||||
#: assets/serializers/asset/common.py:301
|
||||
msgid "Spec info"
|
||||
msgstr "特殊信息"
|
||||
|
||||
|
@ -737,7 +737,7 @@ msgstr "激活中"
|
|||
#: authentication/models/sso_token.py:16
|
||||
#: notifications/models/notification.py:12
|
||||
#: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:58
|
||||
#: perms/serializers/permission.py:25 rbac/builtin.py:122
|
||||
#: perms/serializers/permission.py:31 rbac/builtin.py:122
|
||||
#: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:19
|
||||
#: terminal/models/session/session.py:30 terminal/models/session/sharing.py:32
|
||||
#: terminal/notifications.py:96 terminal/notifications.py:144
|
||||
|
@ -988,7 +988,7 @@ msgid "Device"
|
|||
msgstr "网络设备"
|
||||
|
||||
#: assets/const/category.py:13 assets/models/asset/database.py:9
|
||||
#: assets/models/asset/database.py:24 assets/serializers/asset/common.py:108
|
||||
#: assets/models/asset/database.py:24 assets/serializers/asset/common.py:115
|
||||
msgid "Database"
|
||||
msgstr "数据库"
|
||||
|
||||
|
@ -1052,7 +1052,7 @@ msgid "Basic"
|
|||
msgstr "基本"
|
||||
|
||||
#: assets/const/web.py:61 assets/models/asset/web.py:13
|
||||
#: assets/serializers/asset/common.py:116 assets/serializers/platform.py:40
|
||||
#: assets/serializers/asset/common.py:123 assets/serializers/platform.py:40
|
||||
msgid "Script"
|
||||
msgstr "脚本"
|
||||
|
||||
|
@ -1181,7 +1181,7 @@ msgstr "云服务"
|
|||
msgid "Port"
|
||||
msgstr "端口"
|
||||
|
||||
#: assets/models/asset/common.py:103 assets/serializers/asset/common.py:144
|
||||
#: assets/models/asset/common.py:103 assets/serializers/asset/common.py:152
|
||||
msgid "Address"
|
||||
msgstr "地址"
|
||||
|
||||
|
@ -1218,7 +1218,7 @@ msgstr "可以匹配资产"
|
|||
msgid "Can change asset nodes"
|
||||
msgstr "可以修改资产节点"
|
||||
|
||||
#: assets/models/asset/database.py:10 assets/serializers/asset/common.py:109
|
||||
#: assets/models/asset/database.py:10 assets/serializers/asset/common.py:116
|
||||
#: settings/serializers/email.py:37
|
||||
msgid "Use SSL"
|
||||
msgstr "使用 SSL"
|
||||
|
@ -1235,7 +1235,7 @@ msgstr "客户端证书"
|
|||
msgid "Client key"
|
||||
msgstr "客户端密钥"
|
||||
|
||||
#: assets/models/asset/database.py:14 assets/serializers/asset/common.py:110
|
||||
#: assets/models/asset/database.py:14 assets/serializers/asset/common.py:117
|
||||
msgid "Allow invalid cert"
|
||||
msgstr "忽略证书校验"
|
||||
|
||||
|
@ -1243,23 +1243,23 @@ msgstr "忽略证书校验"
|
|||
msgid "Autofill"
|
||||
msgstr "自动代填"
|
||||
|
||||
#: assets/models/asset/web.py:10 assets/serializers/asset/common.py:113
|
||||
#: assets/models/asset/web.py:10 assets/serializers/asset/common.py:120
|
||||
#: assets/serializers/platform.py:32
|
||||
msgid "Username selector"
|
||||
msgstr "用户名选择器"
|
||||
|
||||
#: assets/models/asset/web.py:11 assets/serializers/asset/common.py:114
|
||||
#: assets/models/asset/web.py:11 assets/serializers/asset/common.py:121
|
||||
#: assets/serializers/platform.py:35
|
||||
msgid "Password selector"
|
||||
msgstr "密码选择器"
|
||||
|
||||
#: assets/models/asset/web.py:12 assets/serializers/asset/common.py:115
|
||||
#: assets/models/asset/web.py:12 assets/serializers/asset/common.py:122
|
||||
#: assets/serializers/platform.py:38
|
||||
msgid "Submit selector"
|
||||
msgstr "确认按钮选择器"
|
||||
|
||||
#: assets/models/automations/base.py:17 assets/models/cmd_filter.py:38
|
||||
#: assets/serializers/asset/common.py:290 rbac/tree.py:35
|
||||
#: assets/serializers/asset/common.py:300 rbac/tree.py:35
|
||||
msgid "Accounts"
|
||||
msgstr "账号管理"
|
||||
|
||||
|
@ -1299,7 +1299,7 @@ msgid "Date verified"
|
|||
msgstr "校验日期"
|
||||
|
||||
#: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:61
|
||||
#: perms/serializers/permission.py:27 users/models/group.py:25
|
||||
#: perms/serializers/permission.py:33 users/models/group.py:25
|
||||
#: users/models/user.py:723
|
||||
msgid "User group"
|
||||
msgstr "用户组"
|
||||
|
@ -1361,7 +1361,7 @@ msgstr "系统"
|
|||
msgid "Value"
|
||||
msgstr "值"
|
||||
|
||||
#: assets/models/label.py:40 assets/serializers/asset/common.py:122
|
||||
#: assets/models/label.py:40 assets/serializers/asset/common.py:129
|
||||
#: assets/serializers/cagegory.py:6 assets/serializers/cagegory.py:13
|
||||
#: authentication/serializers/connect_token_secret.py:114
|
||||
#: common/serializers/common.py:79 settings/serializers/sms.py:7
|
||||
|
@ -1388,7 +1388,7 @@ msgstr "全称"
|
|||
msgid "Parent key"
|
||||
msgstr "ssh私钥"
|
||||
|
||||
#: assets/models/node.py:558 perms/serializers/permission.py:30
|
||||
#: assets/models/node.py:558 perms/serializers/permission.py:36
|
||||
#: tickets/models/ticket/apply_asset.py:14 xpack/plugins/cloud/models.py:96
|
||||
msgid "Node"
|
||||
msgstr "节点"
|
||||
|
@ -1490,35 +1490,36 @@ msgstr "自动化"
|
|||
msgid "%(value)s is not an even number"
|
||||
msgstr "%(value)s is not an even number"
|
||||
|
||||
#: assets/serializers/asset/common.py:112
|
||||
#: assets/serializers/asset/common.py:119
|
||||
msgid "Auto fill"
|
||||
msgstr "自动代填"
|
||||
|
||||
#: assets/serializers/asset/common.py:123 assets/serializers/platform.py:96
|
||||
#: assets/serializers/asset/common.py:130 assets/serializers/platform.py:96
|
||||
#: authentication/serializers/connect_token_secret.py:28
|
||||
#: authentication/serializers/connect_token_secret.py:66
|
||||
#: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:99
|
||||
msgid "Protocols"
|
||||
msgstr "协议组"
|
||||
|
||||
#: assets/serializers/asset/common.py:142
|
||||
#: assets/serializers/asset/common.py:292
|
||||
msgid "Auto info"
|
||||
msgstr "自动化信息"
|
||||
|
||||
#: assets/serializers/asset/common.py:145
|
||||
#: assets/serializers/asset/common.py:132
|
||||
#: assets/serializers/asset/common.py:153
|
||||
msgid "Node path"
|
||||
msgstr "节点路径"
|
||||
|
||||
#: assets/serializers/asset/common.py:218
|
||||
#: assets/serializers/asset/common.py:150
|
||||
#: assets/serializers/asset/common.py:302
|
||||
msgid "Auto info"
|
||||
msgstr "自动化信息"
|
||||
|
||||
#: assets/serializers/asset/common.py:226
|
||||
msgid "Platform not exist"
|
||||
msgstr "平台不存在"
|
||||
|
||||
#: assets/serializers/asset/common.py:253
|
||||
#: assets/serializers/asset/common.py:261
|
||||
msgid "port out of range (1-65535)"
|
||||
msgstr "端口超出范围 (1-65535)"
|
||||
|
||||
#: assets/serializers/asset/common.py:260
|
||||
#: assets/serializers/asset/common.py:268
|
||||
msgid "Protocol is required: {}"
|
||||
msgstr "协议是必填的: {}"
|
||||
|
||||
|
@ -2412,7 +2413,7 @@ msgstr "没有用户或用户失效"
|
|||
msgid "No asset or inactive asset"
|
||||
msgstr "没有资产或资产未激活"
|
||||
|
||||
#: authentication/models/connection_token.py:257
|
||||
#: authentication/models/connection_token.py:258
|
||||
msgid "Super connection token"
|
||||
msgstr "超级连接令牌"
|
||||
|
||||
|
@ -2471,16 +2472,16 @@ msgid "Ticket info"
|
|||
msgstr "工单信息"
|
||||
|
||||
#: authentication/serializers/connection_token.py:20
|
||||
#: perms/models/asset_permission.py:71 perms/serializers/permission.py:31
|
||||
#: perms/serializers/permission.py:64
|
||||
#: perms/models/asset_permission.py:71 perms/serializers/permission.py:37
|
||||
#: perms/serializers/permission.py:70
|
||||
#: tickets/models/ticket/apply_application.py:28
|
||||
#: tickets/models/ticket/apply_asset.py:18
|
||||
msgid "Actions"
|
||||
msgstr "动作"
|
||||
|
||||
#: authentication/serializers/connection_token.py:41
|
||||
#: perms/serializers/permission.py:33 perms/serializers/permission.py:65
|
||||
#: users/serializers/user.py:93 users/serializers/user.py:164
|
||||
#: perms/serializers/permission.py:39 perms/serializers/permission.py:71
|
||||
#: users/serializers/user.py:93 users/serializers/user.py:165
|
||||
msgid "Is expired"
|
||||
msgstr "已过期"
|
||||
|
||||
|
@ -2499,9 +2500,9 @@ msgstr "邮箱"
|
|||
msgid "The {} cannot be empty"
|
||||
msgstr "{} 不能为空"
|
||||
|
||||
#: authentication/serializers/token.py:79 perms/serializers/permission.py:32
|
||||
#: perms/serializers/permission.py:66 users/serializers/user.py:94
|
||||
#: users/serializers/user.py:162
|
||||
#: authentication/serializers/token.py:79 perms/serializers/permission.py:38
|
||||
#: perms/serializers/permission.py:72 users/serializers/user.py:94
|
||||
#: users/serializers/user.py:163
|
||||
msgid "Is valid"
|
||||
msgstr "是否有效"
|
||||
|
||||
|
@ -2861,7 +2862,7 @@ msgstr "从企业微信获取用户失败"
|
|||
msgid "Please login with a password and then bind the WeCom"
|
||||
msgstr "请使用密码登录,然后绑定企业微信"
|
||||
|
||||
#: common/api/action.py:52
|
||||
#: common/api/action.py:51
|
||||
msgid "Request file format may be wrong"
|
||||
msgstr "上传的文件格式错误 或 其它类型资源的文件"
|
||||
|
||||
|
@ -2956,14 +2957,20 @@ msgstr "对象"
|
|||
msgid "Organization ID"
|
||||
msgstr "组织 ID"
|
||||
|
||||
#: common/drf/parsers/base.py:17
|
||||
#: common/drf/parsers/base.py:21
|
||||
msgid "The file content overflowed (The maximum length `{}` bytes)"
|
||||
msgstr "文件内容太大 (最大长度 `{}` 字节)"
|
||||
|
||||
#: common/drf/parsers/base.py:159
|
||||
#: common/drf/parsers/base.py:189
|
||||
msgid "Parse file error: {}"
|
||||
msgstr "解析文件错误: {}"
|
||||
|
||||
#: common/drf/parsers/excel.py:14
|
||||
#, fuzzy
|
||||
#| msgid "Invalid zip file"
|
||||
msgid "Invalid excel file"
|
||||
msgstr "无效的 zip 文件"
|
||||
|
||||
#: common/exceptions.py:15
|
||||
#, python-format
|
||||
msgid "%s object does not exist."
|
||||
|
@ -3200,11 +3207,11 @@ msgstr "发布站内消息"
|
|||
msgid "No account available"
|
||||
msgstr "无可用账号"
|
||||
|
||||
#: ops/ansible/inventory.py:186
|
||||
#: ops/ansible/inventory.py:189
|
||||
msgid "Ansible disabled"
|
||||
msgstr "Ansible 已禁用"
|
||||
|
||||
#: ops/ansible/inventory.py:202
|
||||
#: ops/ansible/inventory.py:205
|
||||
msgid "Skip hosts below:"
|
||||
msgstr "跳过以下主机: "
|
||||
|
||||
|
@ -3220,7 +3227,11 @@ msgstr "任务 {} 不存在"
|
|||
msgid "Task {} args or kwargs error"
|
||||
msgstr "任务 {} 执行参数错误"
|
||||
|
||||
#: ops/api/playbook.py:83
|
||||
#: ops/api/playbook.py:38
|
||||
msgid "Currently playbook is being used in a job"
|
||||
msgstr "当前 playbook 正在作业中使用"
|
||||
|
||||
#: ops/api/playbook.py:92
|
||||
msgid "Unsupported file content"
|
||||
msgstr "不支持的文件内容"
|
||||
|
||||
|
@ -6344,7 +6355,7 @@ msgstr "SSH公钥"
|
|||
msgid "Force enable"
|
||||
msgstr "强制启用"
|
||||
|
||||
#: users/models/user.py:729 users/serializers/user.py:163
|
||||
#: users/models/user.py:729 users/serializers/user.py:164
|
||||
msgid "Is service account"
|
||||
msgstr "服务账号"
|
||||
|
||||
|
@ -6373,7 +6384,7 @@ msgid "Secret key"
|
|||
msgstr "Secret key"
|
||||
|
||||
#: users/models/user.py:758 users/serializers/profile.py:147
|
||||
#: users/serializers/user.py:160
|
||||
#: users/serializers/user.py:161
|
||||
msgid "Is first login"
|
||||
msgstr "首次登录"
|
||||
|
||||
|
@ -6480,7 +6491,7 @@ msgstr "强制 MFA"
|
|||
msgid "Login blocked"
|
||||
msgstr "登录被阻塞"
|
||||
|
||||
#: users/serializers/user.py:95 users/serializers/user.py:168
|
||||
#: users/serializers/user.py:95 users/serializers/user.py:169
|
||||
msgid "Is OTP bound"
|
||||
msgstr "是否绑定了虚拟 MFA"
|
||||
|
||||
|
@ -6488,19 +6499,25 @@ msgstr "是否绑定了虚拟 MFA"
|
|||
msgid "Can public key authentication"
|
||||
msgstr "可以使用公钥认证"
|
||||
|
||||
#: users/serializers/user.py:165
|
||||
#: users/serializers/user.py:166
|
||||
msgid "Avatar url"
|
||||
msgstr "头像路径"
|
||||
|
||||
#: users/serializers/user.py:275
|
||||
#: users/serializers/user.py:171
|
||||
#, fuzzy
|
||||
#| msgid "One level"
|
||||
msgid "MFA level"
|
||||
msgstr "1 级"
|
||||
|
||||
#: users/serializers/user.py:277
|
||||
msgid "Select users"
|
||||
msgstr "选择用户"
|
||||
|
||||
#: users/serializers/user.py:276
|
||||
#: users/serializers/user.py:278
|
||||
msgid "For security, only list several users"
|
||||
msgstr "为了安全,仅列出几个用户"
|
||||
|
||||
#: users/serializers/user.py:309
|
||||
#: users/serializers/user.py:311
|
||||
msgid "name not unique"
|
||||
msgstr "名称重复"
|
||||
|
||||
|
|
|
@ -32,6 +32,15 @@ class PlaybookViewSet(OrgBulkModelViewSet):
|
|||
model = Playbook
|
||||
search_fields = ('name', 'comment')
|
||||
|
||||
def perform_destroy(self, instance):
|
||||
instance = self.get_object()
|
||||
if instance.job_set.exists():
|
||||
raise JMSException(code='playbook_has_job', detail={"msg": _("Currently playbook is being used in a job")})
|
||||
instance_id = instance.id
|
||||
super().perform_destroy(instance)
|
||||
dest_path = os.path.join(settings.DATA_DIR, "ops", "playbook", instance_id.__str__())
|
||||
shutil.rmtree(dest_path)
|
||||
|
||||
def get_queryset(self):
|
||||
queryset = super().get_queryset()
|
||||
queryset = queryset.filter(creator=self.request.user)
|
||||
|
|
Loading…
Reference in New Issue