perf: 优化工单 (#8524)

Co-authored-by: feng626 <1304903146@qq.com>
pull/8451/head^2
fit2bot 2022-07-01 19:07:55 +08:00 committed by GitHub
parent 272f64d743
commit 927ae43af2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 68 additions and 53 deletions

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-06-30 15:51+0800\n" "POT-Creation-Date: 2022-07-01 19:05+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -213,7 +213,7 @@ msgid "Unsupported protocols: {}"
msgstr "サポートされていないプロトコル: {}" msgstr "サポートされていないプロトコル: {}"
#: acls/serializers/login_asset_acl.py:98 #: acls/serializers/login_asset_acl.py:98
#: tickets/serializers/ticket/ticket.py:65 #: tickets/serializers/ticket/ticket.py:78
msgid "The organization `{}` does not exist" msgid "The organization `{}` does not exist"
msgstr "組織 '{}'は存在しません" msgstr "組織 '{}'は存在しません"
@ -344,7 +344,7 @@ msgstr "カテゴリ表示"
#: applications/serializers/application.py:102 #: applications/serializers/application.py:102
#: assets/serializers/cmd_filter.py:34 assets/serializers/system_user.py:34 #: assets/serializers/cmd_filter.py:34 assets/serializers/system_user.py:34
#: audits/serializers.py:29 perms/serializers/application/permission.py:19 #: audits/serializers.py:29 perms/serializers/application/permission.py:19
#: tickets/serializers/flow.py:48 tickets/serializers/ticket/ticket.py:16 #: tickets/serializers/flow.py:48 tickets/serializers/ticket/ticket.py:17
msgid "Type display" msgid "Type display"
msgstr "タイプ表示" msgstr "タイプ表示"
@ -585,6 +585,7 @@ msgstr "ノード"
#: assets/models/asset.py:219 assets/models/cmd_filter.py:47 #: assets/models/asset.py:219 assets/models/cmd_filter.py:47
#: assets/models/domain.py:65 assets/models/label.py:22 #: assets/models/domain.py:65 assets/models/label.py:22
#: users/serializers/user.py:145
msgid "Is active" msgid "Is active"
msgstr "アクティブです。" msgstr "アクティブです。"
@ -1532,7 +1533,7 @@ msgstr "ユーザーログインログ"
msgid "Operate display" msgid "Operate display"
msgstr "ディスプレイを操作する" msgstr "ディスプレイを操作する"
#: audits/serializers.py:30 tickets/serializers/ticket/ticket.py:17 #: audits/serializers.py:30 tickets/serializers/ticket/ticket.py:18
msgid "Status display" msgid "Status display"
msgstr "ステータス表示" msgstr "ステータス表示"
@ -2131,7 +2132,7 @@ msgstr "バインディングリマインダー"
#: perms/serializers/application/permission.py:20 #: perms/serializers/application/permission.py:20
#: perms/serializers/application/permission.py:41 #: perms/serializers/application/permission.py:41
#: perms/serializers/asset/permission.py:19 #: perms/serializers/asset/permission.py:19
#: perms/serializers/asset/permission.py:45 users/serializers/user.py:145 #: perms/serializers/asset/permission.py:45 users/serializers/user.py:146
msgid "Is valid" msgid "Is valid"
msgstr "有効です" msgstr "有効です"
@ -2565,7 +2566,7 @@ msgstr "オブジェクト"
msgid "The file content overflowed (The maximum length `{}` bytes)" msgid "The file content overflowed (The maximum length `{}` bytes)"
msgstr "ファイルの内容がオーバーフローしました (最大長 '{}' バイト)" msgstr "ファイルの内容がオーバーフローしました (最大長 '{}' バイト)"
#: common/drf/parsers/base.py:153 #: common/drf/parsers/base.py:159
msgid "Parse file error: {}" msgid "Parse file error: {}"
msgstr "解析ファイルエラー: {}" msgstr "解析ファイルエラー: {}"
@ -2945,7 +2946,7 @@ msgstr "アプリ組織"
#: orgs/mixins/models.py:46 orgs/mixins/serializers.py:25 orgs/models.py:80 #: orgs/mixins/models.py:46 orgs/mixins/serializers.py:25 orgs/models.py:80
#: orgs/models.py:211 rbac/const.py:7 rbac/models/rolebinding.py:48 #: orgs/models.py:211 rbac/const.py:7 rbac/models/rolebinding.py:48
#: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:62 #: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:62
#: tickets/models/ticket/general.py:290 tickets/serializers/ticket/ticket.py:51 #: tickets/models/ticket/general.py:290 tickets/serializers/ticket/ticket.py:64
msgid "Organization" msgid "Organization"
msgstr "組織" msgstr "組織"
@ -3082,7 +3083,7 @@ msgstr "Organization {} のアプリケーション権限"
#: perms/serializers/application/permission.py:40 #: perms/serializers/application/permission.py:40
#: perms/serializers/asset/permission.py:20 #: perms/serializers/asset/permission.py:20
#: perms/serializers/asset/permission.py:44 users/serializers/user.py:87 #: perms/serializers/asset/permission.py:44 users/serializers/user.py:87
#: users/serializers/user.py:147 #: users/serializers/user.py:148
msgid "Is expired" msgid "Is expired"
msgstr "期限切れです" msgstr "期限切れです"
@ -5409,7 +5410,7 @@ msgstr "有効期限は開始日より大きくする必要があります"
msgid "Permission named `{}` already exists" msgid "Permission named `{}` already exists"
msgstr "'{}'という名前の権限は既に存在します" msgstr "'{}'という名前の権限は既に存在します"
#: tickets/serializers/ticket/ticket.py:76 #: tickets/serializers/ticket/ticket.py:89
msgid "The ticket flow `{}` does not exist" msgid "The ticket flow `{}` does not exist"
msgstr "チケットフロー '{}'が存在しない" msgstr "チケットフロー '{}'が存在しない"
@ -5580,7 +5581,7 @@ msgstr "強制有効"
msgid "Local" msgid "Local"
msgstr "ローカル" msgstr "ローカル"
#: users/models/user.py:673 users/serializers/user.py:146 #: users/models/user.py:673 users/serializers/user.py:147
msgid "Is service account" msgid "Is service account"
msgstr "サービスアカウントです" msgstr "サービスアカウントです"
@ -5725,63 +5726,63 @@ msgstr "ログインブロック"
msgid "Can public key authentication" msgid "Can public key authentication"
msgstr "公開鍵認証が可能" msgstr "公開鍵認証が可能"
#: users/serializers/user.py:148 #: users/serializers/user.py:149
msgid "Avatar url" msgid "Avatar url"
msgstr "アバターURL" msgstr "アバターURL"
#: users/serializers/user.py:150 #: users/serializers/user.py:151
msgid "Groups name" msgid "Groups name"
msgstr "グループ名" msgstr "グループ名"
#: users/serializers/user.py:151 #: users/serializers/user.py:152
msgid "Source name" msgid "Source name"
msgstr "ソース名" msgstr "ソース名"
#: users/serializers/user.py:152 #: users/serializers/user.py:153
msgid "Organization role name" msgid "Organization role name"
msgstr "組織の役割名" msgstr "組織の役割名"
#: users/serializers/user.py:153 #: users/serializers/user.py:154
msgid "Super role name" msgid "Super role name"
msgstr "スーパーロール名" msgstr "スーパーロール名"
#: users/serializers/user.py:154 #: users/serializers/user.py:155
msgid "Total role name" msgid "Total role name"
msgstr "合計ロール名" msgstr "合計ロール名"
#: users/serializers/user.py:156 #: users/serializers/user.py:157
msgid "Is wecom bound" msgid "Is wecom bound"
msgstr "企業の微信をバインドしているかどうか" msgstr "企業の微信をバインドしているかどうか"
#: users/serializers/user.py:157 #: users/serializers/user.py:158
msgid "Is dingtalk bound" msgid "Is dingtalk bound"
msgstr "ピンをバインドしているかどうか" msgstr "ピンをバインドしているかどうか"
#: users/serializers/user.py:158 #: users/serializers/user.py:159
msgid "Is feishu bound" msgid "Is feishu bound"
msgstr "飛本を縛ったかどうか" msgstr "飛本を縛ったかどうか"
#: users/serializers/user.py:159 #: users/serializers/user.py:160
msgid "Is OTP bound" msgid "Is OTP bound"
msgstr "仮想MFAがバインドされているか" msgstr "仮想MFAがバインドされているか"
#: users/serializers/user.py:161 #: users/serializers/user.py:162
msgid "System role name" msgid "System role name"
msgstr "システムロール名" msgstr "システムロール名"
#: users/serializers/user.py:201 #: users/serializers/user.py:202
msgid "User cannot self-update fields: {}" msgid "User cannot self-update fields: {}"
msgstr "ユーザーは自分のフィールドを更新できません: {}" msgstr "ユーザーは自分のフィールドを更新できません: {}"
#: users/serializers/user.py:258 #: users/serializers/user.py:259
msgid "Select users" msgid "Select users"
msgstr "ユーザーの選択" msgstr "ユーザーの選択"
#: users/serializers/user.py:259 #: users/serializers/user.py:260
msgid "For security, only list several users" msgid "For security, only list several users"
msgstr "セキュリティのために、複数のユーザーのみをリストします" msgstr "セキュリティのために、複数のユーザーのみをリストします"
#: users/serializers/user.py:294 #: users/serializers/user.py:295
msgid "name not unique" msgid "name not unique"
msgstr "名前が一意ではない" msgstr "名前が一意ではない"

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:c5ff75df4d230b21b28e74f94fcbf56801f85cecc2dfba647e69182acf39295f oid sha256:521d1a529b430f1ac6a519f9c659abe79f25fc9b05a03519f4abe945ae2d1972
size 103945 size 103946

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: JumpServer 0.3.3\n" "Project-Id-Version: JumpServer 0.3.3\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-06-30 15:51+0800\n" "POT-Creation-Date: 2022-07-01 19:05+0800\n"
"PO-Revision-Date: 2021-05-20 10:54+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n"
"Last-Translator: ibuler <ibuler@qq.com>\n" "Last-Translator: ibuler <ibuler@qq.com>\n"
"Language-Team: JumpServer team<ibuler@qq.com>\n" "Language-Team: JumpServer team<ibuler@qq.com>\n"
@ -209,7 +209,7 @@ msgid "Unsupported protocols: {}"
msgstr "不支持的协议: {}" msgstr "不支持的协议: {}"
#: acls/serializers/login_asset_acl.py:98 #: acls/serializers/login_asset_acl.py:98
#: tickets/serializers/ticket/ticket.py:65 #: tickets/serializers/ticket/ticket.py:78
msgid "The organization `{}` does not exist" msgid "The organization `{}` does not exist"
msgstr "组织 `{}` 不存在" msgstr "组织 `{}` 不存在"
@ -339,7 +339,7 @@ msgstr "类别名称"
#: applications/serializers/application.py:102 #: applications/serializers/application.py:102
#: assets/serializers/cmd_filter.py:34 assets/serializers/system_user.py:34 #: assets/serializers/cmd_filter.py:34 assets/serializers/system_user.py:34
#: audits/serializers.py:29 perms/serializers/application/permission.py:19 #: audits/serializers.py:29 perms/serializers/application/permission.py:19
#: tickets/serializers/flow.py:48 tickets/serializers/ticket/ticket.py:16 #: tickets/serializers/flow.py:48 tickets/serializers/ticket/ticket.py:17
msgid "Type display" msgid "Type display"
msgstr "类型名称" msgstr "类型名称"
@ -580,6 +580,7 @@ msgstr "节点"
#: assets/models/asset.py:219 assets/models/cmd_filter.py:47 #: assets/models/asset.py:219 assets/models/cmd_filter.py:47
#: assets/models/domain.py:65 assets/models/label.py:22 #: assets/models/domain.py:65 assets/models/label.py:22
#: users/serializers/user.py:145
msgid "Is active" msgid "Is active"
msgstr "激活" msgstr "激活"
@ -1520,7 +1521,7 @@ msgstr "用户登录日志"
msgid "Operate display" msgid "Operate display"
msgstr "操作名称" msgstr "操作名称"
#: audits/serializers.py:30 tickets/serializers/ticket/ticket.py:17 #: audits/serializers.py:30 tickets/serializers/ticket/ticket.py:18
msgid "Status display" msgid "Status display"
msgstr "状态名称" msgstr "状态名称"
@ -1932,7 +1933,7 @@ msgstr "等待登录复核处理"
#: authentication/errors/const.py:67 #: authentication/errors/const.py:67
msgid "Login confirm ticket was {}" msgid "Login confirm ticket was {}"
msgstr "登录复核 {}" msgstr "登录复核: {}"
#: authentication/errors/failed.py:145 #: authentication/errors/failed.py:145
msgid "IP is not allowed" msgid "IP is not allowed"
@ -2110,7 +2111,7 @@ msgstr "绑定提醒"
#: perms/serializers/application/permission.py:20 #: perms/serializers/application/permission.py:20
#: perms/serializers/application/permission.py:41 #: perms/serializers/application/permission.py:41
#: perms/serializers/asset/permission.py:19 #: perms/serializers/asset/permission.py:19
#: perms/serializers/asset/permission.py:45 users/serializers/user.py:145 #: perms/serializers/asset/permission.py:45 users/serializers/user.py:146
msgid "Is valid" msgid "Is valid"
msgstr "账号是否有效" msgstr "账号是否有效"
@ -2535,7 +2536,7 @@ msgstr "对象"
msgid "The file content overflowed (The maximum length `{}` bytes)" msgid "The file content overflowed (The maximum length `{}` bytes)"
msgstr "文件内容太大 (最大长度 `{}` 字节)" msgstr "文件内容太大 (最大长度 `{}` 字节)"
#: common/drf/parsers/base.py:153 #: common/drf/parsers/base.py:159
msgid "Parse file error: {}" msgid "Parse file error: {}"
msgstr "解析文件错误: {}" msgstr "解析文件错误: {}"
@ -2909,7 +2910,7 @@ msgstr "组织管理"
#: orgs/mixins/models.py:46 orgs/mixins/serializers.py:25 orgs/models.py:80 #: orgs/mixins/models.py:46 orgs/mixins/serializers.py:25 orgs/models.py:80
#: orgs/models.py:211 rbac/const.py:7 rbac/models/rolebinding.py:48 #: orgs/models.py:211 rbac/const.py:7 rbac/models/rolebinding.py:48
#: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:62 #: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:62
#: tickets/models/ticket/general.py:290 tickets/serializers/ticket/ticket.py:51 #: tickets/models/ticket/general.py:290 tickets/serializers/ticket/ticket.py:64
msgid "Organization" msgid "Organization"
msgstr "组织" msgstr "组织"
@ -3046,7 +3047,7 @@ msgstr "组织 ({}) 的应用授权"
#: perms/serializers/application/permission.py:40 #: perms/serializers/application/permission.py:40
#: perms/serializers/asset/permission.py:20 #: perms/serializers/asset/permission.py:20
#: perms/serializers/asset/permission.py:44 users/serializers/user.py:87 #: perms/serializers/asset/permission.py:44 users/serializers/user.py:87
#: users/serializers/user.py:147 #: users/serializers/user.py:148
msgid "Is expired" msgid "Is expired"
msgstr "已过期" msgstr "已过期"
@ -5333,7 +5334,7 @@ msgstr "过期时间要大于开始时间"
msgid "Permission named `{}` already exists" msgid "Permission named `{}` already exists"
msgstr "授权名称 `{}` 已存在" msgstr "授权名称 `{}` 已存在"
#: tickets/serializers/ticket/ticket.py:76 #: tickets/serializers/ticket/ticket.py:89
msgid "The ticket flow `{}` does not exist" msgid "The ticket flow `{}` does not exist"
msgstr "工单流程 `{}` 不存在" msgstr "工单流程 `{}` 不存在"
@ -5502,7 +5503,7 @@ msgstr "强制启用"
msgid "Local" msgid "Local"
msgstr "数据库" msgstr "数据库"
#: users/models/user.py:673 users/serializers/user.py:146 #: users/models/user.py:673 users/serializers/user.py:147
msgid "Is service account" msgid "Is service account"
msgstr "服务账号" msgstr "服务账号"
@ -5647,63 +5648,63 @@ msgstr "登录被阻塞"
msgid "Can public key authentication" msgid "Can public key authentication"
msgstr "能否公钥认证" msgstr "能否公钥认证"
#: users/serializers/user.py:148 #: users/serializers/user.py:149
msgid "Avatar url" msgid "Avatar url"
msgstr "头像路径" msgstr "头像路径"
#: users/serializers/user.py:150 #: users/serializers/user.py:151
msgid "Groups name" msgid "Groups name"
msgstr "用户组名" msgstr "用户组名"
#: users/serializers/user.py:151 #: users/serializers/user.py:152
msgid "Source name" msgid "Source name"
msgstr "用户来源名" msgstr "用户来源名"
#: users/serializers/user.py:152 #: users/serializers/user.py:153
msgid "Organization role name" msgid "Organization role name"
msgstr "组织角色名称" msgstr "组织角色名称"
#: users/serializers/user.py:153 #: users/serializers/user.py:154
msgid "Super role name" msgid "Super role name"
msgstr "超级角色名称" msgstr "超级角色名称"
#: users/serializers/user.py:154 #: users/serializers/user.py:155
msgid "Total role name" msgid "Total role name"
msgstr "汇总角色名称" msgstr "汇总角色名称"
#: users/serializers/user.py:156 #: users/serializers/user.py:157
msgid "Is wecom bound" msgid "Is wecom bound"
msgstr "是否绑定了企业微信" msgstr "是否绑定了企业微信"
#: users/serializers/user.py:157 #: users/serializers/user.py:158
msgid "Is dingtalk bound" msgid "Is dingtalk bound"
msgstr "是否绑定了钉钉" msgstr "是否绑定了钉钉"
#: users/serializers/user.py:158 #: users/serializers/user.py:159
msgid "Is feishu bound" msgid "Is feishu bound"
msgstr "是否绑定了飞书" msgstr "是否绑定了飞书"
#: users/serializers/user.py:159 #: users/serializers/user.py:160
msgid "Is OTP bound" msgid "Is OTP bound"
msgstr "是否绑定了虚拟 MFA" msgstr "是否绑定了虚拟 MFA"
#: users/serializers/user.py:161 #: users/serializers/user.py:162
msgid "System role name" msgid "System role name"
msgstr "系统角色名称" msgstr "系统角色名称"
#: users/serializers/user.py:201 #: users/serializers/user.py:202
msgid "User cannot self-update fields: {}" msgid "User cannot self-update fields: {}"
msgstr "用户不能更新自己的字段: {}" msgstr "用户不能更新自己的字段: {}"
#: users/serializers/user.py:258 #: users/serializers/user.py:259
msgid "Select users" msgid "Select users"
msgstr "选择用户" msgstr "选择用户"
#: users/serializers/user.py:259 #: users/serializers/user.py:260
msgid "For security, only list several users" msgid "For security, only list several users"
msgstr "为了安全,仅列出几个用户" msgstr "为了安全,仅列出几个用户"
#: users/serializers/user.py:294 #: users/serializers/user.py:295
msgid "name not unique" msgid "name not unique"
msgstr "名称重复" msgstr "名称重复"

View File

@ -6,6 +6,7 @@ from rest_framework import serializers
from orgs.models import Organization from orgs.models import Organization
from orgs.mixins.serializers import OrgResourceModelSerializerMixin from orgs.mixins.serializers import OrgResourceModelSerializerMixin
from tickets.models import Ticket, TicketFlow from tickets.models import Ticket, TicketFlow
from tickets.const import TicketType
__all__ = [ __all__ = [
'TicketDisplaySerializer', 'TicketApplySerializer', 'TicketListSerializer' 'TicketDisplaySerializer', 'TicketApplySerializer', 'TicketListSerializer'
@ -28,6 +29,18 @@ class TicketSerializer(OrgResourceModelSerializerMixin):
fields_fk = ['applicant', ] fields_fk = ['applicant', ]
fields = fields_small + fields_fk fields = fields_small + fields_fk
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.set_type_choices()
def set_type_choices(self):
tp = self.fields.get('type')
if not tp:
return
choices = tp._choices
choices.pop(TicketType.general, None)
tp._choices = choices
class TicketListSerializer(TicketSerializer): class TicketListSerializer(TicketSerializer):
class Meta: class Meta: