diff --git a/apps/accounts/automations/change_secret/manager.py b/apps/accounts/automations/change_secret/manager.py index 2a4432182..b5a978b79 100644 --- a/apps/accounts/automations/change_secret/manager.py +++ b/apps/accounts/automations/change_secret/manager.py @@ -226,6 +226,9 @@ class ChangeSecretManager(AccountBasePlaybookManager): def run(self, *args, **kwargs): if self.secret_type and not self.check_secret(): + self.execution.status = 'success' + self.execution.date_finished = timezone.now() + self.execution.save() return super().run(*args, **kwargs) recorders = list(self.name_recorder_mapper.values()) diff --git a/apps/assets/serializers/automations/base.py b/apps/assets/serializers/automations/base.py index 4622c0674..522049d17 100644 --- a/apps/assets/serializers/automations/base.py +++ b/apps/assets/serializers/automations/base.py @@ -36,6 +36,7 @@ class BaseAutomationSerializer(PeriodTaskSerializerMixin, BulkOrgResourceModelSe class AutomationExecutionSerializer(serializers.ModelSerializer): snapshot = serializers.SerializerMethodField(label=_('Automation snapshot')) + status = serializers.SerializerMethodField(label=_("Status")) trigger = LabeledChoiceField(choices=Trigger.choices, read_only=True, label=_("Trigger mode")) class Meta: @@ -45,6 +46,14 @@ class AutomationExecutionSerializer(serializers.ModelSerializer): ] fields = ['id', 'automation'] + read_only_fields + @staticmethod + def get_status(obj): + if obj.status == 'success': + return _("Success") + elif obj.status == 'pending': + return _("Pending") + return obj.status + @staticmethod def get_snapshot(obj): from assets.const import AutomationTypes as AssetTypes diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index 3a3572acb..bbeb5b5a0 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-03 16:39+0800\n" +"POT-Creation-Date: 2024-07-15 16:28+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -64,7 +64,8 @@ msgstr "" #: accounts/automations/backup_account/handlers.py:219 #: accounts/const/automation.py:110 -#: accounts/serializers/automations/change_secret.py:166 audits/const.py:64 +#: accounts/serializers/automations/change_secret.py:166 +#: assets/serializers/automations/base.py:52 audits/const.py:64 #: audits/models.py:64 audits/signal_handlers/activity_log.py:33 #: common/const/choices.py:18 ops/const.py:74 ops/serializers/celery.py:48 #: terminal/const.py:78 terminal/models/session/sharing.py:121 @@ -303,8 +304,9 @@ msgstr "" msgid "SFTP" msgstr "" -#: accounts/const/automation.py:111 common/const/choices.py:16 -#: terminal/const.py:77 tickets/const.py:29 tickets/const.py:38 +#: accounts/const/automation.py:111 assets/serializers/automations/base.py:54 +#: common/const/choices.py:16 terminal/const.py:77 tickets/const.py:29 +#: tickets/const.py:38 msgid "Pending" msgstr "" @@ -482,7 +484,7 @@ msgstr "" #: accounts/serializers/account/backup.py:48 #: accounts/serializers/automations/base.py:56 #: assets/models/automations/base.py:122 -#: assets/serializers/automations/base.py:39 +#: assets/serializers/automations/base.py:40 msgid "Trigger mode" msgstr "" @@ -575,7 +577,8 @@ msgid "Date finished" msgstr "" #: accounts/models/automations/change_secret.py:44 -#: assets/models/automations/base.py:113 audits/models.py:208 +#: assets/models/automations/base.py:113 +#: assets/serializers/automations/base.py:39 audits/models.py:208 #: audits/serializers.py:54 ops/models/base.py:49 ops/models/job.py:234 #: terminal/models/applet/applet.py:320 terminal/models/applet/host.py:140 #: terminal/models/component/status.py:30 @@ -707,9 +710,9 @@ msgstr "" #: ops/models/celery.py:80 ops/models/job.py:142 ops/models/playbook.py:28 #: ops/serializers/job.py:18 orgs/models.py:82 #: perms/models/asset_permission.py:61 rbac/models/role.py:29 -#: settings/models.py:34 settings/models.py:183 settings/serializers/msg.py:86 -#: settings/serializers/terminal.py:9 terminal/models/applet/applet.py:33 -#: terminal/models/component/endpoint.py:12 +#: rbac/serializers/role.py:28 settings/models.py:34 settings/models.py:183 +#: settings/serializers/msg.py:86 settings/serializers/terminal.py:9 +#: terminal/models/applet/applet.py:33 terminal/models/component/endpoint.py:12 #: terminal/models/component/endpoint.py:109 #: terminal/models/component/storage.py:26 terminal/models/component/task.py:13 #: terminal/models/component/terminal.py:85 @@ -3350,7 +3353,12 @@ msgstr "" msgid "Actions" msgstr "" -#: authentication/serializers/connection_token.py:42 +#: authentication/serializers/connection_token.py:40 +#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27 +msgid "Org name" +msgstr "Organization" + +#: authentication/serializers/connection_token.py:43 #: perms/serializers/permission.py:44 perms/serializers/permission.py:65 #: users/serializers/user.py:127 users/serializers/user.py:273 msgid "Is expired" @@ -4231,27 +4239,27 @@ msgstr "" msgid "Currently playbook is being used in a job" msgstr "" -#: ops/api/playbook.py:96 +#: ops/api/playbook.py:97 msgid "Unsupported file content" msgstr "" -#: ops/api/playbook.py:98 ops/api/playbook.py:144 ops/api/playbook.py:192 +#: ops/api/playbook.py:99 ops/api/playbook.py:145 ops/api/playbook.py:193 msgid "Invalid file path" msgstr "" -#: ops/api/playbook.py:170 +#: ops/api/playbook.py:171 msgid "This file can not be rename" msgstr "" -#: ops/api/playbook.py:189 +#: ops/api/playbook.py:190 msgid "File already exists" msgstr "" -#: ops/api/playbook.py:207 +#: ops/api/playbook.py:208 msgid "File key is required" msgstr "" -#: ops/api/playbook.py:210 +#: ops/api/playbook.py:211 msgid "This file can not be delete" msgstr "" @@ -4472,7 +4480,8 @@ msgstr "" msgid "Run as policy" msgstr "" -#: ops/models/job.py:222 terminal/notifications.py:174 +#: ops/models/job.py:222 ops/serializers/job.py:92 +#: terminal/notifications.py:174 msgid "Job" msgstr "" @@ -4484,7 +4493,7 @@ msgstr "" msgid "Material Type" msgstr "" -#: ops/models/job.py:545 +#: ops/models/job.py:548 msgid "Job Execution" msgstr "" @@ -4548,7 +4557,11 @@ msgstr "" msgid "Is finished" msgstr "Finished" -#: ops/serializers/job.py:90 +#: ops/serializers/job.py:89 +msgid "Task id" +msgstr "" + +#: ops/serializers/job.py:98 msgid "You do not have permission for the current job." msgstr "" @@ -4651,10 +4664,6 @@ msgstr "請選擇一個組織後再保存" msgid "Organization" msgstr "" -#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27 -msgid "Org name" -msgstr "Organization" - #: orgs/models.py:14 msgid "GLOBAL" msgstr "" @@ -4959,11 +4968,6 @@ msgstr "" msgid "Perms" msgstr "" -#: rbac/serializers/role.py:28 terminal/models/applet/applet.py:34 -#: terminal/models/virtualapp/virtualapp.py:20 -msgid "Display name" -msgstr "" - #: rbac/serializers/rolebinding.py:60 msgid "Has bound this role" msgstr "" @@ -5240,7 +5244,7 @@ msgid "" msgstr "" #: settings/serializers/auth/base.py:35 -msgid "Forgot Password" +msgid "Forgot Password URL" msgstr "" #: settings/serializers/auth/base.py:36 @@ -5829,7 +5833,7 @@ msgid "Chat AI" msgstr "" #: settings/serializers/feature.py:80 -msgid "Base URL" +msgid "GPT Base URL" msgstr "" #: settings/serializers/feature.py:81 @@ -6846,6 +6850,11 @@ msgstr "" msgid "Enterprise" msgstr "" +#: terminal/models/applet/applet.py:34 +#: terminal/models/virtualapp/virtualapp.py:20 +msgid "Display name" +msgstr "" + #: terminal/models/applet/applet.py:36 #: terminal/models/virtualapp/virtualapp.py:22 msgid "Author" diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index ba24685d0..b8ab218fe 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/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: 2024-07-03 16:39+0800\n" +"POT-Creation-Date: 2024-07-15 16:28+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -64,7 +64,8 @@ msgstr "仕上げ" #: accounts/automations/backup_account/handlers.py:219 #: accounts/const/automation.py:110 -#: accounts/serializers/automations/change_secret.py:166 audits/const.py:64 +#: accounts/serializers/automations/change_secret.py:166 +#: assets/serializers/automations/base.py:52 audits/const.py:64 #: audits/models.py:64 audits/signal_handlers/activity_log.py:33 #: common/const/choices.py:18 ops/const.py:74 ops/serializers/celery.py:48 #: terminal/const.py:78 terminal/models/session/sharing.py:121 @@ -303,8 +304,9 @@ msgstr "メール" msgid "SFTP" msgstr "SFTP" -#: accounts/const/automation.py:111 common/const/choices.py:16 -#: terminal/const.py:77 tickets/const.py:29 tickets/const.py:38 +#: accounts/const/automation.py:111 assets/serializers/automations/base.py:54 +#: common/const/choices.py:16 terminal/const.py:77 tickets/const.py:29 +#: tickets/const.py:38 msgid "Pending" msgstr "未定" @@ -482,7 +484,7 @@ msgstr "アカウントのバックアップスナップショット" #: accounts/serializers/account/backup.py:48 #: accounts/serializers/automations/base.py:56 #: assets/models/automations/base.py:122 -#: assets/serializers/automations/base.py:39 +#: assets/serializers/automations/base.py:40 msgid "Trigger mode" msgstr "トリガーモード" @@ -575,7 +577,8 @@ msgid "Date finished" msgstr "終了日" #: accounts/models/automations/change_secret.py:44 -#: assets/models/automations/base.py:113 audits/models.py:208 +#: assets/models/automations/base.py:113 +#: assets/serializers/automations/base.py:39 audits/models.py:208 #: audits/serializers.py:54 ops/models/base.py:49 ops/models/job.py:234 #: terminal/models/applet/applet.py:320 terminal/models/applet/host.py:140 #: terminal/models/component/status.py:30 @@ -707,9 +710,9 @@ msgstr "パスワードルール" #: ops/models/celery.py:80 ops/models/job.py:142 ops/models/playbook.py:28 #: ops/serializers/job.py:18 orgs/models.py:82 #: perms/models/asset_permission.py:61 rbac/models/role.py:29 -#: settings/models.py:34 settings/models.py:183 settings/serializers/msg.py:86 -#: settings/serializers/terminal.py:9 terminal/models/applet/applet.py:33 -#: terminal/models/component/endpoint.py:12 +#: rbac/serializers/role.py:28 settings/models.py:34 settings/models.py:183 +#: settings/serializers/msg.py:86 settings/serializers/terminal.py:9 +#: terminal/models/applet/applet.py:33 terminal/models/component/endpoint.py:12 #: terminal/models/component/endpoint.py:109 #: terminal/models/component/storage.py:26 terminal/models/component/task.py:13 #: terminal/models/component/terminal.py:85 @@ -1083,13 +1086,14 @@ msgstr "SSHキー戦略" #: accounts/serializers/automations/change_secret.py:57 msgid "Please enter your account username" -msgstr "MFAコードを入力してください" +msgstr "アカウントのユーザー名を入力してください" #: accounts/serializers/automations/change_secret.py:62 msgid "" "Secret parameter settings, currently only effective for assets of the host " "type." -msgstr "暗号化パラメータの設定は現在、ホストタイプのリソースにのみ有効です。" +msgstr "" +"パラメータ設定は現在、AIX LINUX UNIX タイプの資産に対してのみ有効です。" #: accounts/serializers/automations/change_secret.py:84 msgid "* Please enter the correct password length" @@ -3416,7 +3420,12 @@ msgstr "作業指示情報" msgid "Actions" msgstr "アクション" -#: authentication/serializers/connection_token.py:42 +#: authentication/serializers/connection_token.py:40 +#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27 +msgid "Org name" +msgstr "組織名" + +#: authentication/serializers/connection_token.py:43 #: perms/serializers/permission.py:44 perms/serializers/permission.py:65 #: users/serializers/user.py:127 users/serializers/user.py:273 msgid "Is expired" @@ -4333,27 +4342,27 @@ msgstr "タスクを作成中で、中断できません。後でもう一度お msgid "Currently playbook is being used in a job" msgstr "現在プレイブックは1つのジョブで使用されています" -#: ops/api/playbook.py:96 +#: ops/api/playbook.py:97 msgid "Unsupported file content" msgstr "サポートされていないファイルの内容" -#: ops/api/playbook.py:98 ops/api/playbook.py:144 ops/api/playbook.py:192 +#: ops/api/playbook.py:99 ops/api/playbook.py:145 ops/api/playbook.py:193 msgid "Invalid file path" msgstr "無効なファイルパス" -#: ops/api/playbook.py:170 +#: ops/api/playbook.py:171 msgid "This file can not be rename" msgstr "ファイル名を変更することはできません" -#: ops/api/playbook.py:189 +#: ops/api/playbook.py:190 msgid "File already exists" msgstr "ファイルは既に存在します。" -#: ops/api/playbook.py:207 +#: ops/api/playbook.py:208 msgid "File key is required" msgstr "ファイルキーこのフィールドは必須です" -#: ops/api/playbook.py:210 +#: ops/api/playbook.py:211 msgid "This file can not be delete" msgstr "このファイルを削除できません" @@ -4574,7 +4583,8 @@ msgstr "ユーザーとして実行" msgid "Run as policy" msgstr "ユーザー ポリシー" -#: ops/models/job.py:222 terminal/notifications.py:174 +#: ops/models/job.py:222 ops/serializers/job.py:92 +#: terminal/notifications.py:174 msgid "Job" msgstr "ジョブ#ジョブ#" @@ -4586,7 +4596,7 @@ msgstr "Material" msgid "Material Type" msgstr "Material を選択してオプションを設定します。" -#: ops/models/job.py:545 +#: ops/models/job.py:548 msgid "Job Execution" msgstr "ジョブ実行" @@ -4650,7 +4660,11 @@ msgstr "タスクの種類" msgid "Is finished" msgstr "終了しました" -#: ops/serializers/job.py:90 +#: ops/serializers/job.py:89 +msgid "Task id" +msgstr "タスク ID" + +#: ops/serializers/job.py:98 msgid "You do not have permission for the current job." msgstr "あなたは現在のジョブの権限を持っていません。" @@ -4754,10 +4768,6 @@ msgstr "組織を選択してから保存してください" msgid "Organization" msgstr "組織" -#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27 -msgid "Org name" -msgstr "組織名" - #: orgs/models.py:14 msgid "GLOBAL" msgstr "グローバル組織" @@ -5066,11 +5076,6 @@ msgstr "システムロールバインディング" msgid "Perms" msgstr "パーマ" -#: rbac/serializers/role.py:28 terminal/models/applet/applet.py:34 -#: terminal/models/virtualapp/virtualapp.py:20 -msgid "Display name" -msgstr "表示名" - #: rbac/serializers/rolebinding.py:60 msgid "Has bound this role" msgstr "この役割をバインドしました" @@ -5352,8 +5357,8 @@ msgstr "" "スでユーザーを作成します" #: settings/serializers/auth/base.py:35 -msgid "Forgot Password" -msgstr "パスワードを忘れた" +msgid "Forgot Password URL" +msgstr "パスワードを忘れた場合のURL" #: settings/serializers/auth/base.py:36 msgid "The URL for Forgotten Password on the user login page" @@ -5450,15 +5455,15 @@ msgstr "DN のバインド" #: settings/serializers/auth/ldap.py:47 msgid "Binding Distinguished Name" -msgstr "専有名のバインド" +msgstr "バインドディレクトリ管理者" #: settings/serializers/auth/ldap.py:51 msgid "Binding password" -msgstr "古いパスワード" +msgstr "バインドパスワード" #: settings/serializers/auth/ldap.py:54 msgid "Search OU" -msgstr "システムアーキテクチャ" +msgstr "ユーザーOU" #: settings/serializers/auth/ldap.py:56 msgid "" @@ -5626,7 +5631,7 @@ msgstr "レルム名" #: settings/serializers/auth/oidc.py:70 msgid "OpenID Connect" -msgstr "接続" +msgstr "OpenID 接続する" #: settings/serializers/auth/oidc.py:73 msgid "Provider endpoint" @@ -5754,7 +5759,7 @@ msgstr "認証コード長" #: settings/serializers/auth/sms.py:26 msgid "Length of the sent verification code" -msgstr "確認コードを送信" +msgstr "送信された認証コードの長さ" #: settings/serializers/auth/sms.py:31 settings/serializers/auth/sms.py:54 #: settings/serializers/auth/sms.py:62 settings/serializers/auth/sms.py:71 @@ -5980,8 +5985,8 @@ msgid "Chat AI" msgstr "チャットAI" #: settings/serializers/feature.py:80 -msgid "Base URL" -msgstr "ベースサイトのアドレス" +msgid "GPT Base URL" +msgstr "GPTアドレス" #: settings/serializers/feature.py:81 msgid "The base URL of the GPT service. For example: https://api.openai.com/v1" @@ -6074,15 +6079,15 @@ msgstr "" #: settings/serializers/msg.py:33 msgid "The user to be used for email server authentication" -msgstr "これは、SSO認証中にメールが返されない場合にデフォルトで使用されます。" +msgstr "" +"メールサーバーにログインするためのユーザー名。通常、これはあなたのメールアド" +"レスです" #: settings/serializers/msg.py:37 msgid "" "Password to use for the email server. It is used in conjunction with `User` " "when authenticating to the email server" -msgstr "" -"メールサーバーに対するパスワード。メールサーバーに対する認証時に、これがユー" -"ザーとともに使用されます" +msgstr "メールサーバーにログインするためのパスワード" #: settings/serializers/msg.py:40 msgid "Sender" @@ -7090,6 +7095,11 @@ msgstr "コミュニティ版" msgid "Enterprise" msgstr "エンタープライズ版" +#: terminal/models/applet/applet.py:34 +#: terminal/models/virtualapp/virtualapp.py:20 +msgid "Display name" +msgstr "表示名" + #: terminal/models/applet/applet.py:36 #: terminal/models/virtualapp/virtualapp.py:22 msgid "Author" diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index 2b69fe5a5..021e88995 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/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: 2024-07-03 16:39+0800\n" +"POT-Creation-Date: 2024-07-15 16:28+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -63,7 +63,8 @@ msgstr "完成" #: accounts/automations/backup_account/handlers.py:219 #: accounts/const/automation.py:110 -#: accounts/serializers/automations/change_secret.py:166 audits/const.py:64 +#: accounts/serializers/automations/change_secret.py:166 +#: assets/serializers/automations/base.py:52 audits/const.py:64 #: audits/models.py:64 audits/signal_handlers/activity_log.py:33 #: common/const/choices.py:18 ops/const.py:74 ops/serializers/celery.py:48 #: terminal/const.py:78 terminal/models/session/sharing.py:121 @@ -302,8 +303,9 @@ msgstr "邮箱" msgid "SFTP" msgstr "SFTP" -#: accounts/const/automation.py:111 common/const/choices.py:16 -#: terminal/const.py:77 tickets/const.py:29 tickets/const.py:38 +#: accounts/const/automation.py:111 assets/serializers/automations/base.py:54 +#: common/const/choices.py:16 terminal/const.py:77 tickets/const.py:29 +#: tickets/const.py:38 msgid "Pending" msgstr "待定的" @@ -481,7 +483,7 @@ msgstr "账号备份快照" #: accounts/serializers/account/backup.py:48 #: accounts/serializers/automations/base.py:56 #: assets/models/automations/base.py:122 -#: assets/serializers/automations/base.py:39 +#: assets/serializers/automations/base.py:40 msgid "Trigger mode" msgstr "触发模式" @@ -574,7 +576,8 @@ msgid "Date finished" msgstr "结束日期" #: accounts/models/automations/change_secret.py:44 -#: assets/models/automations/base.py:113 audits/models.py:208 +#: assets/models/automations/base.py:113 +#: assets/serializers/automations/base.py:39 audits/models.py:208 #: audits/serializers.py:54 ops/models/base.py:49 ops/models/job.py:234 #: terminal/models/applet/applet.py:320 terminal/models/applet/host.py:140 #: terminal/models/component/status.py:30 @@ -706,9 +709,9 @@ msgstr "密码规则" #: ops/models/celery.py:80 ops/models/job.py:142 ops/models/playbook.py:28 #: ops/serializers/job.py:18 orgs/models.py:82 #: perms/models/asset_permission.py:61 rbac/models/role.py:29 -#: settings/models.py:34 settings/models.py:183 settings/serializers/msg.py:86 -#: settings/serializers/terminal.py:9 terminal/models/applet/applet.py:33 -#: terminal/models/component/endpoint.py:12 +#: rbac/serializers/role.py:28 settings/models.py:34 settings/models.py:183 +#: settings/serializers/msg.py:86 settings/serializers/terminal.py:9 +#: terminal/models/applet/applet.py:33 terminal/models/component/endpoint.py:12 #: terminal/models/component/endpoint.py:109 #: terminal/models/component/storage.py:26 terminal/models/component/task.py:13 #: terminal/models/component/terminal.py:85 @@ -1080,13 +1083,13 @@ msgstr "SSH 密钥更改方式" #: accounts/serializers/automations/change_secret.py:57 msgid "Please enter your account username" -msgstr "请输入 MFA 验证码" +msgstr "请输入您的账户用户名" #: accounts/serializers/automations/change_secret.py:62 msgid "" "Secret parameter settings, currently only effective for assets of the host " "type." -msgstr "秘文参数设置,目前只对宿主类型的资产有效。" +msgstr "参数设置当前仅对 AIX LINUX UNIX 类型资产有效" #: accounts/serializers/automations/change_secret.py:84 msgid "* Please enter the correct password length" @@ -2715,7 +2718,7 @@ msgstr "原因描述" #: audits/serializers.py:70 audits/serializers.py:184 msgid "Auth backend display" -msgstr "没有匹配到认证后端" +msgstr "认证方式" #: audits/serializers.py:134 #, python-format @@ -3379,7 +3382,12 @@ msgstr "工单信息" msgid "Actions" msgstr "动作" -#: authentication/serializers/connection_token.py:42 +#: authentication/serializers/connection_token.py:40 +#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27 +msgid "Org name" +msgstr "组织名称" + +#: authentication/serializers/connection_token.py:43 #: perms/serializers/permission.py:44 perms/serializers/permission.py:65 #: users/serializers/user.py:127 users/serializers/user.py:273 msgid "Is expired" @@ -4272,27 +4280,27 @@ msgstr "正在创建任务,无法中断,请稍后重试。" msgid "Currently playbook is being used in a job" msgstr "当前 playbook 正在作业中使用" -#: ops/api/playbook.py:96 +#: ops/api/playbook.py:97 msgid "Unsupported file content" msgstr "不支持的文件内容" -#: ops/api/playbook.py:98 ops/api/playbook.py:144 ops/api/playbook.py:192 +#: ops/api/playbook.py:99 ops/api/playbook.py:145 ops/api/playbook.py:193 msgid "Invalid file path" msgstr "无效的文件路径" -#: ops/api/playbook.py:170 +#: ops/api/playbook.py:171 msgid "This file can not be rename" msgstr "该文件不能重命名" -#: ops/api/playbook.py:189 +#: ops/api/playbook.py:190 msgid "File already exists" msgstr "文件已存在" -#: ops/api/playbook.py:207 +#: ops/api/playbook.py:208 msgid "File key is required" msgstr "文件密钥该字段是必填项。" -#: ops/api/playbook.py:210 +#: ops/api/playbook.py:211 msgid "This file can not be delete" msgstr "无法删除此文件" @@ -4513,7 +4521,8 @@ msgstr "运行用户" msgid "Run as policy" msgstr "用户策略" -#: ops/models/job.py:222 terminal/notifications.py:174 +#: ops/models/job.py:222 ops/serializers/job.py:92 +#: terminal/notifications.py:174 msgid "Job" msgstr "作业" @@ -4525,7 +4534,7 @@ msgstr "Material" msgid "Material Type" msgstr "Material 类型" -#: ops/models/job.py:545 +#: ops/models/job.py:548 msgid "Job Execution" msgstr "作业执行" @@ -4589,7 +4598,11 @@ msgstr "任务类型" msgid "Is finished" msgstr "是否完成" -#: ops/serializers/job.py:90 +#: ops/serializers/job.py:89 +msgid "Task id" +msgstr "任务 ID" + +#: ops/serializers/job.py:98 msgid "You do not have permission for the current job." msgstr "你没有当前作业的权限。" @@ -4692,10 +4705,6 @@ msgstr "请选择一个组织后再保存" msgid "Organization" msgstr "组织" -#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27 -msgid "Org name" -msgstr "组织名称" - #: orgs/models.py:14 msgid "GLOBAL" msgstr "全局组织" @@ -5003,11 +5012,6 @@ msgstr "系统角色绑定" msgid "Perms" msgstr "权限" -#: rbac/serializers/role.py:28 terminal/models/applet/applet.py:34 -#: terminal/models/virtualapp/virtualapp.py:20 -msgid "Display name" -msgstr "显示名称" - #: rbac/serializers/rolebinding.py:60 msgid "Has bound this role" msgstr "已经绑定" @@ -5286,8 +5290,8 @@ msgstr "" "以此邮箱后缀创建用户" #: settings/serializers/auth/base.py:35 -msgid "Forgot Password" -msgstr "忘记密码" +msgid "Forgot Password URL" +msgstr "忘记密码的 URL" #: settings/serializers/auth/base.py:36 msgid "The URL for Forgotten Password on the user login page" @@ -5382,15 +5386,15 @@ msgstr "绑定 DN" #: settings/serializers/auth/ldap.py:47 msgid "Binding Distinguished Name" -msgstr "绑定专有名称" +msgstr "绑定目录管理员" #: settings/serializers/auth/ldap.py:51 msgid "Binding password" -msgstr "原来密码" +msgstr "绑定密码" #: settings/serializers/auth/ldap.py:54 msgid "Search OU" -msgstr "系统架构" +msgstr "用户 OU" #: settings/serializers/auth/ldap.py:56 msgid "" @@ -5555,7 +5559,7 @@ msgstr "域" #: settings/serializers/auth/oidc.py:70 msgid "OpenID Connect" -msgstr "连接" +msgstr "OpenID 连接" #: settings/serializers/auth/oidc.py:73 msgid "Provider endpoint" @@ -5680,7 +5684,7 @@ msgstr "验证码长度" #: settings/serializers/auth/sms.py:26 msgid "Length of the sent verification code" -msgstr "发送验证码" +msgstr "发送验证码的长度" #: settings/serializers/auth/sms.py:31 settings/serializers/auth/sms.py:54 #: settings/serializers/auth/sms.py:62 settings/serializers/auth/sms.py:71 @@ -5897,7 +5901,9 @@ msgid "Chat AI" msgstr "聊天 AI" #: settings/serializers/feature.py:80 -msgid "Base URL" +#, fuzzy +#| msgid "Base URL" +msgid "GPT Base URL" msgstr "JumpServer 地址" #: settings/serializers/feature.py:81 @@ -5987,7 +5993,7 @@ msgstr "" #: settings/serializers/msg.py:33 msgid "The user to be used for email server authentication" -msgstr "SSO认证时,如果没有返回邮件地址,将使用该后缀" +msgstr "登录到邮件服务器的用户名。这通常是你的邮件地址" #: settings/serializers/msg.py:37 msgid "" @@ -6960,6 +6966,11 @@ msgstr "社区版" msgid "Enterprise" msgstr "企业版" +#: terminal/models/applet/applet.py:34 +#: terminal/models/virtualapp/virtualapp.py:20 +msgid "Display name" +msgstr "显示名称" + #: terminal/models/applet/applet.py:36 #: terminal/models/virtualapp/virtualapp.py:22 msgid "Author" @@ -8553,7 +8564,7 @@ msgstr "组织管理员" #: users/serializers/user.py:140 msgid "Can public key authentication" -msgstr "可以公钥认证吗" +msgstr "可以使用公钥认证" #: users/serializers/user.py:242 msgid "Full name" diff --git a/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po b/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po index ec419a190..65e3c30e9 100644 --- a/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh_Hant/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: 2024-07-03 16:39+0800\n" +"POT-Creation-Date: 2024-07-15 16:28+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -65,7 +65,8 @@ msgstr "完成" #: accounts/automations/backup_account/handlers.py:219 #: accounts/const/automation.py:110 -#: accounts/serializers/automations/change_secret.py:166 audits/const.py:64 +#: accounts/serializers/automations/change_secret.py:166 +#: assets/serializers/automations/base.py:52 audits/const.py:64 #: audits/models.py:64 audits/signal_handlers/activity_log.py:33 #: common/const/choices.py:18 ops/const.py:74 ops/serializers/celery.py:48 #: terminal/const.py:78 terminal/models/session/sharing.py:121 @@ -304,8 +305,9 @@ msgstr "信箱" msgid "SFTP" msgstr "SFTP" -#: accounts/const/automation.py:111 common/const/choices.py:16 -#: terminal/const.py:77 tickets/const.py:29 tickets/const.py:38 +#: accounts/const/automation.py:111 assets/serializers/automations/base.py:54 +#: common/const/choices.py:16 terminal/const.py:77 tickets/const.py:29 +#: tickets/const.py:38 msgid "Pending" msgstr "待定的" @@ -483,7 +485,7 @@ msgstr "帳號備份快照" #: accounts/serializers/account/backup.py:48 #: accounts/serializers/automations/base.py:56 #: assets/models/automations/base.py:122 -#: assets/serializers/automations/base.py:39 +#: assets/serializers/automations/base.py:40 msgid "Trigger mode" msgstr "觸發模式" @@ -576,7 +578,8 @@ msgid "Date finished" msgstr "結束日期" #: accounts/models/automations/change_secret.py:44 -#: assets/models/automations/base.py:113 audits/models.py:208 +#: assets/models/automations/base.py:113 +#: assets/serializers/automations/base.py:39 audits/models.py:208 #: audits/serializers.py:54 ops/models/base.py:49 ops/models/job.py:234 #: terminal/models/applet/applet.py:320 terminal/models/applet/host.py:140 #: terminal/models/component/status.py:30 @@ -708,9 +711,9 @@ msgstr "密碼規則" #: ops/models/celery.py:80 ops/models/job.py:142 ops/models/playbook.py:28 #: ops/serializers/job.py:18 orgs/models.py:82 #: perms/models/asset_permission.py:61 rbac/models/role.py:29 -#: settings/models.py:34 settings/models.py:183 settings/serializers/msg.py:86 -#: settings/serializers/terminal.py:9 terminal/models/applet/applet.py:33 -#: terminal/models/component/endpoint.py:12 +#: rbac/serializers/role.py:28 settings/models.py:34 settings/models.py:183 +#: settings/serializers/msg.py:86 settings/serializers/terminal.py:9 +#: terminal/models/applet/applet.py:33 terminal/models/component/endpoint.py:12 #: terminal/models/component/endpoint.py:109 #: terminal/models/component/storage.py:26 terminal/models/component/task.py:13 #: terminal/models/component/terminal.py:85 @@ -768,10 +771,8 @@ msgid "Secret from login" msgstr "與用戶登錄時相同" #: accounts/models/virtual.py:18 -#, fuzzy -#| msgid "Email account" msgid "Virtual account" -msgstr "信箱帳號" +msgstr "虛擬帳號" #: accounts/models/virtual.py:28 msgid "Same with user" @@ -1084,13 +1085,13 @@ msgstr "SSH 金鑰更改方式" #: accounts/serializers/automations/change_secret.py:57 msgid "Please enter your account username" -msgstr "請輸入 MFA 驗證碼" +msgstr "請輸入您的帳戶使用者名稱" #: accounts/serializers/automations/change_secret.py:62 msgid "" "Secret parameter settings, currently only effective for assets of the host " "type." -msgstr "密文參數設定, 目前只對宿主型的資產有效。" +msgstr "參數設置,目前只對 AIX LINUX UNIX 類型的資產有效。" #: accounts/serializers/automations/change_secret.py:84 msgid "* Please enter the correct password length" @@ -2719,7 +2720,7 @@ msgstr "原因描述" #: audits/serializers.py:70 audits/serializers.py:184 msgid "Auth backend display" -msgstr "没有匹配到认证后端" +msgstr "認證方式" #: audits/serializers.py:134 #, python-format @@ -3383,7 +3384,12 @@ msgstr "工單資訊" msgid "Actions" msgstr "動作" -#: authentication/serializers/connection_token.py:42 +#: authentication/serializers/connection_token.py:40 +#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27 +msgid "Org name" +msgstr "組織名稱" + +#: authentication/serializers/connection_token.py:43 #: perms/serializers/permission.py:44 perms/serializers/permission.py:65 #: users/serializers/user.py:127 users/serializers/user.py:273 msgid "Is expired" @@ -4275,27 +4281,27 @@ msgstr "正在創建任務,無法中斷,請稍後重試。" msgid "Currently playbook is being used in a job" msgstr "當前 playbook 正在作業中使用" -#: ops/api/playbook.py:96 +#: ops/api/playbook.py:97 msgid "Unsupported file content" msgstr "不支持的文件內容" -#: ops/api/playbook.py:98 ops/api/playbook.py:144 ops/api/playbook.py:192 +#: ops/api/playbook.py:99 ops/api/playbook.py:145 ops/api/playbook.py:193 msgid "Invalid file path" msgstr "無效的文件路徑" -#: ops/api/playbook.py:170 +#: ops/api/playbook.py:171 msgid "This file can not be rename" msgstr "該文件不能重命名" -#: ops/api/playbook.py:189 +#: ops/api/playbook.py:190 msgid "File already exists" msgstr "文件已存在" -#: ops/api/playbook.py:207 +#: ops/api/playbook.py:208 msgid "File key is required" msgstr "文件金鑰該欄位是必填項。" -#: ops/api/playbook.py:210 +#: ops/api/playbook.py:211 msgid "This file can not be delete" msgstr "無法刪除此文件" @@ -4518,7 +4524,8 @@ msgstr "執行使用者" msgid "Run as policy" msgstr "使用者策略" -#: ops/models/job.py:222 terminal/notifications.py:174 +#: ops/models/job.py:222 ops/serializers/job.py:92 +#: terminal/notifications.py:174 msgid "Job" msgstr "作業" @@ -4530,7 +4537,7 @@ msgstr "Material" msgid "Material Type" msgstr "Material 類型" -#: ops/models/job.py:545 +#: ops/models/job.py:548 msgid "Job Execution" msgstr "作業執行" @@ -4594,7 +4601,11 @@ msgstr "任務類型" msgid "Is finished" msgstr "是否完成" -#: ops/serializers/job.py:90 +#: ops/serializers/job.py:89 +msgid "Task id" +msgstr "任務 ID" + +#: ops/serializers/job.py:98 msgid "You do not have permission for the current job." msgstr "你沒有當前作業的權限。" @@ -4697,10 +4708,6 @@ msgstr "請選擇一個組織後再保存" msgid "Organization" msgstr "組織" -#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27 -msgid "Org name" -msgstr "組織名稱" - #: orgs/models.py:14 msgid "GLOBAL" msgstr "全局組織" @@ -5010,11 +5017,6 @@ msgstr "系統角色綁定" msgid "Perms" msgstr "權限" -#: rbac/serializers/role.py:28 terminal/models/applet/applet.py:34 -#: terminal/models/virtualapp/virtualapp.py:20 -msgid "Display name" -msgstr "顯示名稱" - #: rbac/serializers/rolebinding.py:60 msgid "Has bound this role" msgstr "已經綁定" @@ -5293,8 +5295,8 @@ msgstr "" "統將自動以此電子信箱後綴建立使用者" #: settings/serializers/auth/base.py:35 -msgid "Forgot Password" -msgstr "忘記密碼" +msgid "Forgot Password URL" +msgstr "忘記密碼連結" #: settings/serializers/auth/base.py:36 msgid "The URL for Forgotten Password on the user login page" @@ -5389,15 +5391,15 @@ msgstr "綁定 DN" #: settings/serializers/auth/ldap.py:47 msgid "Binding Distinguished Name" -msgstr "綁定專有名稱" +msgstr "綁定目錄管理員" #: settings/serializers/auth/ldap.py:51 msgid "Binding password" -msgstr "原來的密碼" +msgstr "綁定密碼" #: settings/serializers/auth/ldap.py:54 msgid "Search OU" -msgstr "系統架構" +msgstr "使用者 OU" #: settings/serializers/auth/ldap.py:56 msgid "" @@ -5562,7 +5564,7 @@ msgstr "域" #: settings/serializers/auth/oidc.py:70 msgid "OpenID Connect" -msgstr "Connect" +msgstr "OpenID 連接" #: settings/serializers/auth/oidc.py:73 msgid "Provider endpoint" @@ -5687,7 +5689,7 @@ msgstr "驗證碼長度" #: settings/serializers/auth/sms.py:26 msgid "Length of the sent verification code" -msgstr "發送驗證碼" +msgstr "發送的驗證碼長度" #: settings/serializers/auth/sms.py:31 settings/serializers/auth/sms.py:54 #: settings/serializers/auth/sms.py:62 settings/serializers/auth/sms.py:71 @@ -5904,8 +5906,8 @@ msgid "Chat AI" msgstr "聊天 AI" #: settings/serializers/feature.py:80 -msgid "Base URL" -msgstr "JumpServer 地址" +msgid "GPT Base URL" +msgstr "GPT 地址" #: settings/serializers/feature.py:81 msgid "The base URL of the GPT service. For example: https://api.openai.com/v1" @@ -5994,15 +5996,13 @@ msgstr "" #: settings/serializers/msg.py:33 msgid "The user to be used for email server authentication" -msgstr "SSO認證時,如果沒有返回郵件地址,將使用該後綴" +msgstr "登入郵件伺服器的使用者名稱。這通常是你的郵件地址" #: settings/serializers/msg.py:37 msgid "" "Password to use for the email server. It is used in conjunction with `User` " "when authenticating to the email server" -msgstr "" -"用於電子郵件伺服器的密碼。在向電子郵件伺服器進行身份驗證時,它與使用者一起使" -"用" +msgstr "登入郵件伺服器的密碼" #: settings/serializers/msg.py:40 msgid "Sender" @@ -6968,6 +6968,11 @@ msgstr "社區版" msgid "Enterprise" msgstr "企業版" +#: terminal/models/applet/applet.py:34 +#: terminal/models/virtualapp/virtualapp.py:20 +msgid "Display name" +msgstr "顯示名稱" + #: terminal/models/applet/applet.py:36 #: terminal/models/virtualapp/virtualapp.py:22 msgid "Author" diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 043fd06b0..1675cda22 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -924,7 +924,7 @@ "RecentSession": "Recent sessions", "RecentlyUsed": "Recently", "Recipient": "Recipient", - "RecipientHelpText": "If both recipient a and b are set, the account's key will be split into two parts", + "RecipientHelpText": "If both recipients A and B are set, the account's ciphertext will be split into two parts; if only one recipient is set, the key will not be split.", "RecipientServer": "Receiving server", "Reconnect": "Reconnect", "Refresh": "Refresh", @@ -1101,7 +1101,6 @@ "Setting": "Setting", "SettingInEndpointHelpText": "Configure service address and port in system settings / component settings / server endpoints", "Settings": "System settings", - "Settings...": "Settings...", "Show": "Display", "ShowAssetAllChildrenNode": "Show all sub-nodes assets", "ShowAssetOnlyCurrentNode": "Only show current node assets", @@ -1384,5 +1383,8 @@ "ZoneList": "Zones", "ZoneUpdate": "Update the zone", "forceEnableMFAHelpText": "If force enable, user can not disable by themselves", - "removeWarningMsg": "Are you sure you want to remove" + "removeWarningMsg": "Are you sure you want to remove", + "RetrySelected": "Retry selected", + "ApproveSelected": "Approve selected", + "Running": "Running" } \ No newline at end of file diff --git a/apps/i18n/lina/ja.json b/apps/i18n/lina/ja.json index 6f79704bd..03e7e9a44 100644 --- a/apps/i18n/lina/ja.json +++ b/apps/i18n/lina/ja.json @@ -699,7 +699,7 @@ "LoginAssetToday": "本日のアクティブな資産数", "LoginAssets": "アクティブな資産", "LoginConfirm": "ログインレビュー", - "LoginConfirmUser": "確認方法", + "LoginConfirmUser": "ログインレビュー担当者", "LoginCount": "ログイン回数", "LoginDate": "ログイン日", "LoginFailed": "ログイン失敗", @@ -957,7 +957,7 @@ "RecentSession": "最近の会話", "RecentlyUsed": "最近使用", "Recipient": "受取人", - "RecipientHelpText": "A B受信者が設定されている場合、アカウントの鍵は前後二つに分割されます", + "RecipientHelpText": "受信者 A と B が同時に設定されている場合、アカウントの暗号文は 2 つの部分に分割されます。受信者が 1 つだけ設定されている場合、キーは分割されません。", "RecipientServer": "受信サーバー", "Reconnect": "再接続", "Refresh": "更新", @@ -1135,7 +1135,6 @@ "Setting": "設定", "SettingInEndpointHelpText": "システム設定/コンポーネント設定/サーバーエンドポイントでサービスのアドレスとポートを設定してください", "Settings": "システム設定", - "Settings...": "設定...", "Show": "表示", "ShowAssetAllChildrenNode": "すべての子ノードの資産を表示", "ShowAssetOnlyCurrentNode": "現在のノードアセットのみを表示", diff --git a/apps/i18n/lina/zh.json b/apps/i18n/lina/zh.json index 6c773cc7d..c9ac12a40 100644 --- a/apps/i18n/lina/zh.json +++ b/apps/i18n/lina/zh.json @@ -246,7 +246,7 @@ "CeleryTaskLog": "Celery任务日志", "Certificate": "证书", "CertificateKey": "客户端密钥", - "ChangeCredentials": "改密", + "ChangeCredentials": "账号改密", "ChangeCredentialsHelpText": "定时修改账号密钥密码。账号随机生成密码,并同步到目标资产,如果同步成功,更新该账号的密码", "ChangeField": "变更字段", "ChangeOrganization": "更改组织", @@ -676,7 +676,7 @@ "LoginAssetToday": "今日活跃资产数", "LoginAssets": "活跃资产", "LoginConfirm": "登录复核", - "LoginConfirmUser": "确认方式", + "LoginConfirmUser": "登录复核 受理人", "LoginCount": "登录次数", "LoginDate": "登录日期", "LoginFailed": "登录失败", @@ -926,7 +926,7 @@ "RecentSession": "最近会话", "RecentlyUsed": "最近使用", "Recipient": "接收人", - "RecipientHelpText": "若收件人 A B 都设置,账号的密钥将被拆分成前后两部分", + "RecipientHelpText": "如果同时设置了收件人A和B,账号的密文将被拆分为两部分;如果只设置了一个收件人,密钥则不会被拆分。", "RecipientServer": "接收服务器", "Reconnect": "重新连接", "Refresh": "刷新", @@ -1103,7 +1103,6 @@ "Setting": "设置", "SettingInEndpointHelpText": "在 系统设置 / 组件设置 / 服务端点 中配置服务地址和端口", "Settings": "系统设置", - "Settings...": "设置...", "Show": "显示", "ShowAssetAllChildrenNode": "显示所有子节点资产", "ShowAssetOnlyCurrentNode": "仅显示当前节点资产", @@ -1385,5 +1384,9 @@ "ZoneList": "网域列表", "ZoneUpdate": "更新网域", "forceEnableMFAHelpText": "如果强制启用,用户无法自行禁用", - "removeWarningMsg": "你确定要移除" + "removeWarningMsg": "你确定要移除", + "VaultHCPMountPoint": "Vault 服务器的挂载点,默认为 jumpserver", + "RetrySelected": "重试所选", + "ApproveSelected": "审批所选", + "Running": "运行中" } \ No newline at end of file diff --git a/apps/i18n/lina/zh_hant.json b/apps/i18n/lina/zh_hant.json index 3f88abb1b..9bd1ecec3 100644 --- a/apps/i18n/lina/zh_hant.json +++ b/apps/i18n/lina/zh_hant.json @@ -903,7 +903,7 @@ "LoginCity": "登入城市", "LoginConfig": "登入配置", "LoginConfirm": "登入覆核", - "LoginConfirmUser": "確認方式", + "LoginConfirmUser": "登錄複核 受理人", "LoginCount": "登入次數", "LoginDate": "登入日期", "LoginFailed": "登入失敗", @@ -1239,7 +1239,7 @@ "RecentSession": "最近會話", "RecentlyUsed": "最近使用", "Recipient": "接收人", - "RecipientHelpText": "若收件人 A B 都設置,帳號的金鑰將被拆分成前後兩部分。如用戶未設置加密密碼 - 請前往個人資訊 -> 偏好設置中設置加密密碼", + "RecipientHelpText": "如果同時設定了收件人A和B,帳號的密文將被拆分為兩部分;如果只設定了一個收件人,密鑰則不會被拆分。", "RecipientServer": "接收伺服器", "Reconnect": "重新連接", "Refresh": "刷新", @@ -1459,7 +1459,6 @@ "Setting": "設置", "SettingInEndpointHelpText": "在 系統設置 / 組件設置 / 服務端點 中配置服務地址和埠", "Settings": "系統設置", - "Settings...": " Settings...", "Show": "顯示", "ShowAssetAllChildrenNode": "顯示所有子節點資產", "ShowAssetOnlyCurrentNode": "僅顯示當前節點資產", diff --git a/apps/ops/api/job.py b/apps/ops/api/job.py index f67c886c4..fa7b88cb6 100644 --- a/apps/ops/api/job.py +++ b/apps/ops/api/job.py @@ -270,7 +270,10 @@ class JobExecutionTaskDetail(APIView): execution = get_object_or_404(JobExecution, pk=task_id, creator=request.user) return Response(data={ - 'status': execution.status, + 'status': { + 'value': execution.status, + 'label': execution.get_status_display() + }, 'is_finished': execution.is_finished, 'is_success': execution.is_success, 'time_cost': execution.time_cost, diff --git a/apps/ops/models/job.py b/apps/ops/models/job.py index f8aedd209..8b7beb37c 100644 --- a/apps/ops/models/job.py +++ b/apps/ops/models/job.py @@ -248,6 +248,9 @@ class JobExecution(JMSOrgBaseModel): # clean up zombie execution + def get_status_display(self): + return dict(JobStatus.choices).get(self.status, self.status) + @classmethod def clean_unexpected_execution(cls): for execution in cls.objects.filter(status__in=[JobStatus.running]).all(): diff --git a/apps/ops/serializers/job.py b/apps/ops/serializers/job.py index b66ab4202..431b062d0 100644 --- a/apps/ops/serializers/job.py +++ b/apps/ops/serializers/job.py @@ -84,6 +84,14 @@ class JobExecutionSerializer(BulkOrgResourceModelSerializer): fields = read_only_fields + [ "job", "parameters", "creator" ] + extra_kwargs = { + "task_id": { + "label": _("Task id"), + }, + "job": { + "label": _("Job"), + } + } def validate_job(self, job_obj): if job_obj.creator != self.context['request'].user: diff --git a/apps/rbac/serializers/role.py b/apps/rbac/serializers/role.py index 84c597396..4a16db9db 100644 --- a/apps/rbac/serializers/role.py +++ b/apps/rbac/serializers/role.py @@ -25,7 +25,7 @@ class RoleSerializer(serializers.ModelSerializer): extra_kwargs = { 'permissions': {'write_only': True}, 'users_amount': {'label': _('Users amount')}, - 'display_name': {'label': _('Display name')} + 'display_name': {'label': _('Name')} } diff --git a/apps/settings/serializers/auth/base.py b/apps/settings/serializers/auth/base.py index a9292acfc..4b7409f08 100644 --- a/apps/settings/serializers/auth/base.py +++ b/apps/settings/serializers/auth/base.py @@ -32,7 +32,7 @@ class AuthSettingSerializer(serializers.Serializer): ) FORGOT_PASSWORD_URL = serializers.CharField( required=False, allow_blank=True, max_length=1024, - label=_("Forgot Password"), + label=_("Forgot Password URL"), help_text=_("The URL for Forgotten Password on the user login page") ) LOGIN_REDIRECT_MSG_ENABLED = serializers.BooleanField( diff --git a/apps/settings/serializers/feature.py b/apps/settings/serializers/feature.py index d88a42af6..a28d5d183 100644 --- a/apps/settings/serializers/feature.py +++ b/apps/settings/serializers/feature.py @@ -77,7 +77,7 @@ class ChatAISettingSerializer(serializers.Serializer): required=False, label=_('Chat AI') ) GPT_BASE_URL = serializers.CharField( - allow_blank=True, required=False, label=_('Base URL'), + allow_blank=True, required=False, label=_('GPT Base URL'), help_text=_('The base URL of the GPT service. For example: https://api.openai.com/v1') ) GPT_API_KEY = EncryptedField( diff --git a/apps/terminal/serializers/terminal.py b/apps/terminal/serializers/terminal.py index e47fcf93e..a80e2ad84 100644 --- a/apps/terminal/serializers/terminal.py +++ b/apps/terminal/serializers/terminal.py @@ -41,7 +41,7 @@ class TerminalSmallSerializer(serializers.ModelSerializer): class TerminalSerializer(BulkModelSerializer): session_online = serializers.ReadOnlyField(source='get_online_session_count', label=_('Online sessions')) is_alive = serializers.BooleanField(read_only=True, label=_('Is alive')) - is_active = serializers.BooleanField(read_only=True, label='Is active') + is_active = serializers.BooleanField(read_only=True, label=_('Active')) load = LabeledChoiceField( read_only=True, choices=const.ComponentLoad.choices, label=_('Load status')