diff --git a/apps/locale/ja/LC_MESSAGES/django.mo b/apps/locale/ja/LC_MESSAGES/django.mo index bb9486afd..dadb2b00b 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:0b54b29587fa79fd51a8e1836eba016c2a64419dc0981bac65daa356f6e180f2 -size 117154 +oid sha256:ed394901fe9f21307ca1590cb77df861fef9d68f1f2d45bf21b495fb9b56e596 +size 117024 diff --git a/apps/locale/ja/LC_MESSAGES/django.po b/apps/locale/ja/LC_MESSAGES/django.po index 1ef36810d..3ec5142f7 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-11-15 15:52+0800\n" +"POT-Creation-Date: 2022-11-15 20:31+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -30,8 +30,8 @@ msgstr "Acls" #: assets/models/label.py:17 assets/models/platform.py:21 #: assets/models/platform.py:72 assets/serializers/asset/common.py:86 #: assets/serializers/platform.py:138 ops/mixin.py:20 ops/models/adhoc.py:24 -#: ops/models/job.py:33 ops/models/playbook.py:13 orgs/models.py:70 -#: perms/models/asset_permission.py:51 rbac/models/role.py:29 +#: ops/models/celery.py:15 ops/models/job.py:33 ops/models/playbook.py:13 +#: orgs/models.py:70 perms/models/asset_permission.py:51 rbac/models/role.py:29 #: settings/models.py:33 settings/serializers/sms.py:6 #: terminal/models/applet/applet.py:20 terminal/models/component/endpoint.py:11 #: terminal/models/component/endpoint.py:87 @@ -216,7 +216,7 @@ msgstr "" "ション: {}" #: acls/serializers/login_asset_acl.py:108 -#: tickets/serializers/ticket/ticket.py:86 +#: tickets/serializers/ticket/ticket.py:67 msgid "The organization `{}` does not exist" msgstr "組織 '{}'は存在しません" @@ -267,6 +267,7 @@ msgstr "カテゴリ" #: tickets/models/comment.py:26 tickets/models/flow.py:57 #: tickets/models/ticket/apply_application.py:17 #: tickets/models/ticket/general.py:273 tickets/serializers/flow.py:53 +#: tickets/serializers/ticket/ticket.py:18 #: xpack/plugins/change_auth_plan/models/app.py:27 #: xpack/plugins/change_auth_plan/models/app.py:152 msgid "Type" @@ -711,7 +712,7 @@ msgid "Move asset to node" msgstr "アセットをノードに移動する" #: assets/models/asset/web.py:9 audits/const.py:67 -#: terminal/serializers/applet_host.py:26 +#: terminal/serializers/applet_host.py:25 msgid "Disabled" msgstr "無効" @@ -769,17 +770,17 @@ msgstr "自動管理" #: audits/serializers.py:41 ops/models/base.py:49 ops/models/job.py:57 #: terminal/models/applet/applet.py:60 terminal/models/applet/host.py:104 #: terminal/models/component/status.py:27 terminal/serializers/applet.py:22 -#: tickets/models/ticket/general.py:281 xpack/plugins/cloud/models.py:171 -#: xpack/plugins/cloud/models.py:223 +#: tickets/models/ticket/general.py:281 tickets/serializers/ticket/ticket.py:19 +#: xpack/plugins/cloud/models.py:171 xpack/plugins/cloud/models.py:223 msgid "Status" msgstr "ステータス" #: assets/models/automations/base.py:93 assets/models/backup.py:76 -#: audits/models.py:40 ops/models/base.py:55 ops/models/job.py:63 -#: perms/models/asset_permission.py:69 terminal/models/applet/host.py:105 -#: terminal/models/session/session.py:43 +#: audits/models.py:40 ops/models/base.py:55 ops/models/celery.py:59 +#: ops/models/job.py:63 perms/models/asset_permission.py:69 +#: terminal/models/applet/host.py:105 terminal/models/session/session.py:43 #: tickets/models/ticket/apply_application.py:28 -#: tickets/models/ticket/apply_asset.py:18 +#: tickets/models/ticket/apply_asset.py:19 #: xpack/plugins/change_auth_plan/models/base.py:108 #: xpack/plugins/change_auth_plan/models/base.py:199 #: xpack/plugins/gathered_user/models.py:71 @@ -788,7 +789,8 @@ msgstr "開始日" #: assets/models/automations/base.py:94 #: assets/models/automations/change_secret.py:59 ops/models/base.py:56 -#: ops/models/job.py:64 terminal/models/applet/host.py:106 +#: ops/models/celery.py:60 ops/models/job.py:64 +#: terminal/models/applet/host.py:106 msgid "Date finished" msgstr "終了日" @@ -1139,7 +1141,7 @@ msgid "Setting" msgstr "設定" #: assets/models/platform.py:42 audits/const.py:68 settings/models.py:37 -#: terminal/serializers/applet_host.py:27 +#: terminal/serializers/applet_host.py:26 msgid "Enabled" msgstr "有効化" @@ -2223,7 +2225,7 @@ msgstr "アセット名" #: authentication/models/connection_token.py:36 #: authentication/models/temp_token.py:13 perms/models/asset_permission.py:72 #: tickets/models/ticket/apply_application.py:29 -#: tickets/models/ticket/apply_asset.py:19 users/models/user.py:707 +#: tickets/models/ticket/apply_asset.py:20 users/models/user.py:707 msgid "Date expired" msgstr "期限切れの日付" @@ -2765,11 +2767,11 @@ msgstr "%s オブジェクトは存在しません。" msgid "Incorrect type. Expected pk value, received {data_type}." msgstr "" -#: common/drf/fields.py:131 +#: common/drf/fields.py:138 msgid "Invalid data type, should be list" msgstr "" -#: common/drf/fields.py:146 +#: common/drf/fields.py:153 #, fuzzy #| msgid "Invalid ip" msgid "Invalid choice: {}" @@ -3083,7 +3085,7 @@ msgstr "パターン" msgid "Module" msgstr "" -#: ops/models/adhoc.py:28 ops/models/celery.py:48 ops/models/job.py:35 +#: ops/models/adhoc.py:28 ops/models/celery.py:54 ops/models/job.py:35 #: terminal/models/component/task.py:17 msgid "Args" msgstr "アルグ" @@ -3128,20 +3130,27 @@ msgstr "結果" msgid "Summary" msgstr "" -#: ops/models/celery.py:49 terminal/models/component/task.py:18 +#: ops/models/celery.py:55 terminal/models/component/task.py:18 msgid "Kwargs" msgstr "クワーグ" -#: ops/models/celery.py:50 tickets/models/comment.py:13 +#: ops/models/celery.py:56 tickets/models/comment.py:13 #: tickets/models/ticket/general.py:41 tickets/models/ticket/general.py:277 +#: tickets/serializers/ticket/ticket.py:20 msgid "State" msgstr "状態" -#: ops/models/celery.py:51 terminal/models/session/sharing.py:111 +#: ops/models/celery.py:57 terminal/models/session/sharing.py:111 #: tickets/const.py:25 xpack/plugins/change_auth_plan/models/base.py:188 msgid "Finished" msgstr "終了" +#: ops/models/celery.py:58 +#, fuzzy +#| msgid "Date finished" +msgid "Date published" +msgstr "終了日" + #: ops/models/job.py:21 ops/models/job.py:38 msgid "Playbook" msgstr "" @@ -3200,7 +3209,8 @@ msgstr "{max_threshold}%: => {value} を超える使用メモリ" msgid "CPU load more than {max_threshold}: => {value}" msgstr "{max_threshold} を超えるCPUロード: => {value}" -#: ops/signal_handlers.py:63 terminal/models/component/task.py:26 +#: ops/signal_handlers.py:63 terminal/models/applet/host.py:108 +#: terminal/models/component/task.py:26 #: xpack/plugins/gathered_user/models.py:68 msgid "Task" msgstr "タスク" @@ -3271,7 +3281,7 @@ msgstr "アプリ組織" #: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:88 #: 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:72 +#: tickets/models/ticket/general.py:300 tickets/serializers/ticket/ticket.py:61 msgid "Organization" msgstr "組織" @@ -3342,7 +3352,7 @@ msgstr "クリップボードのコピー" #: perms/models/asset_permission.py:66 perms/models/perm_token.py:18 #: perms/serializers/permission.py:29 perms/serializers/permission.py:59 #: tickets/models/ticket/apply_application.py:26 -#: tickets/models/ticket/apply_asset.py:17 +#: tickets/models/ticket/apply_asset.py:18 msgid "Actions" msgstr "アクション" @@ -3427,7 +3437,7 @@ msgstr "" msgid "If you have any question, please contact the administrator" msgstr "質問があったら、管理者に連絡して下さい" -#: perms/utils/user_permission.py:622 rbac/tree.py:57 +#: perms/utils/user_permission.py:627 rbac/tree.py:57 msgid "My assets" msgstr "私の資産" @@ -5379,27 +5389,27 @@ msgstr "電話が設定されていない" msgid "Icon" msgstr "" -#: terminal/serializers/applet_host.py:22 +#: terminal/serializers/applet_host.py:21 #, fuzzy #| msgid "Session" msgid "Per Session" msgstr "セッション" -#: terminal/serializers/applet_host.py:23 +#: terminal/serializers/applet_host.py:22 msgid "Per Device" msgstr "" -#: terminal/serializers/applet_host.py:29 +#: terminal/serializers/applet_host.py:28 #, fuzzy #| msgid "License" msgid "RDS Licensing" msgstr "ライセンス" -#: terminal/serializers/applet_host.py:30 +#: terminal/serializers/applet_host.py:29 msgid "RDS License Server" msgstr "" -#: terminal/serializers/applet_host.py:31 +#: terminal/serializers/applet_host.py:30 msgid "RDS Licensing Mode" msgstr "" @@ -5682,7 +5692,7 @@ msgid "Ticket session relation" msgstr "チケットセッションの関係" #: tickets/models/ticket/apply_application.py:11 -#: tickets/models/ticket/apply_asset.py:12 +#: tickets/models/ticket/apply_asset.py:13 msgid "Permission name" msgstr "認可ルール名" @@ -5694,20 +5704,22 @@ msgstr "アプリケーションの適用" msgid "Apply system users" msgstr "システムユーザーの適用" -#: tickets/models/ticket/apply_asset.py:8 -#: tickets/serializers/ticket/apply_asset.py:15 +#: tickets/models/ticket/apply_asset.py:9 +#: tickets/serializers/ticket/apply_asset.py:14 msgid "Select at least one asset or node" msgstr "少なくとも1つのアセットまたはノードを選択します。" -#: tickets/models/ticket/apply_asset.py:13 +#: tickets/models/ticket/apply_asset.py:14 +#: tickets/serializers/ticket/apply_asset.py:19 msgid "Apply nodes" msgstr "ノードの適用" -#: tickets/models/ticket/apply_asset.py:15 +#: tickets/models/ticket/apply_asset.py:16 +#: tickets/serializers/ticket/apply_asset.py:18 msgid "Apply assets" msgstr "資産の適用" -#: tickets/models/ticket/apply_asset.py:16 +#: tickets/models/ticket/apply_asset.py:17 #, fuzzy #| msgid "Application account" msgid "Apply accounts" @@ -5833,6 +5845,12 @@ msgstr "現在の組織タイプは既に存在します。" msgid "Processor" msgstr "プロセッサ" +#: tickets/serializers/ticket/apply_asset.py:20 +#, fuzzy +#| msgid "Apply applications" +msgid "Apply actions" +msgstr "アプリケーションの適用" + #: tickets/serializers/ticket/common.py:15 #: tickets/serializers/ticket/common.py:77 msgid "Created by ticket ({}-{})" @@ -5846,15 +5864,7 @@ msgstr "有効期限は開始日より大きくする必要があります" msgid "Permission named `{}` already exists" msgstr "'{}'という名前の権限は既に存在します" -#: tickets/serializers/ticket/ticket.py:17 -msgid "Type display" -msgstr "タイプ表示" - -#: tickets/serializers/ticket/ticket.py:18 -msgid "Status display" -msgstr "ステータス表示" - -#: tickets/serializers/ticket/ticket.py:101 +#: tickets/serializers/ticket/ticket.py:85 msgid "The ticket flow `{}` does not exist" msgstr "チケットフロー '{}'が存在しない" @@ -7176,6 +7186,12 @@ msgstr "究極のエディション" msgid "Community edition" msgstr "コミュニティ版" +#~ msgid "Type display" +#~ msgstr "タイプ表示" + +#~ msgid "Status display" +#~ msgstr "ステータス表示" + #, fuzzy #~| msgid "Run command" #~ msgid "Run ansible command" diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index c1becdb02..d8b94b86b 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:bf423289503715e2a574bce56bf6b1b323e0355ef18dbd1c8de37c66c0fb5b25 -size 104080 +oid sha256:37b75571d3f4b3da6cfb5edad89bbebcd041e2b59b7c2d5642adb571116a68b1 +size 103936 diff --git a/apps/locale/zh/LC_MESSAGES/django.po b/apps/locale/zh/LC_MESSAGES/django.po index 596c39c50..76b225870 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-11-15 15:52+0800\n" +"POT-Creation-Date: 2022-11-15 20:31+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -29,8 +29,8 @@ msgstr "访问控制" #: assets/models/label.py:17 assets/models/platform.py:21 #: assets/models/platform.py:72 assets/serializers/asset/common.py:86 #: assets/serializers/platform.py:138 ops/mixin.py:20 ops/models/adhoc.py:24 -#: ops/models/job.py:33 ops/models/playbook.py:13 orgs/models.py:70 -#: perms/models/asset_permission.py:51 rbac/models/role.py:29 +#: ops/models/celery.py:15 ops/models/job.py:33 ops/models/playbook.py:13 +#: orgs/models.py:70 perms/models/asset_permission.py:51 rbac/models/role.py:29 #: settings/models.py:33 settings/serializers/sms.py:6 #: terminal/models/applet/applet.py:20 terminal/models/component/endpoint.py:11 #: terminal/models/component/endpoint.py:87 @@ -212,7 +212,7 @@ msgid "" msgstr "格式为逗号分隔的字符串, * 表示匹配所有. 可选的协议有: {}" #: acls/serializers/login_asset_acl.py:108 -#: tickets/serializers/ticket/ticket.py:86 +#: tickets/serializers/ticket/ticket.py:67 msgid "The organization `{}` does not exist" msgstr "组织 `{}` 不存在" @@ -262,6 +262,7 @@ msgstr "类别" #: tickets/models/comment.py:26 tickets/models/flow.py:57 #: tickets/models/ticket/apply_application.py:17 #: tickets/models/ticket/general.py:273 tickets/serializers/flow.py:53 +#: tickets/serializers/ticket/ticket.py:18 #: xpack/plugins/change_auth_plan/models/app.py:27 #: xpack/plugins/change_auth_plan/models/app.py:152 msgid "Type" @@ -682,7 +683,7 @@ msgid "Move asset to node" msgstr "移动资产到节点" #: assets/models/asset/web.py:9 audits/const.py:67 -#: terminal/serializers/applet_host.py:26 +#: terminal/serializers/applet_host.py:25 msgid "Disabled" msgstr "禁用" @@ -732,17 +733,17 @@ msgstr "自动化任务" #: audits/serializers.py:41 ops/models/base.py:49 ops/models/job.py:57 #: terminal/models/applet/applet.py:60 terminal/models/applet/host.py:104 #: terminal/models/component/status.py:27 terminal/serializers/applet.py:22 -#: tickets/models/ticket/general.py:281 xpack/plugins/cloud/models.py:171 -#: xpack/plugins/cloud/models.py:223 +#: tickets/models/ticket/general.py:281 tickets/serializers/ticket/ticket.py:19 +#: xpack/plugins/cloud/models.py:171 xpack/plugins/cloud/models.py:223 msgid "Status" msgstr "状态" #: assets/models/automations/base.py:93 assets/models/backup.py:76 -#: audits/models.py:40 ops/models/base.py:55 ops/models/job.py:63 -#: perms/models/asset_permission.py:69 terminal/models/applet/host.py:105 -#: terminal/models/session/session.py:43 +#: audits/models.py:40 ops/models/base.py:55 ops/models/celery.py:59 +#: ops/models/job.py:63 perms/models/asset_permission.py:69 +#: terminal/models/applet/host.py:105 terminal/models/session/session.py:43 #: tickets/models/ticket/apply_application.py:28 -#: tickets/models/ticket/apply_asset.py:18 +#: tickets/models/ticket/apply_asset.py:19 #: xpack/plugins/change_auth_plan/models/base.py:108 #: xpack/plugins/change_auth_plan/models/base.py:199 #: xpack/plugins/gathered_user/models.py:71 @@ -751,7 +752,8 @@ msgstr "开始日期" #: assets/models/automations/base.py:94 #: assets/models/automations/change_secret.py:59 ops/models/base.py:56 -#: ops/models/job.py:64 terminal/models/applet/host.py:106 +#: ops/models/celery.py:60 ops/models/job.py:64 +#: terminal/models/applet/host.py:106 msgid "Date finished" msgstr "结束日期" @@ -1073,7 +1075,7 @@ msgid "Setting" msgstr "设置" #: assets/models/platform.py:42 audits/const.py:68 settings/models.py:37 -#: terminal/serializers/applet_host.py:27 +#: terminal/serializers/applet_host.py:26 msgid "Enabled" msgstr "启用" @@ -1431,7 +1433,9 @@ msgid "Manually update the hardware information of assets under a node" msgstr "手动更新节点下的资产硬件信息" #: assets/tasks/gather_facts.py:59 -msgid "Update node asset hardware information" +#, fuzzy +#| msgid "Update node asset hardware information" +msgid "Update node asset hardware information: " msgstr "更新节点资产硬件信息" #: assets/tasks/nodes_amount.py:16 @@ -2077,7 +2081,7 @@ msgstr "资产名称" #: authentication/models/connection_token.py:36 #: authentication/models/temp_token.py:13 perms/models/asset_permission.py:72 #: tickets/models/ticket/apply_application.py:29 -#: tickets/models/ticket/apply_asset.py:19 users/models/user.py:707 +#: tickets/models/ticket/apply_asset.py:20 users/models/user.py:707 msgid "Date expired" msgstr "失效日期" @@ -2607,11 +2611,11 @@ msgstr "{pk_value} 对象不存在" msgid "Incorrect type. Expected pk value, received {data_type}." msgstr "不正确的类型。期望 pk 值,收到 {data_type} 类型。" -#: common/drf/fields.py:131 +#: common/drf/fields.py:138 msgid "Invalid data type, should be list" msgstr "" -#: common/drf/fields.py:146 +#: common/drf/fields.py:153 #, fuzzy #| msgid "Invalid ip" msgid "Invalid choice: {}" @@ -2908,7 +2912,7 @@ msgstr "模式" msgid "Module" msgstr "" -#: ops/models/adhoc.py:28 ops/models/celery.py:48 ops/models/job.py:35 +#: ops/models/adhoc.py:28 ops/models/celery.py:54 ops/models/job.py:35 #: terminal/models/component/task.py:17 msgid "Args" msgstr "参数" @@ -2947,20 +2951,25 @@ msgstr "结果" msgid "Summary" msgstr "汇总" -#: ops/models/celery.py:49 terminal/models/component/task.py:18 +#: ops/models/celery.py:55 terminal/models/component/task.py:18 msgid "Kwargs" msgstr "其它参数" -#: ops/models/celery.py:50 tickets/models/comment.py:13 +#: ops/models/celery.py:56 tickets/models/comment.py:13 #: tickets/models/ticket/general.py:41 tickets/models/ticket/general.py:277 +#: tickets/serializers/ticket/ticket.py:20 msgid "State" msgstr "状态" -#: ops/models/celery.py:51 terminal/models/session/sharing.py:111 +#: ops/models/celery.py:57 terminal/models/session/sharing.py:111 #: tickets/const.py:25 xpack/plugins/change_auth_plan/models/base.py:188 msgid "Finished" msgstr "结束" +#: ops/models/celery.py:58 +msgid "Date published" +msgstr "发布日期" + #: ops/models/job.py:21 ops/models/job.py:38 msgid "Playbook" msgstr "Playbook" @@ -3023,7 +3032,8 @@ msgstr "内存使用率超过 {max_threshold}%: => {value}" msgid "CPU load more than {max_threshold}: => {value}" msgstr "CPU 使用率超过 {max_threshold}: => {value}" -#: ops/signal_handlers.py:63 terminal/models/component/task.py:26 +#: ops/signal_handlers.py:63 terminal/models/applet/host.py:108 +#: terminal/models/component/task.py:26 #: xpack/plugins/gathered_user/models.py:68 msgid "Task" msgstr "任务" @@ -3085,7 +3095,7 @@ msgstr "组织管理" #: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:88 #: 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:72 +#: tickets/models/ticket/general.py:300 tickets/serializers/ticket/ticket.py:61 msgid "Organization" msgstr "组织" @@ -3154,7 +3164,7 @@ msgstr "剪贴板复制" #: perms/models/asset_permission.py:66 perms/models/perm_token.py:18 #: perms/serializers/permission.py:29 perms/serializers/permission.py:59 #: tickets/models/ticket/apply_application.py:26 -#: tickets/models/ticket/apply_asset.py:17 +#: tickets/models/ticket/apply_asset.py:18 msgid "Actions" msgstr "动作" @@ -3239,7 +3249,7 @@ msgstr "" msgid "If you have any question, please contact the administrator" msgstr "如果有疑问或需求,请联系系统管理员" -#: perms/utils/user_permission.py:622 rbac/tree.py:57 +#: perms/utils/user_permission.py:627 rbac/tree.py:57 msgid "My assets" msgstr "我的资产" @@ -5142,23 +5152,23 @@ msgstr "不匹配" msgid "Icon" msgstr "图标" -#: terminal/serializers/applet_host.py:22 +#: terminal/serializers/applet_host.py:21 msgid "Per Session" msgstr "按会话" -#: terminal/serializers/applet_host.py:23 +#: terminal/serializers/applet_host.py:22 msgid "Per Device" msgstr "按设备" -#: terminal/serializers/applet_host.py:29 +#: terminal/serializers/applet_host.py:28 msgid "RDS Licensing" msgstr "部署 RDS 许可服务" -#: terminal/serializers/applet_host.py:30 +#: terminal/serializers/applet_host.py:29 msgid "RDS License Server" msgstr "RDS 许可服务主机" -#: terminal/serializers/applet_host.py:31 +#: terminal/serializers/applet_host.py:30 msgid "RDS Licensing Mode" msgstr "RDS 许可模式" @@ -5438,7 +5448,7 @@ msgid "Ticket session relation" msgstr "工单会话" #: tickets/models/ticket/apply_application.py:11 -#: tickets/models/ticket/apply_asset.py:12 +#: tickets/models/ticket/apply_asset.py:13 msgid "Permission name" msgstr "授权规则名称" @@ -5450,20 +5460,22 @@ msgstr "申请应用" msgid "Apply system users" msgstr "申请的系统用户" -#: tickets/models/ticket/apply_asset.py:8 -#: tickets/serializers/ticket/apply_asset.py:15 +#: tickets/models/ticket/apply_asset.py:9 +#: tickets/serializers/ticket/apply_asset.py:14 msgid "Select at least one asset or node" msgstr "资产或者节点至少选择一项" -#: tickets/models/ticket/apply_asset.py:13 +#: tickets/models/ticket/apply_asset.py:14 +#: tickets/serializers/ticket/apply_asset.py:19 msgid "Apply nodes" msgstr "申请节点" -#: tickets/models/ticket/apply_asset.py:15 +#: tickets/models/ticket/apply_asset.py:16 +#: tickets/serializers/ticket/apply_asset.py:18 msgid "Apply assets" msgstr "申请资产" -#: tickets/models/ticket/apply_asset.py:16 +#: tickets/models/ticket/apply_asset.py:17 msgid "Apply accounts" msgstr "申请账号" @@ -5583,6 +5595,12 @@ msgstr "当前组织已存在该类型" msgid "Processor" msgstr "处理人" +#: tickets/serializers/ticket/apply_asset.py:20 +#, fuzzy +#| msgid "Apply applications" +msgid "Apply actions" +msgstr "申请应用" + #: tickets/serializers/ticket/common.py:15 #: tickets/serializers/ticket/common.py:77 msgid "Created by ticket ({}-{})" @@ -5596,15 +5614,7 @@ msgstr "过期时间要大于开始时间" msgid "Permission named `{}` already exists" msgstr "授权名称 `{}` 已存在" -#: tickets/serializers/ticket/ticket.py:17 -msgid "Type display" -msgstr "类型名称" - -#: tickets/serializers/ticket/ticket.py:18 -msgid "Status display" -msgstr "状态名称" - -#: tickets/serializers/ticket/ticket.py:101 +#: tickets/serializers/ticket/ticket.py:85 msgid "The ticket flow `{}` does not exist" msgstr "工单流程 `{}` 不存在" @@ -6904,6 +6914,12 @@ msgstr "旗舰版" msgid "Community edition" msgstr "社区版" +#~ msgid "Type display" +#~ msgstr "类型名称" + +#~ msgid "Status display" +#~ msgstr "状态名称" + #~ msgid "Run ansible command" #~ msgstr "运行 ansible 命令" diff --git a/apps/ops/models/celery.py b/apps/ops/models/celery.py index 1b444ded1..6e53f868d 100644 --- a/apps/ops/models/celery.py +++ b/apps/ops/models/celery.py @@ -12,18 +12,24 @@ from ops.celery import app class CeleryTask(models.Model): id = models.UUIDField(primary_key=True, default=uuid.uuid4) - name = models.CharField(max_length=1024) + name = models.CharField(max_length=1024, verbose_name=_('Name')) last_published_time = models.DateTimeField(null=True) @property def meta(self): task = app.tasks.get(self.name, None) return { - "display_name": getattr(task, 'verbose_name', None), - "comment": getattr(task, 'comment', None), + "comment": getattr(task, 'verbose_name', None), "queue": getattr(task, 'queue', 'default') } + @property + def summary(self): + executions = CeleryTaskExecution.objects.filter(name=self.name) + total = executions.count() + success = executions.filter(state='SUCCESS').count() + return {'total': total, 'success': success} + @property def state(self): last_five_executions = CeleryTaskExecution.objects.filter(name=self.name).order_by('-date_published')[:5] @@ -49,9 +55,21 @@ class CeleryTaskExecution(models.Model): kwargs = models.JSONField(verbose_name=_("Kwargs")) state = models.CharField(max_length=16, verbose_name=_("State")) is_finished = models.BooleanField(default=False, verbose_name=_("Finished")) - date_published = models.DateTimeField(auto_now_add=True) - date_start = models.DateTimeField(null=True) - date_finished = models.DateTimeField(null=True) + date_published = models.DateTimeField(auto_now_add=True, verbose_name=_('Date published')) + date_start = models.DateTimeField(null=True, verbose_name=_('Date start')) + date_finished = models.DateTimeField(null=True, verbose_name=_('Date finished')) + + @property + def time_cost(self): + if self.date_finished and self.date_start: + return (self.date_finished - self.date_start).total_seconds() + return None + + @property + def timedelta(self): + if self.date_start and self.date_finished: + return self.date_finished - self.date_start + return None def __str__(self): return "{}: {}".format(self.name, self.id) diff --git a/apps/ops/models/job.py b/apps/ops/models/job.py index 9199ab902..650c701dd 100644 --- a/apps/ops/models/job.py +++ b/apps/ops/models/job.py @@ -84,6 +84,12 @@ class JobExecution(BaseCreateUpdateModel): def short_id(self): return str(self.id).split('-')[-1] + @property + def time_cost(self): + if self.date_finished and self.date_start: + return (self.date_finished - self.date_start).total_seconds() + return None + @property def timedelta(self): if self.date_start and self.date_finished: @@ -98,12 +104,6 @@ class JobExecution(BaseCreateUpdateModel): def is_success(self): return self.status == 'success' - @property - def time_cost(self): - if self.date_finished and self.date_start: - return (self.date_finished - self.date_start).total_seconds() - return None - @property def inventory_path(self): return os.path.join(self.private_dir, 'inventory', 'hosts') diff --git a/apps/ops/serializers/celery.py b/apps/ops/serializers/celery.py index 351d63213..8d75d227f 100644 --- a/apps/ops/serializers/celery.py +++ b/apps/ops/serializers/celery.py @@ -30,14 +30,15 @@ class CeleryPeriodTaskSerializer(serializers.ModelSerializer): class CeleryTaskSerializer(serializers.ModelSerializer): class Meta: model = CeleryTask - fields = [ - 'id', 'name', 'meta', 'state', 'last_published_time', - ] + read_only_fields = ['id', 'name', 'meta', 'summary', 'state', 'last_published_time'] + fields = read_only_fields class CeleryTaskExecutionSerializer(serializers.ModelSerializer): class Meta: model = CeleryTaskExecution fields = [ - "id", "name", "args", "kwargs", "state", "is_finished", "date_published", "date_start", "date_finished" + "id", "name", "args", "kwargs", "time_cost", "timedelta", "state", "is_finished", "date_published", + "date_start", + "date_finished" ]