From 178055eb5767b375ae2863902d9a3a14b09295d2 Mon Sep 17 00:00:00 2001 From: ibuler Date: Mon, 21 Jan 2019 17:43:08 +0800 Subject: [PATCH] =?UTF-8?q?[Update]=20=E4=BF=AE=E6=94=B9=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=B0=8F=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/locale/zh/LC_MESSAGES/django.mo | Bin 60438 -> 60570 bytes apps/locale/zh/LC_MESSAGES/django.po | 64 ++++++++++++++------------- apps/ops/ansible/callback.py | 12 ----- apps/ops/models/adhoc.py | 5 +-- apps/ops/utils.py | 2 +- apps/terminal/serializers/v1.py | 4 +- 6 files changed, 39 insertions(+), 48 deletions(-) diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index cf3c41fc8a31b9470cd64970f815eca91b8c55c9..3826532e5ad8449479a0a0ebf8df6c1b8ade9f8f 100644 GIT binary patch delta 14652 zcmYk@37n4Q{>SnAv5wsg!&rtH41=)@vl#2l7=$c|tl8IWWri&AptO)Bw`89rJ4sa5 zPzhx@l|;%Ci7e5H>WKcI?_9rLum8NxbKckQcVG9l-}f_9=PW#(d&!yH!E<4GUibKE zk=ygiV@6redoqvbjYv?|^DeaTyxDjWC*tUqo;MSJ!Kpa5mFImO@VtBYF@E0K^UCGo zp0?zb?rc)W5QJTD%jurYSR z+Bg>n;71sPl{$J}EIwjBgXf5spxU4CnCF$i8JLg$y~PwX^Ea_1?#2B06&A(sP&Zz~ z!g$xr)yXwf44H{n*{p$@P&^jHW>^|Kpza@nEVh@01?b-!PeB8ij$xRMA^0Aa!`-L> zd~5kjSc&)s>b_!+yA_H<4Llx;V+v|QZ7?tP!Gbu*d>VtHBqmYNNM~bzT#lN7*V*%` zLQ$-ai8vbjU?!eG#^5#Y;(6TSEi`{Y<(od?dCB-1Y5+%2D|G_30;ir}{dM6x5*c^_ zwWl#%Jx>GcjGFmi)L9sVC2&4!fNM}^V>_yyov0<=huXTMSPIXg+WF1$4^j1sbYuP1 zP}y#-LM&DxPCzYHcT__Iu@+`x0bGe{U?Zyj4%CwWfZDQKs8e3BJ8feWYUYhlE1ixS zP^TaTb<`WRB*Rb@N1|qyh3aU6#V?{(W)^B7%drBkMK$~x*2PnHJ%10^UMT8%1nRz6 z)QSb`QP2uBKy}>GY=^p`Gv=%SYCxH&LpB~u<5biVFG4lE1=Y?@)Ij%R8T<;hLN_o1 zA0QJBdZl{08_Swi%-UuHGadC*Jc??l3#Q;;REKY(2DTP8@GYqN`%nWrj5=FiVI2(g z(uCOmcnVsIB-BzjMm5yhd<^xtb;p+Y9BO8tpl1FJYK3l~_WVBTkcK|#W*UPUP*YU< z?Je$!A$tCYQ&5Ll7>3WGwq&m5m!mpZjhgv(^B|TaK80G+>!?GOr?+dbIO@I#i>skl zqz=}{1{l=Rji8{4nOF{|qh`1QHR5+sd%YL6l;5CcdLGN-UDQex@8bqu4b@&E>i!JW z#2!N(_JOE@kM6_ztD_f4sKJG(8Eir|umg2?4w)BG4c$l8E85o$v@ELOIMhleqgJXJ zYQP;)hqni6Kz&dvF`{qKCB~9agVRwr&Or?z8`bbTsG07x_#~>~^QZ=|p&Go0n$SO} zfrR#RdtU~1CaR-Wya{THGlCS5b}m6l%niQ8!G-J@^W$;g-Co)p2{XCu#sg zQ5`*lx_<_0pfgbuS%6WPjTJDspF$f7=kYey7~mQzH_$au1vP-`s1esibQ4=_6@flS6=P^GP8{sBW8g(|JMzH<`DAchFDP}tA zOteKUX?Ik;kyr?y#e(>}#d9!c1uTC6HISpIL;WRg!XI%I&K>E#?jHszsKH!h3u95# zOv<4;h{k*vhZ<0Q)FDf=>)lXq&H)&L6D*#NI!lXC_19rh+=tqd;}!?+P*BJE#ZCh$ zg6g;o#$XlHfZABTBdT6c)QpE%ehzAd7NZ8T%HmCS{R31#2P{60Of2Y~p`ejnz-asx z^_x)W)9%YC9CiBRQKz;o>f7!~R7c~mItEc&wH`IFy{OZF88wkVQ2j(cH#ec)YzI+W@g1t;+o%EM9^;;_(x_K%0#?Mw zrJnyx3R*fJb!e8OX7(0p$u?Sk2dds))Z=;xRqrx};!V{3|Dd)oPo|qlG1M6fN7XBj z#j!R9^{v*7f}YzRm@{Kk1A|ZlcpAfSGHMCup=O+oTAA&rdY@u_{1Vkp-Yh#)sDYM2 zZEYpg^{QFyzZ$M>7t&B2w?N&{5!G;a)af6Lnqd}dizc9E7DUy55jDWMSO-_2?mLbp z@O$$%>J6D^EbFhmEI-yQNut>jRiP_t$ws3dn`!3TSey8eUB8D~iI8#b&_S}k*Jk;8Jpo!tcGW?3g&*+br_3Ufv%_qdYOYzGaZFG#LuBRei=2e zd8qntn(I+#Dfk`*E%_c)#Y0#RzeUZw;CRVj-;#KAbR7YD;GuUbIA=JQ6 zU@V?PtwjE*u3ll(N|iNhVOio-)Qa>(tza;df)2@4)Sk@5oV`Ykcr$9|+fgfY7$fl< zYKDKK>W55oe@B!>#e+}-cozSQGg0kNneIBCi`*admQm2m*P#Zo)!dD`;UH?MPN7D8 z5w#MxP)q$c>i%5MI}4$_=9 zMbzH?iRCf$1=mq+vneK$Z;x7m7qAj8M4hFbsI5AV(f9{eqkpf=3{E_zVFqqQ-EbRM zV%`^d+u>TQfKe~;4;!%=?!p1s3oE?LHzQ6$ZP9J4i$!1Yybah4tKu(M8$)NZ{u)s# z1vv~g^ZA&JyD$ZR!~7UG%dJoX79>tVw$;nPyZ9M?fO}qbE0H;yNfEEddUzeRf)(bt zLzp~=_1DsNAW;Yhn`6u=Sd{!s%!7+D7p}nExDs{WYSdxfiW=w+)LGe&TA5>56l=_N z*HcjUrOjpibz?gcno(!eDer@NT*jhqoQK-eY*fQrQHSUw)RugSdaQ1v?hl#g?yrD4 zgejQ*O$KX5)YVdE=5{J%r4U|HSyb@|gbx|{DiE6M5YK5LeO<+8#{_{8p zU&EUChh4AiyLM}%+G&XO_58P{P=dr{R70;}aa@L>xEXb5_Mv8Y8a2bK7XOZ_pJ#!a zSvYDS6;T7Ih3c?7>ZuuuT7g$FOwa#93Yy7!REM8p2|R@%_zP-@|BKq|La)0QPYujj z8O&K3RQ)cff%e9{I0|*fvQR5G3041jETQLrJ_X&l26Z^Lpk}xSHPXYV_rO=U6|)w) zt*ZKlt6vk2VG6TKA$>@cyUbD%^*|-sHQT7eMv5_+5bOHQ#nm#U;!+1FPLr5so^{v8a`-g<9bh z)E1{>MeMwq-gP01gr3LA<~r0X^lO}ocd!MHS>xXQJIrtJ82R5&Tep9$^BCqM{tmU)L)Ec$a9WCF(9D;f}vMipBs=oxa6)P>j6}6=wS$xtA zUZkLkw=D6{;zH})2+N@wj5X_+NoEr)!1WB&3bZ$SqGmqSoP>jj=U@T+9joa1e@G#g zMCA?qRfCUWUwj*zVcw0-7Um4|Ag1X0CO5!lsD@iw+|lfc4axULJ-&-kkM|BNtkZYY z5@*bts250Jvun7RS;~yW!d$On#+yx1E7{iKo)!;94QxDWqSNjAMoItP4!dyBF5EKj zqedL^j_a@*YOfPeOWV%kzIJ^AY5*@-qnRf==yuCGbx(FTYDG4nuWN(c-EW*T*8{8=?mKh~>MX?(1WYFejKV zqT2H@=imP=p}<$Zx6&>&;=5H1q?;WuXOB@G4X`-Vu1_>yLT%Xs^Ig;{`Y7_NfR}HF zYj-88y?1u7{wln07xth!IAZY`t9S+V4!?=jFm|VFprhFpL&^6>y|A7}O<=xV&&J}! zYfxMHq2&+g&uLXWY>97B@%PvPuUS52m+LUqY=x@V-r}C90rW?8kY)KPsCqLjo{u^M zi!Hw?NI^I3G(SPD$T9Pzc@`tc|7h`jRKvM;JBy)Kro6=&=3}T8?QQWWRQr=G4o;__ z-*o2Mh0R!lcsuHqeBScEU^(JDs4t}=dtAqHs0LF|OP`9GVSl?m7B%qcsEIB`)nDxl zdYkORHq=P>T7_e%0h~lNa31;9&->H7kF|*(nzi=w#|UvROvPR1eM~2A{1LBT459{b z1qF~eZFZq*9z)%E(!7Yu-@?jx7j?bN0hh0ey1y3A!c^>xM^RsQ(I2}di}{%6N^4h_ zgc@vwYAD_8fNH20mch}Mf5q|(EnbgW`wvjMZT)VYDvF9p{ggS1I zWw9r!p>dXSwDrzC1((LoA2#tE1k`=H(c z1I#Q`2QyGxGZ*zP&Bi3$jH-VbWALuU6?LUovO*bO8VHKBGEcST(vhOmB=lw(kbWEQGow&k~=_VlpD=j{3)sE+b~?q*cd ztcx1(qp0hTTin;;A*lAUK4}=5 zyxaT&)$v(Wd%xrJ7`#tG4F!)oUqw||j2iiysD?M7UO2l@_3xkt{19tk=n2*f@0o%BxVW%c8jEqg5^6&A z%*Hvg|1B-i5jEl-7>WHbXJyP+&Bdqztg(2f#h+Px2G!veRD1U<|G+HxrE9me)bn43 zg7zlfF0?^)(ADCnPz^q7@k^+N7ohH2ibHX`#gSjRd=hHL9Z>bVqbAhX9Erg&5)&;k z+gxIuO3K3-+sgG z!f11xIoW&x)xa#&AzOrb@Eyxt=Bu zt2hSLP|)Hng;d-fZ=;686HJ8Jml+Jo&At4v(W& z>@4cOTUZ=RpLYMqG8Xk>djxfT2&&zA7H`88`uD!4(1i=7&bWq0;6maF*cFR^=LRy= zoQAr-1d}lStoxrl55;ieg;*0eVJ4o&a`@=?)(&dm)36x*dkZL(BJnmpg1fN==J~;$ z_BN;`?2MXuPaKUykzaPa)3^v%oOAygEBUs#CegGyvj(BW!t z_C^h86so~V7SFNkOR+rpjduMoYU$6Smii9r{vtm*%bL}&68Qv+yZ&h3{{t=Yj5!6> z@hptM6_)?d@}Hu%>|4vc-3{(6xHw}7=s;9&;3~JhAZ(F{tq9)Yu8v^toMuidwew3Qp+nS=+quX&G;&6 zruWT|>-_OR9FCo_Gis*mQT4Z>>VJlM4}5LcN8E6~O^-vZ)JzOuWG?<)9UuMt<+n@d z8J@(vDq7}Qsw||O=I>1?9Ua1zbn2ZX+Zt;Vm*i>*K0oj|?cYtP7`WhvC-#iKLVTDy zVbsZ{oQuz|d`|F*JvYl(A1W4YQ(!{FyQSN`$ilNtrW{gFu(Lu+xZA)kMLV*KSv zjlzGT7B6=%89hFnDDR$sGpStQ55GWi%|Kp1F}ZT!H@|!G=)A?bJHbDeTslz1|0%h0 zxc=W-S=5iP9w~Yc{m2Gg1Ihl_29GC3|G(aTr)|Bq^s|_9bGud&w-PU>jUs$1_zxNc zLo>+gcxa3B@M-GLPRT4#k?c0=Jn#!NY#tp+)Pg%V@X1Aa9aq{?Hyw3kO8X-lw#s{l zt7ZM24Vwi@`F}NB8VLBWH>w|q^N%zd63FAnH!cyV>$hlJvuHXk9HOp%LUa4m8kg3t zHzu2x_Rjk&8+Q%d^8ad_9JuSpH>s2NEOndtgPPPSQjR)F)EUI*zy8W5T_f*vtprhj z9Gugl`>#{P)%@_Ll>EOwte<6gk$U>6;U8&Q zxkx-$|NZ%&|5wxOm;z)1R{!5CmB?)+&=bCmPgQ?!vx!&)V^0`gBkGWLN zAGt*}6Y`h*2kFVt^{lok@M`tu@F_;_8zuND#_k{cPux zO8z0ASaSKOU(`>`NDiFyM`pAtlS2F%bsAZH-P4=8fBVNWs+FnC)%9eaQ<|S2t=4yb zkrwp>-)~E6@p%#}awnflY(S^qZR NazF3(uPo2@{txAS;tK!( delta 14528 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 EFXrQ;fB*mh diff --git a/apps/locale/zh/LC_MESSAGES/django.po b/apps/locale/zh/LC_MESSAGES/django.po index 92e081d08..38712017a 100644 --- a/apps/locale/zh/LC_MESSAGES/django.po +++ b/apps/locale/zh/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Jumpserver 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-16 17:58+0800\n" +"POT-Creation-Date: 2019-01-21 17:40+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: ibuler \n" "Language-Team: Jumpserver team\n" @@ -120,7 +120,7 @@ msgstr "端口" #: perms/templates/perms/asset_permission_create_update.html:45 #: perms/templates/perms/asset_permission_list.html:56 #: perms/templates/perms/asset_permission_list.html:125 -#: terminal/backends/command/models.py:13 terminal/models.py:143 +#: terminal/backends/command/models.py:13 terminal/models.py:155 #: terminal/templates/terminal/command_list.html:40 #: terminal/templates/terminal/command_list.html:73 #: terminal/templates/terminal/session_list.html:41 @@ -158,8 +158,8 @@ msgstr "不能包含特殊字符" #: perms/templates/perms/asset_permission_detail.html:62 #: perms/templates/perms/asset_permission_list.html:53 #: perms/templates/perms/asset_permission_list.html:72 -#: perms/templates/perms/asset_permission_user.html:54 terminal/models.py:21 -#: terminal/models.py:212 terminal/templates/terminal/terminal_detail.html:43 +#: perms/templates/perms/asset_permission_user.html:54 terminal/models.py:22 +#: terminal/models.py:233 terminal/templates/terminal/terminal_detail.html:43 #: terminal/templates/terminal/terminal_list.html:29 users/models/group.py:14 #: users/models/user.py:55 users/templates/users/_select_user_modal.html:13 #: users/templates/users/user_detail.html:63 @@ -427,7 +427,7 @@ msgstr "创建日期" #: assets/templates/assets/user_asset_list.html:159 common/models.py:34 #: ops/models/adhoc.py:43 orgs/models.py:17 perms/models.py:39 #: perms/models.py:92 perms/templates/perms/asset_permission_detail.html:102 -#: terminal/models.py:31 terminal/templates/terminal/terminal_detail.html:63 +#: terminal/models.py:32 terminal/templates/terminal/terminal_detail.html:63 #: users/models/group.py:15 users/models/user.py:88 #: users/templates/users/user_detail.html:127 #: users/templates/users/user_group_detail.html:67 @@ -461,7 +461,7 @@ msgstr "可连接" #: assets/models/asset.py:119 assets/models/base.py:36 msgid "Unknown" -msgstr "" +msgstr "未知" #: assets/models/base.py:25 msgid "SSH private key" @@ -534,7 +534,7 @@ msgid "Regex" msgstr "正则表达式" #: assets/models/cmd_filter.py:36 ops/models/command.py:21 -#: ops/templates/ops/command_execution_list.html:60 terminal/models.py:149 +#: ops/templates/ops/command_execution_list.html:60 terminal/models.py:161 #: terminal/templates/terminal/command_list.html:55 #: terminal/templates/terminal/command_list.html:71 #: terminal/templates/terminal/session_detail.html:48 @@ -638,7 +638,7 @@ msgstr "默认资产组" #: perms/templates/perms/asset_permission_create_update.html:41 #: perms/templates/perms/asset_permission_list.html:54 #: perms/templates/perms/asset_permission_list.html:119 templates/index.html:87 -#: terminal/backends/command/models.py:12 terminal/models.py:142 +#: terminal/backends/command/models.py:12 terminal/models.py:154 #: terminal/templates/terminal/command_list.html:32 #: terminal/templates/terminal/command_list.html:72 #: terminal/templates/terminal/session_list.html:33 @@ -726,7 +726,7 @@ msgstr "登录模式" #: perms/templates/perms/asset_permission_list.html:58 #: perms/templates/perms/asset_permission_list.html:79 #: perms/templates/perms/asset_permission_list.html:131 templates/_nav.html:25 -#: terminal/backends/command/models.py:14 terminal/models.py:144 +#: terminal/backends/command/models.py:14 terminal/models.py:156 #: terminal/templates/terminal/command_list.html:48 #: terminal/templates/terminal/command_list.html:74 #: terminal/templates/terminal/session_list.html:49 @@ -1661,7 +1661,7 @@ msgstr "系统用户资产" #: audits/templates/audits/ftp_log_list.html:73 #: audits/templates/audits/operate_log_list.html:70 #: audits/templates/audits/password_change_log_list.html:52 -#: terminal/models.py:146 terminal/templates/terminal/session_list.html:74 +#: terminal/models.py:158 terminal/templates/terminal/session_list.html:74 #: terminal/templates/terminal/terminal_detail.html:47 msgid "Remote addr" msgstr "远端地址" @@ -1704,7 +1704,7 @@ msgstr "修改者" #: ops/templates/ops/adhoc_history_detail.html:61 #: ops/templates/ops/command_execution_list.html:65 #: ops/templates/ops/task_history.html:58 perms/models.py:35 -#: perms/templates/perms/asset_permission_detail.html:86 terminal/models.py:153 +#: perms/templates/perms/asset_permission_detail.html:86 terminal/models.py:165 #: terminal/templates/terminal/session_list.html:78 msgid "Date start" msgstr "开始日期" @@ -1836,10 +1836,6 @@ msgstr "创建成功" msgid "Delete succeed" msgstr "删除成功" -#: common/api.py:221 -msgid "Waiting ...\n" -msgstr "" - #: common/const.py:6 #, python-format msgid "%(name)s was created successfully" @@ -2218,7 +2214,7 @@ msgid "Password check rule" msgstr "密码校验规则" #: common/templates/common/terminal_setting.html:76 terminal/forms.py:27 -#: terminal/models.py:25 +#: terminal/models.py:26 msgid "Command storage" msgstr "命令存储" @@ -2235,7 +2231,7 @@ msgid "Add" msgstr "添加" #: common/templates/common/terminal_setting.html:98 terminal/forms.py:32 -#: terminal/models.py:26 +#: terminal/models.py:27 msgid "Replay storage" msgstr "录像存储" @@ -2324,6 +2320,14 @@ msgstr "Become" msgid "Create by" msgstr "创建者" +#: ops/models/adhoc.py:223 +msgid "{} Start task: {}" +msgstr "{} 任务开始: {}" + +#: ops/models/adhoc.py:226 +msgid "{} Task finish" +msgstr "{} 任务结束" + #: ops/models/adhoc.py:324 msgid "Start time" msgstr "开始时间" @@ -3073,55 +3077,55 @@ msgstr "" "录像文件支持存储到服务器端硬盘、AWS S3、 阿里云 OSS 中,默认存储到服务器端硬" "盘, 更多查看文档" -#: terminal/models.py:22 +#: terminal/models.py:23 msgid "Remote Address" msgstr "远端地址" -#: terminal/models.py:23 +#: terminal/models.py:24 msgid "SSH Port" msgstr "SSH端口" -#: terminal/models.py:24 +#: terminal/models.py:25 msgid "HTTP Port" msgstr "HTTP端口" -#: terminal/models.py:113 +#: terminal/models.py:125 msgid "Session Online" msgstr "在线会话" -#: terminal/models.py:114 +#: terminal/models.py:126 msgid "CPU Usage" msgstr "CPU使用" -#: terminal/models.py:115 +#: terminal/models.py:127 msgid "Memory Used" msgstr "内存使用" -#: terminal/models.py:116 +#: terminal/models.py:128 msgid "Connections" msgstr "连接数" -#: terminal/models.py:117 +#: terminal/models.py:129 msgid "Threads" msgstr "线程数" -#: terminal/models.py:118 +#: terminal/models.py:130 msgid "Boot Time" msgstr "运行时间" -#: terminal/models.py:148 terminal/templates/terminal/session_list.html:104 +#: terminal/models.py:160 terminal/templates/terminal/session_list.html:104 msgid "Replay" msgstr "回放" -#: terminal/models.py:152 +#: terminal/models.py:164 msgid "Date last active" msgstr "最后活跃日期" -#: terminal/models.py:154 +#: terminal/models.py:166 msgid "Date end" msgstr "结束日期" -#: terminal/models.py:213 +#: terminal/models.py:234 msgid "Args" msgstr "参数" diff --git a/apps/ops/ansible/callback.py b/apps/ops/ansible/callback.py index 16e220e57..02004285a 100644 --- a/apps/ops/ansible/callback.py +++ b/apps/ops/ansible/callback.py @@ -118,18 +118,6 @@ class AdHocResultCallback(CallbackMixin, CallbackModule, CMDCallBackModule): self.gather_result("unreachable", result) super().v2_runner_on_unreachable(result) - def on_playbook_start(self, name): - date_start = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') - self.display( - "{} Start task: {}\r\n".format(date_start, name) - ) - - def on_playbook_end(self, name): - date_finished = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') - self.display( - "{} Task finish\r\n".format(date_finished) - ) - def display_skipped_hosts(self): pass diff --git a/apps/ops/models/adhoc.py b/apps/ops/models/adhoc.py index cedbbb4ff..e9d264ed1 100644 --- a/apps/ops/models/adhoc.py +++ b/apps/ops/models/adhoc.py @@ -220,10 +220,10 @@ class AdHoc(models.Model): time_start = time.time() try: date_start = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') - print("{} Start task: {}\r\n".format(date_start, self.task.name)) + print(_("{} Start task: {}").format(date_start, self.task.name)) raw, summary = self._run_only() date_end = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') - print("\r\n{} Task finished".format(date_end)) + print(_("{} Task finish").format(date_end)) history.is_finished = True if summary.get('dark'): history.is_success = False @@ -235,7 +235,6 @@ class AdHoc(models.Model): except Exception as e: return {}, {"dark": {"all": str(e)}, "contacted": []} finally: - # f.close() history.date_finished = timezone.now() history.timedelta = time.time() - time_start history.save() diff --git a/apps/ops/utils.py b/apps/ops/utils.py index d52f9c743..4a7def4fa 100644 --- a/apps/ops/utils.py +++ b/apps/ops/utils.py @@ -48,7 +48,7 @@ def update_or_create_ansible_task( hosts_same = old_hosts == new_hosts if not adhoc or adhoc != new_adhoc or not hosts_same: - logger.info(_("Update task content: {}").format(task_name)) + logger.debug(_("Update task content: {}").format(task_name)) new_adhoc.save() new_adhoc.hosts.set(hosts) task.latest_adhoc = new_adhoc diff --git a/apps/terminal/serializers/v1.py b/apps/terminal/serializers/v1.py index d36a5cb8b..adf75c936 100644 --- a/apps/terminal/serializers/v1.py +++ b/apps/terminal/serializers/v1.py @@ -9,7 +9,7 @@ from ..models import Terminal, Status, Session, Task class TerminalSerializer(serializers.ModelSerializer): session_online = serializers.SerializerMethodField() - is_alive = serializers.BooleanField() + is_alive = serializers.BooleanField(read_only=True) class Meta: model = Terminal @@ -25,7 +25,7 @@ class TerminalSerializer(serializers.ModelSerializer): class SessionSerializer(BulkSerializerMixin, serializers.ModelSerializer): - command_amount = serializers.IntegerField() + command_amount = serializers.IntegerField(read_only=True) class Meta: model = Session