From 0cd3419e09ccbd4badbdf41f909b7ce68f7690ba Mon Sep 17 00:00:00 2001 From: xinwen Date: Mon, 16 Aug 2021 16:11:12 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=BA=94=E7=94=A8?= =?UTF-8?q?=E6=8E=88=E6=9D=83=E5=88=97=E8=A1=A8=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/perms/api/application/application_permission.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/perms/api/application/application_permission.py b/apps/perms/api/application/application_permission.py index c03bf9150..a97665d53 100644 --- a/apps/perms/api/application/application_permission.py +++ b/apps/perms/api/application/application_permission.py @@ -42,7 +42,7 @@ class ApplicationPermissionViewSet(BasePermissionViewSet): return queryset if not applications: return queryset.none() - queryset = queryset.filter(applications=applications) + queryset = queryset.filter(applications__in=applications) return queryset def filter_queryset(self, queryset): From 7b4faccf05608ede406011211a7b43539e833e8d Mon Sep 17 00:00:00 2001 From: xinwen Date: Mon, 16 Aug 2021 15:55:51 +0800 Subject: [PATCH 2/4] =?UTF-8?q?fix:=20=E9=A3=9E=E4=B9=A6=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/authentication/views/feishu.py | 2 +- apps/locale/zh/LC_MESSAGES/django.mo | Bin 81793 -> 81825 bytes apps/locale/zh/LC_MESSAGES/django.po | 69 +++++++++++++++------------ 3 files changed, 40 insertions(+), 31 deletions(-) diff --git a/apps/authentication/views/feishu.py b/apps/authentication/views/feishu.py index 2db1404d7..33f503c0d 100644 --- a/apps/authentication/views/feishu.py +++ b/apps/authentication/views/feishu.py @@ -202,7 +202,7 @@ class FeiShuQRLoginCallbackView(AuthMixin, FeiShuQRMixin, View): user = get_object_or_none(User, feishu_id=user_id) if user is None: title = _('FeiShu is not bound') - msg = _('Please login with a password and then bind the WeCom') + msg = _('Please login with a password and then bind the FeiShu') response = self.get_failed_reponse(login_url, title=title, msg=msg) return response diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index 7fca22dce84cbfaa97441fa9c37139a55b79d2ed..c39c1ba29ea1b569d461241154e10e14a92b7d4c 100644 GIT binary patch delta 21834 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 G&;396U)6E| diff --git a/apps/locale/zh/LC_MESSAGES/django.po b/apps/locale/zh/LC_MESSAGES/django.po index 6736d2761..652e1697b 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: 2021-08-12 10:27+0800\n" +"POT-Creation-Date: 2021-08-16 16:27+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -172,7 +172,7 @@ msgstr "格式为逗号分隔的字符串, * 表示匹配所有. " #: acls/serializers/login_asset_acl.py:17 #: acls/serializers/login_asset_acl.py:51 -#: applications/serializers/application.py:71 +#: applications/serializers/application.py:72 #: applications/serializers/attrs/application_type/chrome.py:20 #: applications/serializers/attrs/application_type/custom.py:21 #: applications/serializers/attrs/application_type/mysql_workbench.py:30 @@ -252,7 +252,7 @@ msgid "Applications" msgstr "应用管理" #: applications/models/application.py:168 -#: applications/serializers/application.py:78 assets/models/label.py:21 +#: applications/serializers/application.py:79 assets/models/label.py:21 #: perms/models/application_permission.py:20 #: perms/serializers/application/user_permission.py:33 #: tickets/serializers/ticket/meta/ticket_type/apply_application.py:20 @@ -260,7 +260,7 @@ msgid "Category" msgstr "类别" #: applications/models/application.py:171 -#: applications/serializers/application.py:80 assets/models/cmd_filter.py:53 +#: applications/serializers/application.py:81 assets/models/cmd_filter.py:53 #: assets/models/user.py:202 perms/models/application_permission.py:23 #: perms/serializers/application/user_permission.py:34 #: terminal/models/storage.py:55 terminal/models/storage.py:116 @@ -279,14 +279,14 @@ msgid "Attrs" msgstr "" #: applications/serializers/application.py:48 -#: applications/serializers/application.py:79 assets/serializers/label.py:13 +#: applications/serializers/application.py:80 assets/serializers/label.py:13 #: perms/serializers/application/permission.py:16 #: tickets/serializers/ticket/meta/ticket_type/apply_application.py:24 msgid "Category display" msgstr "类别名称" #: applications/serializers/application.py:49 -#: applications/serializers/application.py:81 +#: applications/serializers/application.py:82 #: assets/serializers/system_user.py:26 audits/serializers.py:29 #: perms/serializers/application/permission.py:17 #: tickets/serializers/ticket/meta/ticket_type/apply_application.py:31 @@ -294,8 +294,12 @@ msgstr "类别名称" msgid "Type display" msgstr "类型名称" -#: applications/serializers/application.py:72 -#: applications/serializers/application.py:100 +#: applications/serializers/application.py:71 +msgid "Id" +msgstr "" + +#: applications/serializers/application.py:73 +#: applications/serializers/application.py:101 #: applications/serializers/attrs/application_type/chrome.py:23 #: applications/serializers/attrs/application_type/custom.py:25 #: applications/serializers/attrs/application_type/mysql_workbench.py:34 @@ -314,7 +318,7 @@ msgstr "类型名称" msgid "Password" msgstr "密码" -#: applications/serializers/application.py:73 assets/models/authbook.py:16 +#: applications/serializers/application.py:74 assets/models/authbook.py:16 #: assets/models/user.py:277 audits/models.py:39 #: perms/models/application_permission.py:31 #: perms/models/asset_permission.py:101 templates/_nav.html:45 @@ -329,19 +333,19 @@ msgstr "密码" msgid "System user" msgstr "系统用户" -#: applications/serializers/application.py:74 assets/serializers/account.py:31 +#: applications/serializers/application.py:75 assets/serializers/account.py:31 msgid "System user display" msgstr "系统用户名称" -#: applications/serializers/application.py:75 +#: applications/serializers/application.py:76 msgid "App" msgstr "应用" -#: applications/serializers/application.py:76 +#: applications/serializers/application.py:77 msgid "Union id" msgstr "联合ID" -#: applications/serializers/application.py:77 +#: applications/serializers/application.py:78 msgid "Application name" msgstr "应用名称" @@ -1711,7 +1715,7 @@ msgstr "CAS" #: authentication/templates/authentication/login.html:220 #: notifications/backends/__init__.py:16 msgid "FeiShu" -msgstr "" +msgstr "飞书" #: authentication/templates/authentication/login_otp.html:17 msgid "One-time password" @@ -1758,7 +1762,7 @@ msgstr "钉钉错误,请联系系统管理员" msgid "DingTalk Error" msgstr "钉钉错误" -#: authentication/views/dingtalk.py:56 authentication/views/feishu.py:55 +#: authentication/views/dingtalk.py:56 authentication/views/feishu.py:52 #: authentication/views/wecom.py:56 msgid "You've been hacked" msgstr "你被攻击了" @@ -1767,7 +1771,7 @@ msgstr "你被攻击了" msgid "DingTalk is already bound" msgstr "钉钉已经绑定" -#: authentication/views/dingtalk.py:105 authentication/views/feishu.py:102 +#: authentication/views/dingtalk.py:105 authentication/views/feishu.py:99 #: authentication/views/wecom.py:104 msgid "Please verify your password first" msgstr "请检查密码" @@ -1797,8 +1801,7 @@ msgstr "从钉钉获取用户失败" msgid "DingTalk is not bound" msgstr "钉钉没有绑定" -#: authentication/views/dingtalk.py:218 authentication/views/feishu.py:208 -#: authentication/views/wecom.py:216 +#: authentication/views/dingtalk.py:218 authentication/views/wecom.py:216 msgid "Please login with a password and then bind the WeCom" msgstr "请使用密码登录,然后绑定企业微信" @@ -1807,39 +1810,39 @@ msgid "Binding DingTalk failed" msgstr "绑定钉钉失败" #: authentication/views/feishu.py:40 -msgid "FeiShu Error, Please contact your system administrator" -msgstr "飞书错误,请联系系统管理员" - -#: authentication/views/feishu.py:43 msgid "FeiShu Error" msgstr "飞书错误" -#: authentication/views/feishu.py:89 +#: authentication/views/feishu.py:86 msgid "FeiShu is already bound" msgstr "飞书已经绑定" -#: authentication/views/feishu.py:136 +#: authentication/views/feishu.py:133 msgid "FeiShu query user failed" msgstr "飞书查询用户失败" -#: authentication/views/feishu.py:145 +#: authentication/views/feishu.py:142 msgid "The FeiShu is already bound to another user" msgstr "该飞书已经绑定其他用户" -#: authentication/views/feishu.py:150 authentication/views/feishu.py:232 -#: authentication/views/feishu.py:233 +#: authentication/views/feishu.py:147 authentication/views/feishu.py:229 +#: authentication/views/feishu.py:230 msgid "Binding FeiShu successfully" msgstr "绑定 飞书 成功" -#: authentication/views/feishu.py:201 +#: authentication/views/feishu.py:198 msgid "Failed to get user from FeiShu" msgstr "从飞书获取用户失败" -#: authentication/views/feishu.py:207 +#: authentication/views/feishu.py:204 msgid "FeiShu is not bound" msgstr "没有绑定飞书" -#: authentication/views/feishu.py:250 authentication/views/feishu.py:251 +#: authentication/views/feishu.py:205 +msgid "Please login with a password and then bind the FeiShu" +msgstr "请使用密码登录,然后绑定飞书" + +#: authentication/views/feishu.py:247 authentication/views/feishu.py:248 msgid "Binding FeiShu failed" msgstr "绑定飞书失败" @@ -2212,14 +2215,17 @@ msgid "[Alive] The terminal is offline: {name}" msgstr "" #: ops/notifications.py:42 +#, python-brace-format msgid "[Disk] Disk used more than {max_threshold}%: => {value} ({name})" msgstr "[Disk] 硬盘使用率超过 {max_threshold}%: => {value} ({name})" #: ops/notifications.py:49 +#, python-brace-format msgid "[Memory] Memory used more than {max_threshold}%: => {value} ({name})" msgstr "[Memory] 内存使用率超过 {max_threshold}%: => {value} ({name})" #: ops/notifications.py:56 +#, python-brace-format msgid "[CPU] CPU load more than {max_threshold}: => {value} ({name})" msgstr "[CPU] CPU 使用率超过 {max_threshold}: => {value} ({name})" @@ -5369,6 +5375,9 @@ msgstr "旗舰版" msgid "Community edition" msgstr "社区版" +#~ msgid "FeiShu Error, Please contact your system administrator" +#~ msgstr "飞书错误,请联系系统管理员" + #~ msgid "Append SSH KEY" #~ msgstr "追加新密钥" From 9c7adb7a143f1d93b9a498dc1d431d407b3b5280 Mon Sep 17 00:00:00 2001 From: xinwen Date: Mon, 16 Aug 2021 17:28:47 +0800 Subject: [PATCH 3/4] =?UTF-8?q?fix:=20=E7=94=A8=E6=88=B7=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E9=83=A8=E5=88=86=E5=AD=97=E6=AE=B5=E6=B2=A1?= =?UTF-8?q?=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/locale/zh/LC_MESSAGES/django.mo | Bin 81825 -> 82034 bytes apps/locale/zh/LC_MESSAGES/django.po | 20 ++++++++++++++++---- apps/users/serializers/user.py | 3 +++ 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index c39c1ba29ea1b569d461241154e10e14a92b7d4c..122a5f698e18a1b3ff375bdce023ed97afdbfca3 100644 GIT binary patch delta 23929 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 z

Z6u<)0+9LZ?{+YT}*o>5h^pz50tf!yv-WLOFu%47-TIYI{N7DEeDL(l|q&{?t zZuM=*=b&x_={Wsf*jTwJU#9IN(n<0Uh}Xp)wEvG7zb<-BDaX+B*VWlN_M<|-j-{Y7 zBW7fxx75uhex6t_Vl7F*#6Dp@TL@V%lr|cz6z%@PQ8uRP=IS4I)uElPBJ?fG&mV6O z4W|=mgZJ@I)!LPrSQ`esOecML(6zw^j!!(0RE&Y5kdhNGL%Sx#bS1?}lq1ORA|HvR zt?nQ4!^rQ_;nEL;DTE~2}pFu1+6Y7df{3~k{Kz^N($$B7 z^l`k@${)yIu>5lB_Nx)s8&W08pRYd{tDk#fpF{kxA$ZUxd~BAtJH23?KmNbw-UlY? zM`}oFLHu|6bR*x2{2JO%v@z7>U&{4K@2UTWPgZk{YBCPlD>M}ni5bw(Ukbr1AWzL zxyUBIN=Tgr8t4dVP)=dh1sccC_Gm@^G_#?5r43L}pf33rJxQx18 z)aiPJgNQ}5e(PM=t3kgV#Pbusf>o`4mDPVHkF6_-Fw#4q(LjG?@Nr=Uw-5cs(qpqg^U%T|g!l3 z_s{8MfX~+{DstM^O(#E;y1%L1L0(_ikB~0fWM7*#shdlxX#F%+Df-33Kk+$rITf_4 zC{88bRr4=rkh~Oh4Wgm0xOj~;m2{Z8R;1m;(_<>y$0W|LhTb$%DdLUr8ID942ne@c+ z53Nq|hBn4atJ{y!i1W7&|JB2_^?5PK6d<@0+ghbs45PynE0?402C=oos*%=Od^>ig zE;g=IC-PZIx{8su5)Y$&31W9iONlL{%)g5E|A!FObp9g={7c1k8f0Q8N{}B%OxI$} zi~Mrzzhd&wvE+*qKW!83#lqI!wQ~P_L%YhsK47E~Q}7F)9ZWyJqn}h;1fiV}Lmf5QX{=q@TzypiLO@5S#oi?Q|ui zPS*+2GSUoEC)z$E-j7sB?|)P}B_sGPflZ`R44RIVmsn4dt~A8s+u#W)kDxv?b(M+t z#fzwGCi!Hvdqr7Y&(TiTH_kq5PKoS=>aut{0T&Q$B2E#j4pD%0DBYk-AzW|MRbBm1S9F9P;hy ze4TWHRE`ddupLR)7&`5v%_dj$hFafx)F&Xnf_O=LRPV{hBsQEriOAQ(Vw8WO?PN^O z@3#D>H*TZ@aGv}Eo9H_{c3tQ32Frq3$=_OF56-*>BeN6!F70=qTz>(Kaq7 zq&~N`U1;^Us7p$GIQ8F<7LYpX=fAG?q$xD`eC4vvI|&>k<)GaeOoM5y&r1eALFz)k z;?&Ku_$2aENWE>mA89jz@=v&hHn+*^s>U3?{xrHlFg1bbq=%HNP%cY;1^HSeT}Mef z$tR@K0|xqz@*k8J;Y3nnQU~JkNDFKsF=+dVHe0EyKz<$hqa@vQ80kAb|Atg{qL6|H zZRs3BgGu-pd*dPM50iS)W(2VqIF|B#@-<1iz9n|uWxYfeQ!yX?bv>iLx#bICxaIG- z^UoGqU?810(^yv>^6iPIC&giL18m@O)Gx9&Y8T(~p|puZn;WzbBi>q-T%n}KHvSBZ zpgn(b^sZ?;zQq|qHsY1Zk0)P| z6D1Hl=yAp8>q<7L@OyL!m8GAA-<#CW#YP4V=~KM zBHn|1cFb;LSJeC8pF&J3!b$t+)RDA>M#*p{=|A#+(dG$xT`$P*BV{3;gK`J*x@J-S zgQP2oseD0OKp7VL`N~PGHf=UW;rSo52IXjwhx}UxY(_dqzAI@0sR)hp6HCVkg=jaB z{O`nT*@(f^-yt@bn65LF&rm)}T1-A3eagEkuP}LC>9Lp3I#k3aG%oDwyn@z9#dOsD zP5Q;^4v`;A(pB6{N#EZrAA~tb-&?t+jWv>TQu3KySMNP#oj)%doptqMrB|)f31Yh` z>$*ltq72snV%@2GiixfM4bF1a-e~HUQJ%&)MM&9+$HOSZ)?+2gRhe`t?M~_a*ENyK zn*JQ$Zpi1QGJ~x;lujX(=TU!_y3bc@VwtVYUD}i&{Y`y3Vi{<3?sG#NLdr%;OPix# zj8Q*8zlhm&>x+u5G;B(|fyGK%o4H@KnUeiv;f;A3Pbi$VRohPA_h{aseQ1l$Jv+7X zs&o&H=+mWbw+Mf>bwu0lZF>5vrtF*geNgw%-VrT3ck~A~W}9}jOT0TfCf!;yJ97Jo zdy_};e>0v$3rPG$aPhpzZOdkSh!)T+)$N&UZ%thGzxI(k2S;w5ee1V1k-sn8(l~lR Hg(Ck4VH!Zp delta 23754 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 B2pj+a diff --git a/apps/locale/zh/LC_MESSAGES/django.po b/apps/locale/zh/LC_MESSAGES/django.po index 652e1697b..dbc5d5be1 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: 2021-08-16 16:27+0800\n" +"POT-Creation-Date: 2021-08-16 17:25+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -4215,7 +4215,7 @@ msgstr "Administrator是初始的超级管理员" msgid "The old password is incorrect" msgstr "旧密码错误" -#: users/serializers/profile.py:36 users/serializers/user.py:126 +#: users/serializers/profile.py:36 users/serializers/user.py:129 msgid "Password does not match security rules" msgstr "密码不满足安全规则" @@ -4292,11 +4292,23 @@ msgstr "超级角色名称" msgid "Total role name" msgstr "汇总角色名称" -#: users/serializers/user.py:112 +#: users/serializers/user.py:90 +msgid "Is wecom bound" +msgstr "是否绑定了企业微信" + +#: users/serializers/user.py:91 +msgid "Is dingtalk bound" +msgstr "是否绑定了钉钉" + +#: users/serializers/user.py:92 +msgid "Is feishu bound" +msgstr "是否绑定了飞书" + +#: users/serializers/user.py:115 msgid "Role limit to {}" msgstr "角色只能为 {}" -#: users/serializers/user.py:211 +#: users/serializers/user.py:214 msgid "name not unique" msgstr "名称重复" diff --git a/apps/users/serializers/user.py b/apps/users/serializers/user.py index e8760a3ee..e9010e1af 100644 --- a/apps/users/serializers/user.py +++ b/apps/users/serializers/user.py @@ -87,6 +87,9 @@ class UserSerializer(CommonBulkSerializerMixin, serializers.ModelSerializer): 'role_display': {'label': _('Super role name')}, 'total_role_display': {'label': _('Total role name')}, 'role': {'default': "User"}, + 'is_wecom_bound': {'label': _('Is wecom bound')}, + 'is_dingtalk_bound': {'label': _('Is dingtalk bound')}, + 'is_feishu_bound': {'label': _('Is feishu bound')}, } def __init__(self, *args, **kwargs): From c6bb9e97fb8e2cf2c6af717eda8c3a3ea1e4d0fc Mon Sep 17 00:00:00 2001 From: feng626 <1304903146@qq.com> Date: Mon, 16 Aug 2021 18:55:33 +0800 Subject: [PATCH 4/4] =?UTF-8?q?fix:=20=E5=B7=A5=E5=8D=95=E5=B7=B2=E5=85=B3?= =?UTF-8?q?=E9=97=AD=20=E5=86=8D=E5=AE=A1=E6=89=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/locale/zh/LC_MESSAGES/django.mo | Bin 82034 -> 82852 bytes apps/locale/zh/LC_MESSAGES/django.po | 287 +++++++++++++++------------ apps/tickets/api/ticket.py | 14 +- 3 files changed, 173 insertions(+), 128 deletions(-) diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index 122a5f698e18a1b3ff375bdce023ed97afdbfca3..0beedba9bac67d880d5a25a75f24f057d7aae2b0 100644 GIT binary patch delta 24734 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 YfSQSdTqJ(glAC*`Y)@D;pikQW0!D*r9smFU delta 23945 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⁡vNEQ2iEQUfhJG@CKH}Oo!YTl~$O5`Mu?2)L}j9 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 TVE2}z(E*JDw-kv9=p6PxI@mSS diff --git a/apps/locale/zh/LC_MESSAGES/django.po b/apps/locale/zh/LC_MESSAGES/django.po index dbc5d5be1..766612a2b 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: 2021-08-16 17:25+0800\n" +"POT-Creation-Date: 2021-08-16 19:17+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -61,8 +61,8 @@ msgstr "激活中" #: orgs/models.py:27 perms/models/base.py:57 settings/models.py:34 #: terminal/models/storage.py:26 terminal/models/terminal.py:114 #: tickets/models/ticket.py:73 users/models/group.py:16 -#: users/models/user.py:589 xpack/plugins/change_auth_plan/models.py:77 -#: xpack/plugins/cloud/models.py:35 xpack/plugins/cloud/models.py:108 +#: users/models/user.py:589 xpack/plugins/change_auth_plan/models.py:88 +#: xpack/plugins/cloud/models.py:35 xpack/plugins/cloud/models.py:113 #: xpack/plugins/gathered_user/models.py:26 msgid "Comment" msgstr "备注" @@ -126,8 +126,8 @@ msgstr "系统用户" #: terminal/backends/command/serializers.py:13 terminal/models/session.py:40 #: users/templates/users/user_asset_permission.html:40 #: users/templates/users/user_asset_permission.html:70 -#: xpack/plugins/change_auth_plan/models.py:282 -#: xpack/plugins/cloud/models.py:212 +#: xpack/plugins/change_auth_plan/models.py:315 +#: xpack/plugins/cloud/models.py:217 msgid "Asset" msgstr "资产" @@ -181,8 +181,8 @@ msgstr "格式为逗号分隔的字符串, * 表示匹配所有. " #: audits/models.py:105 authentication/forms.py:15 authentication/forms.py:17 #: ops/models/adhoc.py:148 users/forms/profile.py:31 users/models/user.py:554 #: users/templates/users/_select_user_modal.html:14 -#: xpack/plugins/change_auth_plan/models.py:47 -#: xpack/plugins/change_auth_plan/models.py:278 +#: xpack/plugins/change_auth_plan/models.py:51 +#: xpack/plugins/change_auth_plan/models.py:311 #: xpack/plugins/cloud/serializers.py:67 msgid "Username" msgstr "用户名" @@ -311,9 +311,9 @@ msgstr "" #: users/templates/users/user_otp_check_password.html:13 #: users/templates/users/user_password_update.html:43 #: users/templates/users/user_password_verify.html:18 -#: xpack/plugins/change_auth_plan/models.py:68 -#: xpack/plugins/change_auth_plan/models.py:190 -#: xpack/plugins/change_auth_plan/models.py:285 +#: xpack/plugins/change_auth_plan/models.py:72 +#: xpack/plugins/change_auth_plan/models.py:207 +#: xpack/plugins/change_auth_plan/models.py:318 #: xpack/plugins/cloud/serializers.py:69 msgid "Password" msgstr "密码" @@ -429,13 +429,13 @@ msgstr "系统平台" #: assets/models/asset.py:186 assets/serializers/asset.py:65 #: perms/serializers/asset/user_permission.py:41 -#: xpack/plugins/cloud/models.py:99 xpack/plugins/cloud/serializers.py:183 +#: xpack/plugins/cloud/models.py:104 xpack/plugins/cloud/serializers.py:184 msgid "Protocols" msgstr "协议组" #: assets/models/asset.py:189 assets/models/user.py:194 #: perms/models/asset_permission.py:100 -#: xpack/plugins/change_auth_plan/models.py:56 +#: xpack/plugins/change_auth_plan/models.py:60 #: xpack/plugins/gathered_user/models.py:24 msgid "Nodes" msgstr "节点" @@ -448,7 +448,6 @@ msgstr "激活" #: assets/models/asset.py:193 assets/models/cluster.py:19 #: assets/models/user.py:191 assets/models/user.py:326 templates/_nav.html:44 -#: xpack/plugins/cloud/models.py:96 xpack/plugins/cloud/serializers.py:205 msgid "Admin user" msgstr "特权用户" @@ -525,8 +524,8 @@ msgstr "标签管理" #: assets/models/cmd_filter.py:67 assets/models/group.py:21 #: common/db/models.py:70 common/mixins/models.py:49 orgs/models.py:25 #: orgs/models.py:437 perms/models/base.py:55 users/models/user.py:597 -#: users/serializers/group.py:33 xpack/plugins/change_auth_plan/models.py:81 -#: xpack/plugins/cloud/models.py:114 xpack/plugins/gathered_user/models.py:30 +#: users/serializers/group.py:33 xpack/plugins/change_auth_plan/models.py:92 +#: xpack/plugins/cloud/models.py:119 xpack/plugins/gathered_user/models.py:30 msgid "Created by" msgstr "创建者" @@ -538,7 +537,7 @@ msgstr "创建者" #: assets/models/label.py:25 common/db/models.py:72 common/mixins/models.py:50 #: ops/models/adhoc.py:38 ops/models/command.py:29 orgs/models.py:26 #: orgs/models.py:435 perms/models/base.py:56 users/models/group.py:18 -#: users/models/user.py:784 xpack/plugins/cloud/models.py:117 +#: users/models/user.py:784 xpack/plugins/cloud/models.py:122 msgid "Date created" msgstr "创建日期" @@ -571,15 +570,15 @@ msgstr "可连接性" msgid "Date verified" msgstr "校验日期" -#: assets/models/base.py:178 xpack/plugins/change_auth_plan/models.py:72 -#: xpack/plugins/change_auth_plan/models.py:197 -#: xpack/plugins/change_auth_plan/models.py:292 +#: assets/models/base.py:178 xpack/plugins/change_auth_plan/models.py:82 +#: xpack/plugins/change_auth_plan/models.py:214 +#: xpack/plugins/change_auth_plan/models.py:325 msgid "SSH private key" msgstr "SSH密钥" -#: assets/models/base.py:179 xpack/plugins/change_auth_plan/models.py:75 -#: xpack/plugins/change_auth_plan/models.py:193 -#: xpack/plugins/change_auth_plan/models.py:288 +#: assets/models/base.py:179 xpack/plugins/change_auth_plan/models.py:85 +#: xpack/plugins/change_auth_plan/models.py:210 +#: xpack/plugins/change_auth_plan/models.py:321 msgid "SSH public key" msgstr "SSH公钥" @@ -737,7 +736,7 @@ msgstr "ssh私钥" #: users/templates/users/user_asset_permission.html:41 #: users/templates/users/user_asset_permission.html:73 #: users/templates/users/user_asset_permission.html:158 -#: xpack/plugins/cloud/models.py:93 xpack/plugins/cloud/serializers.py:206 +#: xpack/plugins/cloud/models.py:93 xpack/plugins/cloud/serializers.py:210 msgid "Node" msgstr "节点" @@ -758,7 +757,7 @@ msgid "Username same with user" msgstr "用户名与用户相同" #: assets/models/user.py:196 assets/serializers/domain.py:28 -#: templates/_nav.html:39 xpack/plugins/change_auth_plan/models.py:52 +#: templates/_nav.html:39 xpack/plugins/change_auth_plan/models.py:56 msgid "Assets" msgstr "资产" @@ -1081,8 +1080,8 @@ msgstr "成功" #: tickets/serializers/ticket/meta/ticket_type/apply_application.py:74 #: tickets/serializers/ticket/meta/ticket_type/apply_asset.py:40 #: tickets/serializers/ticket/meta/ticket_type/apply_asset.py:78 -#: xpack/plugins/change_auth_plan/models.py:177 -#: xpack/plugins/change_auth_plan/models.py:307 +#: xpack/plugins/change_auth_plan/models.py:194 +#: xpack/plugins/change_auth_plan/models.py:340 #: xpack/plugins/gathered_user/models.py:76 msgid "Date start" msgstr "开始日期" @@ -1153,13 +1152,13 @@ msgstr "用户代理" msgid "MFA" msgstr "多因子认证" -#: audits/models.py:111 xpack/plugins/change_auth_plan/models.py:303 -#: xpack/plugins/cloud/models.py:171 +#: audits/models.py:111 xpack/plugins/change_auth_plan/models.py:336 +#: xpack/plugins/cloud/models.py:176 msgid "Reason" msgstr "原因" #: audits/models.py:112 tickets/models/ticket.py:47 -#: xpack/plugins/cloud/models.py:167 xpack/plugins/cloud/models.py:216 +#: xpack/plugins/cloud/models.py:172 xpack/plugins/cloud/models.py:221 msgid "Status" msgstr "状态" @@ -1193,7 +1192,7 @@ msgid "Hosts display" msgstr "主机名称" #: audits/serializers.py:89 ops/models/command.py:26 -#: xpack/plugins/cloud/models.py:165 +#: xpack/plugins/cloud/models.py:170 msgid "Result" msgstr "结果" @@ -2091,7 +2090,7 @@ msgid "Regularly perform" msgstr "定期执行" #: ops/mixin.py:106 ops/mixin.py:147 -#: xpack/plugins/change_auth_plan/serializers.py:55 +#: xpack/plugins/change_auth_plan/serializers.py:60 msgid "Periodic perform" msgstr "定时执行" @@ -2170,8 +2169,8 @@ msgstr "开始时间" msgid "End time" msgstr "完成时间" -#: ops/models/adhoc.py:246 xpack/plugins/change_auth_plan/models.py:180 -#: xpack/plugins/change_auth_plan/models.py:310 +#: ops/models/adhoc.py:246 xpack/plugins/change_auth_plan/models.py:197 +#: xpack/plugins/change_auth_plan/models.py:343 #: xpack/plugins/gathered_user/models.py:79 msgid "Time" msgstr "时间" @@ -3650,7 +3649,7 @@ msgstr "Secret key" msgid "Endpoint" msgstr "端点" -#: terminal/serializers/storage.py:66 xpack/plugins/cloud/models.py:209 +#: terminal/serializers/storage.py:66 xpack/plugins/cloud/models.py:214 msgid "Region" msgstr "地域" @@ -3698,6 +3697,10 @@ msgstr "忽略证书认证" msgid "Not found" msgstr "没有发现" +#: tickets/api/ticket.py:61 tickets/api/ticket.py:70 +msgid "Ticket already closed" +msgstr "工单已经关闭" + #: tickets/const.py:8 msgid "General" msgstr "一般" @@ -4239,8 +4242,8 @@ msgstr "生成重置密码链接,通过邮件发送给用户" msgid "Set password" msgstr "设置密码" -#: users/serializers/user.py:27 xpack/plugins/change_auth_plan/models.py:61 -#: xpack/plugins/change_auth_plan/serializers.py:30 +#: users/serializers/user.py:27 xpack/plugins/change_auth_plan/models.py:65 +#: xpack/plugins/change_auth_plan/serializers.py:33 msgid "Password strategy" msgstr "密码策略" @@ -4879,93 +4882,154 @@ msgid "Reset password success, return to login page" msgstr "重置密码成功,返回到登录页面" #: xpack/plugins/change_auth_plan/meta.py:9 -#: xpack/plugins/change_auth_plan/models.py:89 -#: xpack/plugins/change_auth_plan/models.py:184 +#: xpack/plugins/change_auth_plan/models.py:100 +#: xpack/plugins/change_auth_plan/models.py:201 msgid "Change auth plan" msgstr "改密计划" -#: xpack/plugins/change_auth_plan/models.py:41 +#: xpack/plugins/change_auth_plan/models.py:40 msgid "Custom password" msgstr "自定义密码" -#: xpack/plugins/change_auth_plan/models.py:42 +#: xpack/plugins/change_auth_plan/models.py:41 msgid "All assets use the same random password" msgstr "所有资产使用相同的随机密码" -#: xpack/plugins/change_auth_plan/models.py:43 +#: xpack/plugins/change_auth_plan/models.py:42 msgid "All assets use different random password" msgstr "所有资产使用不同的随机密码" -#: xpack/plugins/change_auth_plan/models.py:65 +#: xpack/plugins/change_auth_plan/models.py:46 +msgid "Append SSH KEY" +msgstr "追加新密钥" + +#: xpack/plugins/change_auth_plan/models.py:47 +msgid "Empty and append SSH KEY" +msgstr "清空所有密钥再追加新密钥" + +#: xpack/plugins/change_auth_plan/models.py:48 +msgid "Empty current user and append SSH KEY" +msgstr "清空当前账号密钥再追加新密钥" + +#: xpack/plugins/change_auth_plan/models.py:69 msgid "Password rules" msgstr "密码规则" -#: xpack/plugins/change_auth_plan/models.py:187 +#: xpack/plugins/change_auth_plan/models.py:78 +#, fuzzy +#| msgid "Hostname strategy" +msgid "SSH key strategy" +msgstr "主机名策略" + +#: xpack/plugins/change_auth_plan/models.py:189 +msgid "Manual trigger" +msgstr "手动触发" + +#: xpack/plugins/change_auth_plan/models.py:190 +msgid "Timing trigger" +msgstr "定时触发" + +#: xpack/plugins/change_auth_plan/models.py:204 msgid "Change auth plan snapshot" msgstr "改密计划快照" -#: xpack/plugins/change_auth_plan/models.py:202 -#: xpack/plugins/change_auth_plan/models.py:296 +#: xpack/plugins/change_auth_plan/models.py:218 +#: xpack/plugins/change_auth_plan/serializers.py:166 +msgid "Trigger mode" +msgstr "触发模式" + +#: xpack/plugins/change_auth_plan/models.py:223 +#: xpack/plugins/change_auth_plan/models.py:329 msgid "Change auth plan execution" msgstr "改密计划执行" -#: xpack/plugins/change_auth_plan/models.py:269 +#: xpack/plugins/change_auth_plan/models.py:302 msgid "Ready" msgstr "" -#: xpack/plugins/change_auth_plan/models.py:270 +#: xpack/plugins/change_auth_plan/models.py:303 msgid "Preflight check" msgstr "" -#: xpack/plugins/change_auth_plan/models.py:271 +#: xpack/plugins/change_auth_plan/models.py:304 +#, fuzzy +#| msgid "Change auth plan" msgid "Change auth" -msgstr "" +msgstr "改密计划" -#: xpack/plugins/change_auth_plan/models.py:272 +#: xpack/plugins/change_auth_plan/models.py:305 +#, fuzzy +#| msgid "Verify password" msgid "Verify auth" -msgstr "" +msgstr "校验密码" -#: xpack/plugins/change_auth_plan/models.py:273 +#: xpack/plugins/change_auth_plan/models.py:306 msgid "Keep auth" msgstr "" -#: xpack/plugins/change_auth_plan/models.py:274 +#: xpack/plugins/change_auth_plan/models.py:307 msgid "Finished" msgstr "结束" -#: xpack/plugins/change_auth_plan/models.py:300 +#: xpack/plugins/change_auth_plan/models.py:333 msgid "Step" msgstr "步骤" -#: xpack/plugins/change_auth_plan/models.py:317 +#: xpack/plugins/change_auth_plan/models.py:350 msgid "Change auth plan task" msgstr "改密计划任务" -#: xpack/plugins/change_auth_plan/serializers.py:56 +#: xpack/plugins/change_auth_plan/serializers.py:29 +msgid "Change Password" +msgstr "修改密码" + +#: xpack/plugins/change_auth_plan/serializers.py:30 +msgid "Change SSH Key" +msgstr "修改密钥" + +#: xpack/plugins/change_auth_plan/serializers.py:35 +#, fuzzy +#| msgid "SSH Key Reset" +msgid "SSH Key strategy" +msgstr "重置SSH密钥" + +#: xpack/plugins/change_auth_plan/serializers.py:61 msgid "Run times" msgstr "执行次数" -#: xpack/plugins/change_auth_plan/serializers.py:72 -msgid "* Please enter custom password" -msgstr "* 请输入自定义密码" +#: xpack/plugins/change_auth_plan/serializers.py:79 +msgid "Require password strategy perform setting" +msgstr "需要密码策略执行设置" #: xpack/plugins/change_auth_plan/serializers.py:82 +msgid "Require password perform setting" +msgstr "需要密码执行设置" + +#: xpack/plugins/change_auth_plan/serializers.py:85 +msgid "Require password rule perform setting" +msgstr "需要密码规则执行设置" + +#: xpack/plugins/change_auth_plan/serializers.py:97 msgid "* Please enter the correct password length" msgstr "* 请输入正确的密码长度" -#: xpack/plugins/change_auth_plan/serializers.py:85 +#: xpack/plugins/change_auth_plan/serializers.py:100 msgid "* Password length range 6-30 bits" msgstr "* 密码长度范围 6-30 位" -#: xpack/plugins/change_auth_plan/utils.py:442 +#: xpack/plugins/change_auth_plan/serializers.py:118 +msgid "Require ssh key strategy or ssh key perform setting" +msgstr "需要ssh密钥策略或ssh密钥执行设置" + +#: xpack/plugins/change_auth_plan/utils.py:485 msgid "Invalid/incorrect password" msgstr "无效/错误 密码" -#: xpack/plugins/change_auth_plan/utils.py:444 +#: xpack/plugins/change_auth_plan/utils.py:487 msgid "Failed to connect to the host" msgstr "连接主机失败" -#: xpack/plugins/change_auth_plan/utils.py:446 +#: xpack/plugins/change_auth_plan/utils.py:489 msgid "Data could not be sent to remote" msgstr "无法将数据发送到远程" @@ -5061,7 +5125,7 @@ msgstr "云服务商" msgid "Cloud account" msgstr "云账号" -#: xpack/plugins/cloud/models.py:82 xpack/plugins/cloud/serializers.py:204 +#: xpack/plugins/cloud/models.py:82 xpack/plugins/cloud/serializers.py:207 msgid "Account" msgstr "账户" @@ -5073,35 +5137,47 @@ msgstr "地域" msgid "Hostname strategy" msgstr "主机名策略" -#: xpack/plugins/cloud/models.py:102 xpack/plugins/cloud/serializers.py:186 +#: xpack/plugins/cloud/models.py:97 xpack/plugins/cloud/serializers.py:208 +#, fuzzy +#| msgid "Only admin users" +msgid "Unix admin user" +msgstr "仅管理员" + +#: xpack/plugins/cloud/models.py:101 xpack/plugins/cloud/serializers.py:209 +#, fuzzy +#| msgid "Only admin users" +msgid "Windows admin user" +msgstr "仅管理员" + +#: xpack/plugins/cloud/models.py:107 xpack/plugins/cloud/serializers.py:187 msgid "IP network segment group" msgstr "IP网段组" -#: xpack/plugins/cloud/models.py:105 xpack/plugins/cloud/serializers.py:208 +#: xpack/plugins/cloud/models.py:110 xpack/plugins/cloud/serializers.py:212 msgid "Always update" msgstr "总是更新" -#: xpack/plugins/cloud/models.py:111 +#: xpack/plugins/cloud/models.py:116 msgid "Date last sync" msgstr "最后同步日期" -#: xpack/plugins/cloud/models.py:122 xpack/plugins/cloud/models.py:163 +#: xpack/plugins/cloud/models.py:127 xpack/plugins/cloud/models.py:168 msgid "Sync instance task" msgstr "同步实例任务" -#: xpack/plugins/cloud/models.py:174 xpack/plugins/cloud/models.py:219 +#: xpack/plugins/cloud/models.py:179 xpack/plugins/cloud/models.py:224 msgid "Date sync" msgstr "同步日期" -#: xpack/plugins/cloud/models.py:199 +#: xpack/plugins/cloud/models.py:204 msgid "Sync task" msgstr "同步任务" -#: xpack/plugins/cloud/models.py:203 +#: xpack/plugins/cloud/models.py:208 msgid "Sync instance task history" msgstr "同步实例任务历史" -#: xpack/plugins/cloud/models.py:206 +#: xpack/plugins/cloud/models.py:211 msgid "Instance" msgstr "实例" @@ -5246,28 +5322,36 @@ msgid "EU-Paris" msgstr "欧洲-巴黎" #: xpack/plugins/cloud/serializers.py:21 +#, fuzzy +#| msgid "Access key" msgid "AccessKey ID" -msgstr "" +msgstr "Access key" #: xpack/plugins/cloud/serializers.py:24 +#, fuzzy +#| msgid "Access key" msgid "AccessKey Secret" -msgstr "" +msgstr "Access key" #: xpack/plugins/cloud/serializers.py:30 msgid "Client ID" msgstr "" #: xpack/plugins/cloud/serializers.py:33 +#, fuzzy +#| msgid "Secret" msgid "Client Secret" -msgstr "" +msgstr "秘钥" #: xpack/plugins/cloud/serializers.py:36 msgid "Tenant ID" msgstr "" #: xpack/plugins/cloud/serializers.py:39 +#, fuzzy +#| msgid "Session ID" msgid "Subscription ID" -msgstr "" +msgstr "会话ID" #: xpack/plugins/cloud/serializers.py:51 msgid "This field is required" @@ -5294,7 +5378,7 @@ msgstr "执行次数" msgid "Instance count" msgstr "实例个数" -#: xpack/plugins/cloud/serializers.py:207 +#: xpack/plugins/cloud/serializers.py:211 #: xpack/plugins/gathered_user/serializers.py:20 msgid "Periodic display" msgstr "定时执行" @@ -5387,55 +5471,12 @@ msgstr "旗舰版" msgid "Community edition" msgstr "社区版" +#~ msgid "* Please enter custom password" +#~ msgstr "* 请输入自定义密码" + #~ msgid "FeiShu Error, Please contact your system administrator" #~ msgstr "飞书错误,请联系系统管理员" -#~ msgid "Append SSH KEY" -#~ msgstr "追加新密钥" - -#~ msgid "Empty and append SSH KEY" -#~ msgstr "清空所有密钥再追加新密钥" - -#~ msgid "Empty current user and append SSH KEY" -#~ msgstr "清空当前账号密钥再追加新密钥" - -#, fuzzy -#~| msgid "Hostname strategy" -#~ msgid "SSH key strategy" -#~ msgstr "主机名策略" - -#~ msgid "Manual trigger" -#~ msgstr "手动触发" - -#~ msgid "Timing trigger" -#~ msgstr "定时触发" - -#~ msgid "Trigger mode" -#~ msgstr "触发模式" - -#~ msgid "Change Password" -#~ msgstr "修改密码" - -#~ msgid "Change SSH Key" -#~ msgstr "修改密钥" - -#, fuzzy -#~| msgid "SSH Key Reset" -#~ msgid "SSH Key strategy" -#~ msgstr "重置SSH密钥" - -#~ msgid "Require password strategy perform setting" -#~ msgstr "需要密码策略执行设置" - -#~ msgid "Require password perform setting" -#~ msgstr "需要密码执行设置" - -#~ msgid "Require password rule perform setting" -#~ msgstr "需要密码规则执行设置" - -#~ msgid "Require ssh key strategy or ssh key perform setting" -#~ msgstr "需要ssh密钥策略或ssh密钥执行设置" - #~ msgid "Category(Display)" #~ msgstr "类别 (显示名称)" diff --git a/apps/tickets/api/ticket.py b/apps/tickets/api/ticket.py index 071bed755..086daef4d 100644 --- a/apps/tickets/api/ticket.py +++ b/apps/tickets/api/ticket.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # - +from django.utils.translation import ugettext_lazy as _ from rest_framework import viewsets from rest_framework.decorators import action from rest_framework.exceptions import MethodNotAllowed @@ -54,16 +54,20 @@ class TicketViewSet(CommonApiMixin, viewsets.ModelViewSet): def open(self, request, *args, **kwargs): return super().create(request, *args, **kwargs) - @action(detail=True, methods=[PUT], permission_classes=[IsAssignee, NotClosed]) + @action(detail=True, methods=[PUT], permission_classes=[IsAssignee, ]) def approve(self, request, *args, **kwargs): - response = super().update(request, *args, **kwargs) instance = self.get_object() - instance.approve(processor=self.request.user) + if instance.status_closed: + return Response(data={"error": _("Ticket already closed")}, status=400) + response = super().update(request, *args, **kwargs) + self.get_object().approve(processor=self.request.user) return response - @action(detail=True, methods=[PUT], permission_classes=[IsAssignee, NotClosed]) + @action(detail=True, methods=[PUT], permission_classes=[IsAssignee, ]) def reject(self, request, *args, **kwargs): instance = self.get_object() + if instance.status_closed: + return Response(data={"error": _("Ticket already closed")}, status=400) serializer = self.get_serializer(instance) instance.reject(processor=request.user) return Response(serializer.data)