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] =?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 zcmZA92bfLQyT|c8j5fv$gBfKQy^b)t$fKhMf%t#{SE_S$F8O!EIP85QsG;CQ}EVS&>;t~!C97l}(UdES9| zo)=w7QO~R0#PhPpp&m~KcwWC|p0@*QHTS%R)F*D~dE>DSevMDCKJ7cV^1LyW_qOr8 z!C1Sk=Uu?#c$ofczVy5wJzwN7Xk%Hp}aTs=tVF@gC;DhdtQ;>||2)bPFhpoIS5P zHo)2#gUe9^oX2E%8#T}?)WY9cJYg@lLupX$vY~FIm{|>Vb{b(;?AD9@*AC1ekQ|p- z!>y=ic>r~o&RP5krl1_y+udPmOiMW$br`Fn>N{XK`cMm)jvD`a)Xr?ja6F<0n&75Y zyhp7(tdHxE1@)|op$4jrYTp92@cx(*zda{+EIuo~16F)~S+!xZ< zHOz&YpbToj+Nc5BTDdps4#rt|ft5F-UbBOk3Xh`t-^Mif4z-Zf{ak%sRDBgB?(>?G z(KGLk39&EgSr0+I6%#QFeuuh)U8uu&6!YMD)EP*~r;m0d40R(>sLzA^sJEgvYTO2> zaoS)Oz5hMQXnXikk4Q#h;_@ETq5ZWyUO67^`AI z9E2rsBc{Oz7^wF@;Q+UQB&Y>MV1CSrT0kSz0$QN%pd)IcuTcx1gn9(Ct$sd6P+o(Y zXfJAB#&`Mq8X>pzBy16|aMus0*gW5vXUm5H;{-D<4NK;4jpI?x7}p zhFZuQ)a#mJkh{TDX0Ac(zwWrC1!|!VS##8D(i63SQK&7Si<)4Wx!(NI+=FU&1hr#l ztbEPN_soA$^9K0X|KenlqYh0?)XJM-4s3(kstKrpr=!}K!}af49(Q=|Ij!cF4umkkK79um-KszaT63M{VUWRJ-x0*J(CtCyt;F=V?^C zN2r~AZKfRN9!Wmb&Q!vdSQ}I8{f{N1J3EXT@DJ3MUqo&31Jt8OFLs%YfTRHbPo>!J~RaC#x-?0Dj$b3s6C(cA|*>2Q?Cs5D+ z9O|_HjXKQ%qupr_L!IUF4ue$f#op)Jn@) zxteR>)yBlc8)8OmgTXiob>~x26D&bJ>#bNHU*j^YJDxWRU!s4fCb&ns7lZZwpC=PU zgIlPDJVq_#C5B+YL^nZF)Rt#KwJ(f1Y-LgHYoR`P>Z9KKt{94=P6D@g43hQS*#q5`6w5_Pp~EC z$Bn2*a~-uqucom7+LHKF-Ij!+R-7KS#nBjs)llu4m~G6?sEPYvPV}Mrtw5cTeW>w{ zqjvN%>XY&z>X8Ncrn#+3f$ESA)i4IN!g8o*RTB$g6I8p&s0Gcj`lXng@()&j1v68= zhjB4I3Ph)jvXQ zb)s2r0ZC8`h(Mi<3^)<1qi*Cp>U*d67a85jE33#j+pRDUW+h%0)uAow4!WZjJkXqo zIx`C~18zXQt|w53>@sS>cQ6gUFq41B{_C~NOGef*JDU?wcf8izgj&cB)CbRgOo@k4 z&-%J~2lX@JA?kGvnd9F7XtNTgAl_^a&tC)dAfRV58q?w&Yp@k{1`b>KhWQe8$02jw z9i~SuCdwiJ&JJ_pJwHibJ>4wRV)DwunW~;FGk}F)CW-3dG5V#fO-Ty zQLmQ|wUEWA{;{a7-fHpRP&;!5HP1!VVZVzS=Y<9+MkeljH&IE{mUl)yt6r#QILXSh zF+1f=sEIG4K8hcpUb}zLKQL;XxC>l72-PkOwUCsk9rtA-qpd28I#ktB12;i6?1)LR zA4cLB)SZ5hMR7H1q8q3M+(Y$$f;ua47rM776t%F-s7H|(Y47ujTA++s6*X}k)DAR5 zEwCTz*-k)BxD++uYOCLZ8u)kA7N5o_ypDQ}<1TWqafF!`UX>Ds>N;x3ZTX-Vb(zZj$#(#9Z_duvSfa51{tkKPri@-@_iZ&3rKUgBP>(x?SAz&zLu^{D1!Vcda*@G)w<>`UDTR|)h55@s}Ee}%1Ka1_=4&!0h z@7aHK=xr4PQ41J>iqAmZ**w%l-=hZHjJku}s5?B2>URcpSnr_vzcb@4cm0Dg1M#$| zM^(~CMl0!nG1wI~(IV7VZop{Vj|uS^>XE#|bQrwC?%0e$EvOi3f#p%pye4X%=BP*B z7IjE{Uy;#D2cXWtFw_DjVIrK5y5kk7N43e~dr=EIYUQ)2{@1Mh5Vg>kR!*?eZGAFS zJT=mvzyFfa`RGuJYJok>uQ7=75LEkdsGXRD74b*ZTk;+gVcJ!0!mOyB zD2NHLG6w1WuSG@^HblL4?NEX#{MD4^?i$B67lwYC-PO#Q3G!5!b z3!@fN#;lCG(VD2Yq~TijKZHzY0vc$bH5iME&p@4xWvJKdN7PRIj@p4+R{sJuVDLJ( z0~yU|)WVBmFqT9;x@xEe)?LT`E6~Imw80?C-BHhQAo{lqwZQ49_DfKQZVhUu4xv8r zZlD$zu-+MoYF8As;LlJW$!#$c&he26A@eh8g-0+HFJKP5hZ!-&2KRHn2?!4g%?pjw%=kC^cDWW{o4F3>JXjAd>Fimk4-FzeX%dL z!AGcx8ftZJp2sZs0t;ihEw0_Cs09zlnz$Y#^!~piQ-nbHR(|GVP2_QU z^N|K#t!?h7TU*Rbc`%0K64X|2M;+QfP><*mCdK=h9N(hOMzSAWJR2sXTolvm{jX*f z?N9^sLp_R7sM9(XHNgVZVOowlJZo?WZoy|*d^>*~!F)U1#8WXV<>lBNk6<}0x6?hs zVVFbj{{}LZ@jN!dj6b>Wgac5Aa1-iIwqq(hirSgmsGabBb_}5#w*hsh=TWEr1~$P5s2!=k%WY*{)P$`uHFib4_hZb- zn1=F9Opmb`g(r5g|2j;M31q-@zqmUqjd~61qXue$y0dnuiTa`zFx(u6TIf`4f%8yz z>g{$r5RPh}*366=Klg5*+lnFt)S(haVq?_S_C=kEiKx>*7jt9WU)@6Tp|~RC8M}6SrLOt_Rs0r$z?yxy(0UfM79d#xa zpdR5iRR4phM|KglkiX1#SeSD7UiT<`ACu7``wDdj-B5Qt2+QC&)Ih&uJUoqhBo|PR z~YGDg89{zx|_jx~((TetAetd)4`aHk64i!;%&;SFm z3u>V~%^_Ht@&t^Jhp{-G!U7nw-+h9XLp~(ER;UG}JfP1Lo_|_@hPy?5^0h*(bPDQ& zV;N?}?WlpTqP9HkLB8W-A=K⁡vNEQ2iEQUfhJG@CKH}Oo!YTl~$O5`Mu?2)L}j9 z&i112^aMr*@TC%USf2jwCXP7l?jS!VB3=ZwfU>AF&=`ZTBWmG&P>*UZ>P)RcovB~Y zmyygdGMex)YHOZjZhVWmFy|5XMWY_-Sq{RyxES-`35-VXsQV$62csx{hI-$7q54h5 z%(%_s7mu?4y0bR~w2-J{Zh&%_jdFWbd=hGhHlohLZ>WJUqrU6CL%l_5j=K+_qNqn$ z2a{rJEX_{#!iV_72@W4FImP}5lUaY-{Z!idhmItbXWVD`Sj-TIU#qbn@nq*cZzzsM zKCQiw3w-+0|94zPdE7 z{M71upkBifs7EpZb-K5qK49*nb}Z9DPKi1;YP_N@6D{r^@{iyyY%yZ@y)B}U0-Fh1o=m>qALNp86b3Zv@FV=b(P`WZ0O>VHT7-~Y~$QNstQiJxL9 zzC*1v60>J!~{<7K_e%cf`d5dp2R9_kKTo83@5Gsx;k zpcXRC%B!rr9X0WBD?hOMxcA(+$<55D{sqly_jvvad_h1TjlED4jz%qPlDPu4GrO&P z6*b{2D~I2A?en4fSH(p53F^igTDd)Dq};>e(|lxt2`t4NxY5cN%-iNO)P!*!xCzo@ zFy*Xf0n`G^peAmHnz$Xt#lEQa1I*E=@qE+CXvG_?Vw<_oJc;_@as_kaYs`e%|8_qE zs-r$)`=Q1egPLfvIS;k4RaSq{;>R&WAGViV#(RJo;Efsgp&KX&b!sC}k0ckWT?N#g zRY%=%E!5A3&ruV0MfIDA`q{C_%3G{_5L4;H{xTWe;R}C&bMTLwAR2Wi1yK`}MV*!E zsEL~+ci^=)dzeGb$(V%t1?F0d??8=rNHV{7+5(r&JLVJAoxa6T41DBFVP-K4nH8}t z?dqZbEkX5Pg}HDeYT}C)zlHvP|Mxc;-RW!8mL+`bOl#&vbu5P(u!hC!nr%=&RQjSG z(K>TKYT;K=3wmVb1W(*J5l`5E4Va#QCdi6fNIq*&(#jPuhX) zYMiN7{?1(PBU6QnP1fKoYUP2?+<+0NJIaXKnHVdVw)$Gwl=$bUL%bO^(Q&Iki|T(3 z)&DVS{P(DKzOaAYM5$4)O=c^XM|J!db%#wbCH6vf9E%$8TXVj-+T4bkXrFn`;`dSG zy>w-t7xvr@6lF%6#ZePgHfy3@r+TP`wL~qTyVd)wJQDR0JH^~&^=HgWsD3vwyWaoD zWVF&WFPwQ$D=dpzKtoiA=4L00e~ntm5Q|SX=b5Wezb|aH@?+F^@6Grx8CUOr5@j%r znH|ehE@b6Cs09wk{5ZqP`>lKdwKKu5+yrS*JCG5zzzP=s6g5sGvlIFh7)&M=PC+eX zHEN~XPy_6;_%VxL#3!d0=4j&R=)w&?V|xCtYV$H12w<_OozuX z4gQT0m?$8?zrc*Bb}^`li=jTED_OZV>PDKHolxxun!}NPK5r};|5l>5aDz42Ztg}+ zaKQWnb@;BM+Q*IK>XV=*Ok?IkO;`exVmZ_}by5Akz)-#a?a9O;(9axz`lRz=Je-D+ z_#Nu!{Z>qjzhOQ+X~vBk;MJvE5Vf@<%~`00tVVssi^WCwC#Gb6{vDiaFwLA}E;d(U zIofT&8u$ctc*?|c6SYR&Ss&Cy!>v5loQZmLORc;UwF3vyrw*sc$P4B*)E9<3m>yHa z5Agr;SrE0wB{3O(j47}gs(%mE&V7wq&?GC*wQ{Vv3v~mB;|KWs4IdNGmc2*4j$sJ` zJbi-YMGaINbqJfH|Jy94raS;M;B?dn$`;h4IfCkU9yRVQRQp$`J5Q0&Ei`>XpKDNv zfDU05vpK3`KU9Zt=5*AZF2IENJ!+!$sP;QiJ9NzASIh@i|H|rZh0sQ0>-Od6$(BTltFl0QDBUG7|^61^6P#Xn>rkXI>Ju^C8*Exoj4JnqMrG1{+^;oHyibtzZup4mc^fALCVSbbBo$lLHhZ;Ru<@I zPD6FvfEwr*)C7;MK4B8K@+_#s7h_g78=GCt5$0^vqg!WgM*n~Rvy+VfbwKUJDSrhk zM|F5=@z-WZh-;V8EQDHc6|;fGzeK$~U!!(zmbuaD52>v8{}LG;qUUB{sGB$$>XD>E zEvy1&$NH!R55na5jg{w^%gptt_CK1}Fc0ORr0(@AhCU6{l#EvTC2FFPs5_s9y0Zo7 zKjjwRY2`iUaq|-DY}~_am?@bXry6S9+Ng0_pTt7Q7>lFNpm)uqCJttIVzDUR3)NR{k5+ z{TS4)`dmmD?j|UX z8n7~I0rf53)XE)D{kxg{%@KZi|0a^r0JBhcx&k%OX4FUKPSh42LI1NxwY!J&^(fY(?tCAr<2lrVuA>INiyz^0)LAH) z+SPx8`W&c_YBwG=&TP~pT!R|tY-;=Yf0=+Lyl)k8(zphRP!lIb4U`5oPAy$zXsl86~|G(N?k>Lk$7mnHWQ?E@#LtViczS6bDLZ&9z`d~AnXt(=j65#*o1tcYq~3pHS4)M0FC z@vl%5_C`OeClFp%;N4Ab}jU&v_Xr%+pZ!(YK)t57QqjB@dGsDW+W4@}H<*9A2U(OqS7o4Ns5yWGs$3usTLz57bUfLA76Ou1B@o ziTVWm%gTu|@&4ix}=#kH$|B`AM| z#c&zw1L-nq{MV?%m@aF8|9@9p1BX&xoYfcL|4**6WpgWRj2d`2>P}``c_nH=yD$UZ zMh%=OyZd338?|#yP_J7r)JOVk{1y+Oo_&)X&Mv4&G1Ny!9p_ucR@AdOgxbQ>sD)g! z`p0IxoGzXUHE<5pDgVggpP~AuEf2VCRc#}-&$Qktu$Y5 z_xFI0aU|sqSQQ_k9!ZI4x5Yj2W6F#0b9{*U8BsNln{YU4!DErH?>=uH8T~RDYwks@ z{0yq$4J$uKtvE2Rt51yD>Qtzonx#;Ws0r%X4@duvp$^|lE1$%KlrQ4fdjJ0-qk&uG zbEmo;s$)OYSFvGMo{eg^1ocQ(p>}4wc@}lLpP?RUs{F2h3~Icps2i(mej)Y#cO;{a z%zox@)I<}p0!~Lg+w&HGiW=~>885~S9E#epNYn!JS-Ff^*KC7hsPBuuVr1eLa08S? zb*yIPhNuDCqJEh4v+{UsL3sgcA#n=2w7cBEYf)WqXa3t5JmaGRC)p>F7$nV^VkU)ZdLI;>x!7BJFBMhh5& z8fYr&Z#)Z8D}8|aw)+&bV%DPWgQo^ArrZhjN2+AS+(&Z+>hu>ty&bhsJJ|zw{&jq4s$P$Y?9BqjusJYNe0Nz>+Q=fqK0%q9&+_y0bb~-vYJpuTVQT3N`Ko zjKObFJGlq*;WNyo_djbX*Pu44!BA9#Skx9>M{RvbX}6_?Q1OPC6Ng)TEvnr~E5Agw zOJBydtA=_cJy3tlnkn`E$CA+xlOw3Z@sE{5%erz5>JijNeJO2=?4P^U;(uFR6lGrkjZ<6TFm|T=9{;2=C;1Q81@e)Bd}$zXg8HM>KO%nz zKU{NZbC|aU7bm#iG51BS{ygOzoL>gc$ z=M{CciTlnH>`ky0DTLsAENBZM>t#?QEJM5BaI_7oy1Dv?U3F=vt2lkjliy9d>6F{y zUHny*c4Z^hj`1$?^T+??LGg_?a8fD)Ngpv#98xOcD0}n9pBX4MSO^59}#;;{Z*^m=cBNi!eI;|g^_giWgvYV zFSYVp^5-nSoVtB##PyO?h4P2%7sl%UpN{th-~Ff4TPEsHYD8*D z{AW6KC*PX>NJN4g-uY>=4CF5>ZQeI3XnEcn|7yhUIt&N+O*i7=BtQ?o` zA6{)bR3)AI-{Cl1OqP;ZFFKSZzK(K5TR=6+@ijPud~LBrwAGc_2L6?JX3{~cceU=H z`{-Ly{kd}L(@B5Du0_Z8{t$n!C4b%;DAbFj&;9eHd!&w}n^U?~OFm_AwLo7@S}w9_ zE>ly7@?VT_3S0eW6so)wEVD3m>1qE6%Mn{+Z7vdfZ{w(~uHBTA(QXX+?`b!LRGsvi zSU+N8^Z*Mp=xz!pNK5`Rzz!NFpW7^%Jtg9{gw#1K- z*Z(WohwBpUDp8nD{a@7Us-_qCI)#2zwxXgrN!NA!hFAdx$VdI(*5M0WM%_;8bUnbq z#Nt`M^)BqyqThDng@|9m>Q=wn>OYX&#{dH;ZLx9kS~BrTk)&Oub2NNNqr#+C zq%6d`G2uYsAFi_>GUfx?WT5RJ(r6ODf_v++JMo&FPkf zBbCqTJfD0I7xrcoTVi)?A^&%!l*AIz?j`jvP*=16*De#WXzJ?Xc&nR-wfuSi{c}1Q z;KOy2iafS;)5#B`?sqD;lh>E`!=&>z*{9|w)XgPTwtgC`4E;j!SA0TU9tG_xfm4Zh z)BMXBqyPn7gK4NM30@&hB^{!!HE9>|OqiDT35oNIqBo6HhInIqjH6K3TGDT{9fsW% z;3`kQ@hqfTXkYOH=#Vy2B}MjDx_7Uvc$TRijdbek9NAMlK!#$eXCQv zk&W@p>h@tg;{4^qfAw^2eO>}Gg$eG!_ExDD!|Cvkl`Bwpjo3P3HAw3${v&pwE(lkt z6Zsq@T_2IQ5|5^RDPp%tONlL{%)glS|7Q_3bpCG;_?wEWG|0+Mlp;T#n6AZG0Qptf ze>7$0>?d_ zd`dn$3yQ^0>HIC}75VMdJ)q5P$~UYJVgFUl9wmRF@)D^JZGWO>8trnC&q4iQNxWGqlt78RbUS=034ciG4v?{{qqfe>zTN@JIEuYZtLvR=$kSK2%^~ zQYGqtAWgA0o$v)?OvU@uM_K!lENZ#s1%EU0|95x)_^e|-Tb(NBkTP2QWAc%fzd)zc zvKX4QEx}H*=Px+9Q6{}%mDF2vz7V2t~{LjC>RhDO!iOGLO=c}aS zqzZIcgdIq_#?omoZ8o{0H_ZChr#>0^mBdTiqk2O=A+ZtkNlv~#enfc%ZNJ4-`T~EQ zpsxL-v*Z`pL{Dh&hrfm&Amk^K;#yrj>_?hq<<(e&zF*^J+I6MhaLPj|AE2C;1@*ws zNgu9;{=VFQA|l}w{;-9p!8+0pq@U>!hq|9|59R!JXFplnlf)0%prffjN!uhCMtweO zyU^-yQWs8q1ofYh7LYpW=fAEEq$xD`aOJhmI|v*l<)+M&oc%-PU=d(lGM$z z_+;`^NPTR)Z)h`-@^`p}Hh+=VRf9Qv188)OU?hR~r2CYsQ7%t@CHdMUT}Mbe$cNGC z9s_+r`4`HIa1yBrsUz`F(gIsZ0@}W(%~t9vkzY^#2uU{`P5MI5zY&$4DWs-Bdpbwa zU@|_$K6sG&L!{oc8A&Vwj-z~+{3j$`pA)<4vR-nFsaTNyx*k*C!tzBi#`3q^`DY6) zFo@2ZX{@U*`LBp)A|+;V18v|6)Gx9&YM0dV8EBK3HrHq$O}wotxiXNN*!VNB4ej{@ zq<2N*X)A`3#@OJ5ydLBuiM=89A?eCatQh(0nX^n`q7DqfIcTmyeA{bMkxy-ik$wmTKH zD=G0T#D1mE9a1S4|Ka+K@&xOr*hl2YeyG&*Z%H751rm`jL+2LQg^t5WAtYTL9NthS z8btmUZT6FYXz{hQ+dz2&DFt=9Vu{@#rD4q1l$#QNfhBCrApIX`OeUCyPRj}Iwu*Sf zf2Lte$|*>Hl4jFJ*CZQ!lq-52s5?iRLds3QZNxWOTQvzJev_nY8}X{-Cy=j9^6g=; z6$DC>E|dBaJVmTE`487PIwdD9CH@!jjZ_q3qE(cWV|8n|5MR^oB5_@7Fv9W|i1#F) z3v=1nmG%A)ppcM?7}8!kbs}w{Q3TE;{Y(Bg+WbRa*HiL)N!f|#rreRdu340SA?ZqK zDqqAFP>zLuxbhIILz`Ir0q=k{s6d1KZ1-W$p~e_l>H>*~!)FI%VM#CB2Eb%m5t z8LolEdQkTWQ&{~=oaL&$G1M)iJdJURlX4Lc#W=(^U=_;MnRF@bPU`*FHHpek{5ihe zkS{=GW?OXzIz>^QNBtkveYn~Z%VuqE)20;Zcj_||%S@v)9~$CNQchBO+8p`M7!3l7 z{$Hz`|EbtY!)8=9v{-3tHupoD*gQ=ehlRH4)uU&ZP8qtk=+UE3m+q}&`*x`wKlXU9 z%|Wrt21h1}4Hy#{78^aMev&CqR%DN@wep)}Q|@oy8@p@AH-WLA{qj0f=qg#MFeJ9(jTP}?-`+_O6r29(=Luu?y*V4UWmRZEXz+|=kpbabK8p;P89F^W 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)