From 6427ea0f6305a769088659cd357db8f27bd9e9a5 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Thu, 28 May 2020 23:31:24 +0800 Subject: [PATCH] inspect part1 --- groups/views.py | 9 +-- safesite/exportemp/ks.docx | Bin 17712 -> 20360 bytes .../migrations/0334_auto_20200512_2244.py | 57 ++++++++++++++++++ .../migrations/0335_auto_20200526_2157.py | 22 +++++++ safesite/models.py | 23 ++++--- safesite/serializers.py | 3 +- safesite/templates/checkjobadd.html | 6 +- safesite/templates/equipment.html | 41 ++++++++++++- safesite/templates/examtest.html | 2 +- safesite/templates/examtestdetail.html | 4 ++ safesite/views.py | 29 ++++----- safesite/viewsdrf.py | 2 +- 12 files changed, 159 insertions(+), 39 deletions(-) create mode 100644 safesite/migrations/0334_auto_20200512_2244.py create mode 100644 safesite/migrations/0335_auto_20200526_2157.py diff --git a/groups/views.py b/groups/views.py index 1b2bd947..5ca75160 100644 --- a/groups/views.py +++ b/groups/views.py @@ -20,7 +20,6 @@ from django.core.serializers.json import DjangoJSONEncoder from .forms import CompanyForm - def fenye(request): start = request.GET.get('offset',None) end = request.GET.get('limit',None) @@ -45,8 +44,7 @@ class MyEncoder(json.JSONEncoder): def check_login(func): # 自定义登录验证装饰器 def warpper(request, *args, **kwargs): - is_login = request.session.get('is_login', False) - if is_login: + if request.session.get('is_login', None): return func(request, *args, **kwargs) else: return redirect(reverse('groups_login')) @@ -277,7 +275,10 @@ def company_userchange_page(request, uid): except s_models.User.DoesNotExist: raise Http404("User does not exist") oldcompany = user.usecomp - companys = GroupUser.objects.get(id=request.session['user_id']).group.members.all().order_by('creattime') + if request.session.get('issuper', None): + companys = s_models.Partment.objects.filter(iscompany=1,deletemark=1) + else: + companys = GroupUser.objects.get(id=request.session['user_id']).group.members.all().order_by('creattime') return render(request, 'groups/company_userchange.html', locals()) diff --git a/safesite/exportemp/ks.docx b/safesite/exportemp/ks.docx index 5bd87b9e8d963abe824b513baf429047e34b865f..07783b64de6784e13c9a615f2be5a0e620580af7 100644 GIT binary patch literal 20360 zcmeHvWmp}{wk_`N5FCQLySuvtcXxMpcXxujJHg%E-8}>e5+2$6p1ZSi_Osvj^!HJ# zS>1DVRjpB7HAl@VIZ0p;6aX*)2mk;80syz}1V=wW0D#Y60077U5I`D&Hr9?t){Z(# zZnj1aS~RX!miYM~KxDZ9K=1ee=lCC7106|YGJSLi!Vh9Eg8S6w>&|`%=BuDFAC>aO zETb6Bs9)l_y+o=F4wW`jU45|}` zCSfHBp)#N^s0=M(2O}pCUa61dC%=TIa=<4O20@G9cLtL`2zZB* zUwb!uOnk0~K;u+1ui4qgg`!_d<*GP#kVfJYOZ+``0z>G59J6t!^h#o5?i6H z!hTokyQ?r{WHU!%Tn;RY)6{%=uD#eG;dTOD;y?<`K9`HVbqT`;^<3{sxPZ9nsU$OA zW*|oCkw~$0KZH^9ixsv#?o1kML8}1W-nQpCPSjjzvO9tt|6Ct1=F{7R+=Xa=W3cPf zMv2qI8ZaShCa`Wn2f7~Q6|G6ZBViYMA^ujF>yoW|q=-8$$Skq{liSPZ5<_Qo1!Jds zv$`N&Di6-K(bH(&<7w7tVy|ycxtZbY``vd{w5MU09ue%--VA-R@1%Qs0|t=$Tgy#T z_6Gg&er4yqVM4#RTpfEOO9xt-pXq;E?Em0q`b*I(;-w{l=@Ejj{ND)1J2}@V2xm96 zg^r~SUjYRfp8Yc5<4c>~Hp#+i<{LwB8QqRX7zGzII&l^#hnQSdd+NyeYv(p$s>-)p z-PG3oB?Km?k8xCOw?Q(VzUsgB6Ny_(yduPpqNGq93-{va&vI)>1i_zwl|C!@I5M=X zhyN;ovsXrCL-)g&k6W*-vJ~HX0=482;Sr_DW{v;0bBS|ICYsBy1Kl}zg0O!b&uDnA zBv^k)!SCjYJ_T6;LRbVCm-SPY^|yxxQ}y9k1amyM%_Aau(gv=h@S-rh3|2hY^y;sf z6L;)Z-)O>`-ztt6Zz}^6V${2V|Eal*NYikSzybj9-T(j~zSoh9jlChQp^br))q8LE zvzt5DT8myA#O$J-cF_ebF{O1LU?gW=|H*T-S^`g2N* zQ~=wwrfhSiee~)_hd|>}XTj!A2kRO(i!S}xJKw_>K`NoX~8P!A1FW}z{ZO~;+7E)6%E5ICLSzcI+QtV30R9Z_KT2SV@Acx zY^(GyZBgZ%gu_24>*}ih(B=bU8t*A4GE-Sj&j!@^gd$Z$&kCBSy9zs@i$#Fio_W@y zQmX1xtb@lq1LE(zzi530)OOJg}^aVEptJJB-#Wx!c%f18j1PKv1G zYC6vtCPn;2T%-&eAv5ST`-e2Joj1L3cxDe_tWftL6%`CG<9RKh^ul2{Z0r|KW>yiN2r{bXbwG-0LL&zY&4G?6|({E2ctu5K-r8K5cID*I2lL8 z_MakJFDR=v?7-%~4U}kM5$6dmW2XkFOubHp6gFcps;-6u+b5JJ(=<}8Dc{3>L9{gn zdL%+r1NZ@M92Bx$>@4&}D0U5aBE_rS4kiY!r8gOSK$!+`Do;(JY=NBwJ<)&vs!t*B z0bD{dw{+gMAQSj&4O8FDE1|jt1x_D)m6BUBqJJ@4ik7RZC}=YdnFxEaKT}a_D-e~_ zjBvBHMi;oX9G5aUn7bk?bBwDNC-G*D^nkytsVWuiQ}}5VI(UDlOP}a03I#n%Ip`?U zz%6BVRieXHlS^53pG6QZZ4gi2@mBa_0IDN&356l(O*3yVt6)gH($1VbCNHt1T#-7b zjh3GfZR~l?{#DjSi`)HUK|O8P`Hv$a*B;RnRT^u}ouaVY?VVVZY1chC=?LapxF5;q z(`^gB4=0r@Eq;Wp7tY7aFZ{PzJkN>`lL>F!&xRK~m??V}ON%3?ftK`f-&^hd7wG5m zogp$lPRT3z+DDhWrF-Na+*j$4LJ*D|rt14%?wM?8$jV;&yzc(!RzwD1Q(M}{fnD%0 zS-RaQg3rD!(ENeU>E=MXh5xlW`D^uocP18*rfe;2uvOA|az)(+3pO=+aqX%=RM+1%1u6kHD$P z$U<%cHoaj;I+Q8mgx!F;;TA!Ld~@~{(_UYdA6|VrTi(b78MMZb(|62-cqD^4Jbt9q zgLl7PW>jE~n)@=*nU|SL<(tY>Es@bnr!rNQF%wOKAj=GlV!-AjPC06>Subj$D?P;E zOoKjPPta98hMyIXR%$;d6k_kb-k6ZGZsmkMq%Vje9VL9S|IszW`R#I@)f=t^JJ~@v zo_NO~PAaM(n^7pHF~B_jf`w@bdeV}#19FlW1FLYa6Z#R#JC{G%x5fNJ6SN@gk2_BZ zi>DiltFv=hMlYj{2wc}J<8gkd1^V+*&Ud1@Z_Q#|2i-@P#DTCU4_ zp>i7Lb`o%xRFjK&_zC#lgU|@Lcx4yZK$L(5`s)ni_Fa!DnGfU-^XE#_zmWJ;=(pys zcX~X3yQN)PG1cU|i5;1UL>an_Gbxp{CND}R+|Y?RWdb>&Y>CeM$UH5uB$QpjxS+|B zYjl`9hBTe|<96**$0xwgSa{vo`j~YX(Fh9u#d;8oH0H;QmousTHpzs(G^WCNBiuHi zvMt~U^mCh|Rz4`n@!($9?*TzJU*Tdvh`_}r)<;fgKu6Xzw zMnP2M1l&&bvWb$aqG#ov*`<_1waK;507LgH%jKSd*ak%5S0(u}24$WQ0%qaZwpyb> z*GD!;Tt?);CwF6fP~2%N8ap0>yavW~dK9%C(MO>Wk1dQR~A@>rRW(LXd@B< zQhw}a@83s;sEmZ;D}RPmiE&I%YsT~g1Du`n8@JjX=c8O`+I6=*i@OavCMg`;2UTau zz1&}7mAT>$w6L?`?U8FHv{vMaFT)`(Dqu^GFgd0pw1SEYk5o!YGrHPOe$aF`h>HGjPLZMQD(({L%=@?y!RyI^NxK8MaSEi5?u}2*9(6QrJd88)rFZhXY&2}hLYlJZVA=-z{l|EK`Q8yi$B>`h4OegR(m{;oHXZTd)??> zn7JUDMEZwM)8F8lN?I%Ka!<>tKs(@Qkh<{~l3r{@h2lqFKWZ3ru=^9EeaxO56=6=h z+IP&^NO~;@qvk-QeKjb>%GZUH%`_ZR+5fqBM-SD#&P|+UrxLO zIT#tGC*q6%{F6F}NjAZoZii}V#w1>-V2J!v{aM-Lz9?gi_Hp9RF6f7{k1M`ZOj8LR zG}G(^@ll2jW*%cI#0`UTbR)NX4kN*w>S;Z+!5_;BbCR-(n~=I?d|WIhYHIXrn_$Tz zL3aAXgS2$H{p3EIiWus?4}9GHyH5SdTipf&V}l0=2TkMAmN}%pmx`}Noar-G@djPB zuD^Yo=|uN=du%^~m)Z2_m<;U91;j6KW$sB|^()np#<$1bwJAwNDjnA6kEALhQYDrn z#`9wRpf1J0Pp|JDZPOCx6qk6s0DHg>dj}itArN*9DGx)bYC*giz{)&^e(87xbA?Gi zpPq@~$xn#&fRF8!5y{i0u;(iOsm3m*z{YCk;X7Wti_K6NPw2xQZeW28)f34e6w%Ut z8NG^jMP;%<7Ag&7$}>?@?=$TJwyF73#thSSD0!~9bhM%$|~n-=T`yW28{UB;6M zzOtmDucG$RaonrY2u-f(Vr1h4t2Yg*^qU`o`Q_`e?R%M4*}=ZhoG70N@!cvIhGmBi zBfB$xWJDaRE$J%vFwh|wyZ*4lOP26mo>ay~%J`(*k`%A{j{5*r(t%pmG`JX%NYU^F zt<2-0J~D0C+&7cgoETz-k?HL^{z^E*2SrdaKDMg!V_i$Saj;rXz`@8>0qM5@zA*%9 zV{n}APc^#1Bxh2MB-d#lNV}K!CJ&C}u-8qtY#m@9R)8Z;+r`JeQldSEP`{BLSk>7g z@m@5CO_N-!N$Y!|#4HeNlX0m4$Gp~Jy~OYPa|5=KKs9LQeEZCupOSH-HX-nG-#TEx zynya%QT~cQ; z;xrC6mpQPX*eU7ShFx>?pAee`iW)1rD558r(l3VoFwvO_126BfQ%|gjKI4B2Dqz#; zu|r$G5#q>PhMH|?t_(M=U8MphhPHo_o%8X-Z82GR-u|a7lbZY@vhWJX%wg)bg+ny5 z@T3UB5m1Vr@HR1d&7@ua-6~z-DDu%crMJ2dd47D8i>Qx$Y?eZ(0a~k)RxKmx!=c9~ zGSCewVYv&?qbs@=`13WmnfWYN+t^J{;3ihmfL5luFi75$wet;DZ|i2|d*H>LB%G$f zf=TysIGe~Qtd^+WCIGXG)E9M^<-U@^@E=aa`nQj|HrU|2eJOB|9pmnQ!2grqhq4hL zi1IFQN`n9ZU;{t^{^9risg?Zd{ryWf0en|F-|zmPeRL#F{8ah^uf#e68eMjY`S?p@ zXdy~fA&^v;R*2DRaaJ_&ZDNEMSWuPw33giyF2;{??(FZ3IPU#;Oie%y#i3v-?US0K ze3!nSoZ_nCn^CT?M*xAr)KJjSCQmJkhfC)zcNEp7s%&I;T13#PI5O`2sD z19Emk^774z>CRxx)~Cgt^BK)bm8Rc!U?{P|H`&x*^&=9GrdSFj$;lu2kzxGR63tlc1ZWg8gA`>B}#f?9o&9@+g1F4wL+88HU2gSoE=8G(k-|mNhV%3SIOcdO^ zWM2M$74@Agf3V8Y)X2(+_K%eQ4@E&;(gs-+yIb|t1>*weB@`zf0(>AEmKr3#U(OEu zD%u5n>axOk5VDJajZnEvf)Y-+%>5+KJOV_4GRZqFSV5lR2K6atrLof>rYBZOm|7(< zYv}6D`#jR?etjY}515enK)kO!lg1;ImYlm2=V}VjU50!yidNHwICl5Nk3LUB*Il?2t<6wmnb&9GaeNk8l z5;pJ}H0@@tUx342aj*ibaGZ#70m+S0puLS|8Kr+3A3lTQF&u2Z< z-;N5Zb=IGIqf&%lu6WnIp3aV}b18swyuM$@48iAYynXxb@_>C!?dKuvnldPqKemr> zaf1Ql0D;eaV~nx^F-JI{f+UftE4|0ptZbM^8$&l%V6c6MyaO*R zFCT7ufUL=vGqauqT_%IZTwRzJCSjUd6DFdCI}%>APJ{8r3SM#e!0yxPbf}v7B?AOI zoVWnWtcNFGXuvtg=VTq1655u1ub?W$`TqHnc$y3K6{e4Ed8xjcZat)~~zb!lOoKVeO@&#--GRYf4e2&BB3)gQLOHzciRt?P-#I~)Y zTVEop?R|Y(?UE3b{A}iboRw#r1hV7I9j%6k+}FW0S8kBrQD(;omBpE0YajLD(?NYT zZVTrb=Sp4k_QgS2+KNag1nXM1h9=0jjjPEu*VJ<)G6?W*UJl+{nQylfZt~nYo|4(l zdJZ6Xcnz=_t~;gevY2bCL?SfebKM_P(H(VXq+n+DV{=64#s}0}V{M?NAt?cHp1Pq+_~PgMlr=QvK(YJ zRDy*&VXnXg-1zzERJrawXHEwPog`7_1F=@V0W@O^rmQ1fy}x_HO5~-DSvdK3WQNbF zgKvzAj)%Q~E+3}_@uC5Nh_VV`W1vy(js?twUZZ^j0^&g33CN%;k@TM;EGsG5Q|~Jy zL&(Y4YD>7W2>J8oO2rWB%I!II`YPgG209q*Mci`IN+{>fSBSs^ot*Bf%%8bYqT0nT zAp$aB)48XzW}uz&y2?p&sH`@>xzeE~&d^d;On-x}_P^UJy$-HktuUAfD_>0UUMRAa z=6}LtvZnB4;ofrojw^&$dlQDlPnbOlhbxw%&vNQFxuQ=ZT|Y|vqBvAy20>zPlBq=% zjqG^8-@>$at{UOtVRA$?wlu(H-_pjUlmEF_cyRpCdt|rs1HQ+HOHsk1!rGYiKuI%; zmk%JuE+JstsaU{(7JUjg23OAJ%VyN?W zZC2m)sOIFg!Lr2oBYc9U%y^~h^zhRCe(2fp#2Ecmj-}jwgJt3Fy!6zBx8wWsmNxI? zvpI(8Cm(*Qbnh;8?WxNUJKHm2Ba_JTB^QM$B=X&Z8 zclqkGof8Q5nt1{!| zYS#s2i}*aNr)T#y*>x75qz`@%$O$oTl3_6!cT87t^)_-3wHGQ=C|iV^Vl@}5Mhg%7 zxfAY4HP$lF<<%J6)vw`;JY_8=!uy#Q-P#gW-7$WT;eP5WIbAU!oL^fAM^ijc7anft zr#w#+^jg1L^mgb@t8NVm$l8CC%}5Y=ebVss^xa&Hs5*zkbacEnW`8@WGHbW5C9xZx zLEkTr=ycrcF8umv@+NN4l_&J0-ij4H=GJO~nmoM}ijJin%TM{)f^*-gTPsDjJIO_P z@v;QL(P`mI532V5-k1zrpX;i5!M(E@Ys^WRMHFnos#OF2YHVO)+S+V!C_b@%cevZk zXN`GGuX(Chr>u(LiMytQw%wjxX=9>Eb5_?fBhO+9IiOQBPC`r+(OcJvjBH8(J*P>j z-um)vZRf!}7l!lXHjlFTs$8}&#Jy#U*2n+Hae4lE$n=s?f|K(1>t}1Pd8Z}SQdbS0 z#`dYBxA}@;Tz3`#q98GB2gyNUQ{YKgKQlH(!T=;&VUi#u+ksAw0EiEHPAx2MqxidO zgAX@1%=*Bp2sfJGVTcDHnxb?&?DI-=MvPK@ty6ijQ$r;PnqsCndCI-?6p>J1lDbJS zScKZwfvs-(A)oITAuI!=4ozao(n8b;?JuFI_ zx^f%S6~&G2xaWQ@q6!X08s$4PWlUy^6hqgQo=^P3erQ}ts|!05O&T0G9O)ZZ;&8}a zL_Q3?Yz@i?XIvwrLUGJ4*w`!R6=@jUhrt}a4s0;5c7QyNWDsSn22||i&%>-O25P0- zp@g>j1w;awN@LLVOP%m4(=|t&3423H7=@wK4EHFeC_JA4(Ey= z0(+X8(hyp-*T_IaT6Kw>WS61i7@#fE8ADv8GbqV*z3M?D=Jd`T`XR$DN@5BogmeSL ztNqW|q`5)0hfYy)o3oI6b+Jh8VVRv|+F%a-9p*QCM~}FgTZo*sC1T9{Ip$PbP5u3{ z9a^JWqT71WFvmg7Jw9$Wcjh|jV#}54Lk>0;8%j;{Y9oVC#xF^@naZ2Hfbd|tl_w2` zA|qWDXLB9ZfJ~y8EZ&5xV-WCQMR0QBSp_pLlV;h{fLIIr(_?`oZ8CvdKwL(nT3?>0u4!huGn8?V(*l2c}|MoSp%0pgurcrH1-Q zHJ(!%+ zBPf@EpxBBpXJV)yzd7fb7WAB%A~RK>1T|q^T0;xo0f^|!Uo#e;=GVYI>u%7?opptW2wk<2lc~L#B;09rp}CN@r^rVH!dp8j3cx;4B_Vg#o*x5kpo12CRA*i$1#d&q0dKo*<6eoPo})0;ev z=!V(-%^nj;Q7!uIJ`;(ofjO39F+F$G$y{pM;5eJ}TSH}=(*~F3R5tI>&6;zkHD38b z4CzaGUI60Lv%SVa2&n_qmwP%}Pr)l%p2_##?ylm~Lf?7*)?&HzcQellUdz;>m9tmm zI}-;{%gm0~%)T=0(UZJ;#$7KYPlB<>#O?}mU7Ku{h&jQR@__BLHazPxtCb|dHR)yE zdkocE<@T2_`=~BB)FEh`zMJgOGZQtuZJ&%U4CQKViD|Pb6eiz4&tbMF_O=R$;{?jS zu@{|w(}~@DLI0-_T{pryaLP~J=zYA03_u28;N;+FW2I(gNo(e4Wc7z2fS*qcK$eUD z^QQmfkr~|s)k}vUT0Kf__1uU8AjZrn^}VVIX5E&8=^4q2Ows zJ93r*ldKL~34bajxe9Eu_|+U*BEKNwEY;u71firNc~%ywwOY&3ybGV+Ho}e!QBgu2 zi}*Hhov9L@`MDGx#V!l|LuUELhoB(px57$os_34fzTp5*a8u?VFxQG3UGJIw_Yo`w zhu`q&`xTM*@?!j3dFAYFY#si;3T+s}ZxKj`5Ofvv13b+`D&Jy3SZi52s52SO9oB9g zRf>>gQQ*YK#xk$w!p!wH^{TTJ?#exK)7CkFnfW@EKTu@Fnl1%PJ6l76Z@+^n3%jxh zD>6vX!AI4}dP|%(tC=yI`;?3-m~JXRIEIM!wqpWRT+Nx7Q^i){>o=iUf%8X$Y$K~Q zPXUyC=`SrALsMi?iVDIwcp+{CPFzGp1b97#_LikT*}tG1Hb_ z-c>m@F3tAkP2+twqit0;9Ia|;Z%Wy-x>;R4gfHL?rN?;pMK<0x|6GsFH&w*d@AU}x zkGx^{GXnGfjW-oBfAOZs9f92HGk&&EAcgC7e9;<9?0GVA_>WHhe%fm`n{8M{>zv7O z@F(3=3N>SP2;zy(yjuS;x9(+M2zmKxDr6Ntn69P0|e?%^N7zZU6y4w6Qv_n z7l8fX*h!Lf^ay4l0yD~V18nFDVBC3%1bdj|PQV_;`r+P*TreVg(RUjJ!mXpXjptG( zurb;bb7z##5oI(7S5mLhg9`v0no%vgTO{-1pMBlsz!&^o1# zNo#SjS6jHpf+efTkAz&DBK&bn`lbPwd!mDN+%u+B2G5w}>Nvnz1z?LF-!$p05eKxR z%TXPYSjfzSoihTcB0$m0NA+%Jd5lcZ5tkMbRyU!sbl(BD+4OPc@^F=n=@^9~T^zXGNJ;#~b z`7VG1X957cfBY#(Iykyn8vWr-?q|u`>^ET!UV%R01hO}VL>;{?i)89vXe~voMz`OS zm_+yAkR|t*7OGc2Xfi?A!%U+I!%4#n!<*3v!*lPi5og?MBo>xnj#QV-NY1Q@`-3hv ziCoDN=RD+zNf32D|0t)k)t+U$QFoj^>72V@W3o>>5?un%LRTG%apshXj~^xij5y{$ ziYCc=*n0jxwb{8LJKOF{0tYTM;(d(kcxcwPytN{}&JHX76;5M1)Q8Q$PE6s4iDxHr z{G)NJ>wcXrzk<&xxVL-r+?DeXPEc5e+_L3i`!`636oM!P%x>g4Uu5;f@mJyaIqQsR zYxQ$#{li(}og}z`NOUCLPkQcx08n16#*i7GudYW+ki=2oubd8S^lHE&ZGCwFBDJ2N zhL)8had6f5A914@we38sztB@k0mjN<>nElVwL%L=3AntiIQ8o@z_Nu|>|Yx@6RW*U zNm6wLewx(U2XeGZ%)W)MTZG4Vt!=UveGIz%5a+uyoD8g}*!o<+&K&+aW_lXXNz z%=OXwfn0ocC`=ZPW6SGxrFqMfrfC9CRQzt!8i@5Oln9i#?J%dCxQ9PPBt}~^d8PU& zCVFz9sPxK?Aq-E82hESOtYl?M02HmfyRP$cA$ctzMe0nCe1^zb1c!vcKRe- z@Ft2jTdSWZqLmh&!^6XT?<4Fh^46`X(lUMeGw!RYOaVIN-Qt>$16Ai|mKICQn=SB! zS|xn3j^b*~HUyc291-IE5FT_uzh#e;YIvGHpNu~DvWc?Yqr}k5(UT3);oSm+SBd_w z+R6uha_c?7b|LWnINS&>FMR7Gz;-Tpp&5GTcCW())eOMIpw-6F0Q1t=CqU5HX?JLB z3}e)`hAJA{!&FUQ;?ynti0bEoL`n20Wkxl%(9q(&a!2mnt4Js{9GKNt)5}Lz7d55P znh(wE+L%=n4k}yID{LkfT5?fYKkTwiwM^tUG>#cZenylmO_)`^FeBcjVt1+QLq1}| z%9w}5OS;oItypc_r-}2iS>*kIi6<3Ovwvth^~X}^ew$Q6bDqQ!l;>M=(7(F zA`gJ6Pn$et+$3n&h?5kWgJ?y)ia~@^6_3oEGn?UNmV?nAOf%sMR^M14`>xft=-B;) zM*d3OYPiXWC1v)<_Da_aSeHTY3H=u5y7cyj+X?%0l}{~hr`qwlX|OhH9x;U%jFwiu z2D~yAE4f$}1OZb6+bY9m1$de%bzVJ-757bTTa@b5*#e))jJ~XY;M}+#+3+9qjCY<( zcO3Wk-B6gqyFm^67P#h~xEh77)*&;_mUJf)$>|C#v`w zqOD$W5+eF3q%e4n*WqS+xTFr9xps1*T9XiG#JO{p#Kcd8+VQq=upCsb5f2f~9dEUC zSn(b3;^z^{gc?O{bwHFOLE(sV(w%jLC?^r6|li`c+TF|Co-C8QM9<5Z_Jdfn;*7^?A8|hX9I^;H@jr%R8 z$AXU0NmwqbeWg-S`)awgq(3T_9R$iT@~nLBvDhC=ry(JhN{vZ8o(zU$tn7R5vWKF3 zVKYMhWpyhhp@#|<5Q8E;-e(2Q6mH2A`qPrvNya`vqteJA2* zRAK6=Q>THZ%qNDx5Ui|ZhgAhwD#jZjry`0@--65GuR3J1(F( z@6IlsJn(D`*QuClX{Tq%2~Fu`!K*2|8+=W#VLbglMn_BbLfGp%&4u9!s>ijC-GNJx zNGJ+Rv_n6XL9|q`rLbS9N6d9--6wW!6n>*Ey^oBvr9{$ONaLg8z$*P!`n1jzRnu*` zP3V)b%IEDung|IMJKXlF7ASxPvqMZTPsZEhJ$jm1MLOqMMXYCum=eZiho@O|6HBQO zRff+$YN9quMVXpPac7pR-Gzwu%=_fw78S8H)MHG~&A5TAte5?E$6@#E4ufw<4uesU z9h%w9P7$M~vfV*eOA!26%p;J?as3!5AXphF3Ui~N5KRjN-mlnp_%l*O4q>7WW?-Ny zNJT=C|M~s91%=R`w_(8rHSUOr1fev@698E$h4Ot+uHtT@`@dKTfQ**luMd~R`u{hO z{}3{M6x5!bNYD+*I~;O>0Ms8@``3eh<_F>5v$*YsCsxqwnklc>5hhPC(ElsspC&(_ z5DC>A^;hoYQ*urvvM#M}wQt9Srt%X-!f+RCyjLVpPu*^wCxqv7*(qp~vKL;GUjzrO zGe>RqVD~)>F#B`BcoMeU=QOow?CV7_^=PELZI#}HQwTc`9D?Unf%Xsh0q|I&KrATw z+7f9+{KYqGXyzi~bm!SC&b%Vxwwc%}&Ky6}-g+=ToO7Mow*+h;9G9D{b)g8vllw@zQqXNvM!GR78%a%(?mMibz3?4M4NY9>D z;^xjPjdTZ+kfjErt-uXZQHxc&Y;2Xk1F4vg)g@;Bk}3%+Kd2y>m^NQy&@TZC zsa86{X~NwjX6{R$f|VcnIhc&Gbf*-Cl9^cdbMU(nwe0Yx$kurTBPwR0G;vsP7qwCX z!2h~RR0=q#X&%aujFmrL2v%>{FdyrigoRY2Am|@A4`4vUEQI;~G$(~I<;3`TvLNW4 z7JfAX1Q!7skX?==f!rR;QUohD4GIJp6G^#pO^0>MQnLSTF<3Rq;#b#8+<{cg*Db{< znXQ|Y{yQm5!TNdmk7TvOVG%j9aBw2o{PVw(ZwhdaG|TReJK#M@70t*6FGVIhzWI)iJ^8%(1l7} zh)3$mC>y^%j5e!`&|2d<3h?URgt^iu`5xIMQ+PirSs~|)v8pMHw26OO_B{6RR*Bws z(r)XL=-9uDBNH;yxM5Z;cllJQEEGa+d0YOyf5^qefd{lY|s|I$WHq5tO97 zI-=bPlJ>kiV>=s|Aza*mZ*m*X+tedycU*xW(ZvRTangoi3n|NJ)H-C6S=&3JOtzt{92JOY;r2sIv(TNVQvF65eEaT} z*TR5g-eS7W_g&Pkm6}bZuUeJ+=GMBzZameiNFzq~)_Nh)sI5%;s*Ti9%eU&~@)YN0 ziu_^5iBKMENl@RSL|`6FXB&TeMvEi8v<-T?L1Zo>{K0vc)2CQ0x=<8%b@<&4(3Q= z+0T37bl^aA<;63h?Ux%Bb07>vty`>_dOr1JIIJC4($$%7VcxQxz-!WJL}}nb3xtj> zA$vQ9Ra*y6>8vU=p}AHlI>2$gn%x=B+-#X))-AnVDAn1}XqL5*s;zSrE>Q-T=pkSA z`8LNb79-V|d)WVD2klwZe7LM0URq_jmNWQrAw3@XoBiD(7dnm2a;|`J40GUR5sK>Zetu9mpaAmT z$na{tthYU&YnM`^kZ`82jdM^XYIVwiHX&Fsa-JDb%219X z&C?J?O@WLMY!*bjo#eVL#!gputo;gyvoJ8Kx711F%xudTUU|08DtaWyQ=pq;5+*9U z8suY&mL0{TIPGuzkhwO z`EfmxLEF_EF7l0N;q+r6xCW#3I@q~C_)ryAi<6k-gV0PTn`bC!m`*rDo4QI- zgS1wV=Zo7%Mu{N1JUbggY9y==x}`+Bryn^u8SfH7Ei~3&OE||MDCkrZxgwHZFE)D4 zw23xE>o17ZeWAL|eY=}(u{9#0bwS|x5LPNT;uj*7~BpkLS)MwJyxIO zX75hH|4B8enL$N>dap;icSQ>6Uv+8xz5-fFPv6q$r}Q=+FKxZ{t|C2vx`X>Yt0h{N zmm#v7u3{XMM38U;NGqbr|A4?=4WF7ex|;d$jpc%yBcFK4SCM$MjL=XqhB3!D`|#^2 zf4M0wwwMJ}ycAhj;EprVL=(Qwl`1-W*cZlny-_Ur*Z=_gM$hNNI`zaw*HF5xF9Nsz zN}Ed&Y+%}u6T12qde=1#GK?`X)*mbmyDm|kE3 zZ4^NAE`YF#25Na7FkkDg8Mrp$t(LE+lQQV-oCnI+m=V&cFeU++A6G+w96V2>fRMH` za+El740Z``#|&HJ)20W{4|4KrNRTZ0%mGsdy>2TfIaSWT#YnoA-%b>(!L{6zj-U@@?*@O5VR{9=G z`iJCAYhYvl2XWrl;Ql9;^u6jl&$|pwUJq?!-1Myo{zi(&^ z%^GHr_5eYv5!ofi4$TfAwwhB>q8hrIC}w4h4uMYcaG+B`y)sDU49lVD6Wp&6iuem|FwGs2ATX7cO{nMXsO z@_nX6n-QdFrADm-ZN+({vNEW0b>rf9a&N4y&E|q91=jXm-&wWm&=0y*bSIzX6eQ22 z6bD>o&6-jf&j#;$Ns;;&7__{+Ja}!c%BNy5-jp-IfE`vcDPf-r?;PQ8jGvhC0#%En z7a6UShBoh{Sp>|)j$37)cyJ7vB8P>Ah8>VEa(%#+G9ccN1ZR;vFfT++b_ndC#n$>m zcu8MD|LL8kbP4>`|Bwtr40{D+wDyadQp=#kl@L+B*B;1z0BEH*Wh zXJ!@OL-s(J`=Qwa0wrAZKh6%D5DxC zua2^4K2Ur;dnuz*5GkH<7hU@*R@#xwJGo8F-@0#vf4fx11jPb9RE%Vfv&Y z7RkmvHNFp(94FY=-(2gpVBGVMi~0(li+2hq#Kd>gh1i;4e|Ut{r&?C;XVE{FxhDbf z2ugOw)?qP4_Io7MJ$m-NBvUrQu3JIIp4XXEEP1`Kjh@?du}}Usuy2hgR~xg?mTr>m zq&r1r21oxr72%yL`Z&49r5e3dk<|ikXOFRpApQ7Eja%l6vAS^Y$wIz_@Zah& ze44jK#kI~@%Q#)Zq|}V<4G=Tc>2rW+>R+y}mkW^9uP|W1Dh@`_aOpM1{)pVESC7P@ zD=`dKzXDzm`?|N?tV*-fP0V^;m&J>#@}aZnsYjKr4Briw_o?FSInprnG92zRv6Z}? z>N-(8vVg|wMMTI3Dabv86v1>rcrkAmmvHhFRYQH|qkM}PZC>Vi27FZ>aRHfh!ebxt z)JRe9Qblh!W&hWw*290Kjw3I-d+&SIkiAm}_nkU_&AI=%!sEYZ-v6__<6jhd|BRff z4ez6a0o#7v-s~~8$y}EkMJ$#icjT0SYr_&1mogYrGdJ7nIxM1eJSGc!dzNqS3=-C& zuP-*uEj5?Jz=7qF0rP%-H3tqK80?`znfZc)*|c#a>d`+S0eN$dT%Iq)LKjhJQ@JvM zL8Y2VmpmrMu10QBC4#}O@MwIv~R1dG#s+c;%?4o;~%$n&`c&J{J*i_kE!GTu;6bj=m~!h zG6CCu_P;_nv{vK}rIPNX@@I{safLl;fL${bFh=q62q;G7a?Qm2ab=ReK|OvNp2jT< zTwVqiG$VhtXS&_IM%$dLW_f-gg$TPIr?*7Ym5w~AA`wcOqlWsi&QF}!%VNU1SGP4k zuvQanv_}H-wj{yH$62Ve>MUyV4c1gg%IO$(U$7f!VFTG)e~!*Igm<3?u%M%K`m$GG z2m8>VXtsnSLlgyAn~qEMtSmKmP2}Bm=6Ns0pEKZqK-BL(@IUWm^-EFzIQ@s6t>h&C z4)FIab$$hCdnev68|?gU`1|G}f0>@VdzSyU)yVJWe_x~am+|}NKJOm>|7peA??}I| zOZp3o^*w0mA6F^;4w3d-Wcptat~mdSEBHlf_}%>PVNib=0{}>n0{l}@)b9X)k1P5W zfP?IJfWM-QenhTu<@d0Rzi@^r|5cg) z9i;Jl7JgTH{xYuP{4e9*bf4c5e%CktLioY;UkHCwJASwSyO;ZyH2?tHyEyf4KJV}5 ze|JTGHJ|1G#r(ep%PapQFUz0scNZ_!Xc_T%>GLEqm3KNTh3gJ?99ZrZBOiznf*S`>^<-PzH|OKeO=Xe zUw7AU)k0UTURAYPP7)Xd65!_%BD2N!^Y=do#QTMjt)ZNQt(_yS+bS@Ha`+jQ_j=VDKI`721Aeg%c;n9jWp8vKP|9zw~C z))mrL!z`h%Pg!zit@G`p8K%A-+w?2mk%B*>dCV-6&Eu|^_&-|}kNTwXG{P-%Ned(v zB?K@xNx`8{ab9ji&aH7=%NvS)(C=Y5HFSdd?tf&TNI<$ATUY0k7+0{)*t%>Ubf?lD zWkyKJUWMT!#DwFL#tAt6(f$(m4Q)xCc^8WIv|C;ekUH8X7UA1AvgrUPmZ)Aa4U>!0 z6n5ZILtIw}am6lf0GS^S)Plx3s5~-CwIPHwZM#yOj@*nhzv?)qkELMa;YkgCdWt8l zwrnVbyTZg0S%^vu8-^($7BRS$8FEd6AfMj;ccC|=Y;DW);_i-T-wd?FuN=2nq$r^2 zqhwR;`$52z`(Twu1?%`@fiuqf(Gdi-T4aj|J2X3h zNLmmfboajfVQ(?psD9498su0>UqR@jKM-Ah?9hm!6DLkcF_~R9*5FkSUpULg1Q{of zgwUXn{^k-Yv07CZD9Ruk$q+Ji8!g6n87e+UG-X)Du(}?Lv+}7i`@wG?bAY2EF!W%u zCC}Ku_~|bq$VVjR3nt65*a9f%4e$qC!cK>7*;av_6a{HRb?Gj7BoI;MEq1M6mEizgxUm-p#<<1t5NmL11)8me#k&T zR?q=)syp#}Bs2yA9K>4d(ko_@Aqop;f(FKJ+ipj7LxbXx?O^j&!V$PBTq8S#-vZjmQ&_Pb9N(R%u&M^QstuhkgKI83wS-v&DX z{%Mx!^hy8McXRl@n+EA0W^s0OvbFxzdtyf|0_o6&?}9o62Y5(|*p$Oyl}%Z+>n9FR zh`*1`jQrMoVRCUS zr4^LB(4D}E;IB_x`gah1?OciKUEx^ z+^viqe`<48d)#rk38lle=nYu3_;#b=rZ@Ri-I&y6i$sxB+S2q+N;i)8)a-j4wIT!hpQ{#Z~1&D zED=oKiLgs6pE9s8pXdvs*r_Z!R70+-nmQ{uVpEubpmwLnpF zSrMJEf69M&Y9pgN$J=VvLJA&rdDf%E>6pVNbd%8Yv10uevpng zd1V4hX*rGYi0R5PF~0~LeNk50c{aSINWj}AeRhl^5k6bZesqTqPFQnB4}j`0YFwk8 zS_sLvl|_q5XnVri+yA!Bbxqpt`*y?n_PB5Ru*$ziWArxJ{}fvFntbzVI7-7G&QDZ3 zEDzvYVR=F7HJB(}^o9=0+XHCJTR|~Rn+)n^r1w|7!Q;$Py@5fjDm82#C{xDoA$e`L zj}PTkQjF+C32TF4ZEk5`whJd^0D3wU=SgHa+}>!_#IB~FUJ85q98_TVDh4PjB)&tr z!{E{q`9SY>?li=BOnh9<*SldRgW7ZKzI@C8n6>B-PYVDibG!#Ij>gR$=>;ddIshEP z=H*N4hm+eAH%+^#ArdJ?=hSB~JZIvu{(5+;UMJlsn{M6WJ!Un1s%Vm7lS9Ak^c1*Q zl;Kzxl{HN;6uD6^765~8t+DW6rLnO1UYg%a+Iw+-FY51w{k>pR#7NM8b|2TbBMF*z z%PuyLD*(NMyd4{zlI?;GkVez&H5#mivHU_Fz-qkBaAZMZdL(l#vLK&P91_Cig0Kt1 z6HJ~(d>~@c4J=HX<#}~slGF`ZK#4nvQMW@KfzNUCya;U-_8o&#Pk#$U>rwLi9#w!c ziX%f6J51##GO5&*imlR*(~@t&M*Z;^uy7jINex#U6j{BxC{VamAHSwFU5^mPc{FElkfl$im4}UXX0}5Oa;i1R^3S;h5(E$Tqci7%RUZxzzV~ zm!-a#g?j6U)<`%*??(F%#y66y6sQKL> zZewx#<*DS2rb6m&XUS!o{n>^)P!L=%4R5eC*iomI3#9V(&v#~9t>v@zb}lcJyc%I- zvxDc^e1t=Txem<{bO8@h@Zqj#n+Kw_?o{It_BiJ#Ez4~Ri_PrT#-uGnHCfb-qSqe~ zqtAMNoY)L9eBfVad-yJlDSSwskyeQlGNjj)g4dF#U{oq{uB|V{I63Xsd~rqRdIWRR z)#JHIn+2^a9Bb;je{zVsv;T3NE9a0%hNi;z8YAO%p|p1Vi>{VO3;~$znSnonzH&(D ze%@yrh;paBA{R5zY0uQIAtGl@{`^zf#Z{)8&Bch}d^Bp^ZVBid9^^*s7bXB?_GLrN!#6J!7iV)-g22zP_74l8%G6N8dI7Ji{lHs=$Gj z?;Zccfs;aqwLEH8gL+&AEu9e$HMLq&B!kQn*-)| zDJnPG-VEVQZE9$DILn8kl?1XJOHtR)l|dOQ$N6?Vj0jM8mDZ=TWMIq9DvkviH{Jm&qH5;Fq?pAEV{OkDDDB|X~z9{ftm5$rg>#i0{43nf|h{QB*-*A&G5Pak<@A@NlxrnNIfhF zbqXmhC5{&A@UUnJxkh37xGAMM>l!U07tM;O1{clTC}G$4)9lZavD^FU#!WJJG|*iW zK7k_f2MLOYCRGAUq8hrS6{)jf0#_m*o4E~mz57XdOEe}(s+mOuE6O(^InB0GG7=Z3 zE$MIhp{yvw>TRWbV_VXo4yd*iv2|{Wewp7gKJ1XJDg7kMF%NG`kt~iSQPJ{#N9ubtr9c|KWrQ0Th?1@;QH8rH*1Y2(cc|8s@J%m^fY{&L98hly zHohnna&M;_s$4162J9j zQGV*eWEd+-1mQcIf8*@G!V|`3xGD0Jy{m=6T(Gp%`JMT+ojj0tHW3E2+nApQ&fYae zM&iG;B`r)}^BKvO0#&%JRP9gI{S;jYpY^iHU#>4B+;}QjLGk!qbcR7e2qiRI5Pzhe zBT@fL$GVG5u7wz-t_b>sHHG%g;YPAg=7M)xhWwR`MwkZqUeQN5=9O1O~9+40SI zPUK7HTnovPmMcE1$bji-H;lz4ck`w~yQzp?qS5S2!znkMi?;eP+ZlKB8`_*9#+fGL zSTwJge5wno%pf36-zo}V+ckaWtGoT@2^OpH7Ssp3t(3M~pBmTKc(hV{QtsrF_KvNT zBDu4IeN#`>7fx`xy$e5xk^S1cc(r=+u$vDO3h^!k$8&?8nW+!HPu398YNI?~L=QK{`G2R) zJ*-vx*!sH9;WFPLuU)yYtLsuX+*!JiWpG-&pN|6Q+b=xp;O69H=Wp;S+V3++NiVm; ztZ@fO$XvEI*}B{waPz#^sOAM`(sf?4(_t!B!q~cz^3BPx$CvZ%UK@A1^-qEf!mbV8 zz}(LJ-iA*0E4-dP;7%#Fp$PJa!N{k~vT~2%V{oU=n6F!*gI_jj>sFa$V?TR~asg&N zKAl6%O!}1IoHCG$Y`NisuSMHMp0z|^hp+|resS;SxGjyuGsj4wG{@X_I9o^fKI!fn zaM`fvLx-so>W!=&{v}Xn?A9>zw3I8RfonL-|9c%YkV~Mc)8gvJB3*K)@LWto#c(5r zdBrevi*zmKuia!KDTpjjv09hJ!_N$``h`4-Gla4 z`iXgv)g+@2-Q}U$BI1?^tr`vSgf46gm1&^zlr9*~(_Z`{V4Pb}7Vb}P%+Ke;jQ*fT z!$3ZX(1A!TM(UhwbXi5J?aX19Wp!93vtLba)HlePf|tIck)K{!o;X|WzibejTFKEz z2^~SaIv%d`w|o*cNcG4JIiKO@yVzxq$Vc<}-mex%vq^H#4(W9%y~5?W9|81{WnZ|f z@dbD!hP5N7NI34h#}o8A>l`WohgwzS{eULG+w}FN24sWO#my6SyIJSSDmBK<&KRFa zq6;ilGwxuB)U2{ZX|1SpA@Y3gH>N_XeU@WzF53wcZvn}3GliP2&C7j`4cdEvBAExu zID-Ki#e4TC`8T;>tp?8t%KMVWuwdLi6yLeZ33EA)Fb~hHQqR3MC zR^n4>e-X>In(c$j^vr+pL|r>S_Fx_@d`vR+1waLslOt=`{P2#{yOf1lWzOaR4{n!G z*|lGfEB>>pE4b0F@pE~rp;JjV*TESZc9xoj2h)+J1qW^!NGI&B8(r-TGKUmcdJDrN zIJlvt@)I~IX>!Z$6Di$d7(@f&S7!?_IqhNU-pc`%)yYYH#mBO^fKS@nMP6STyM$9b zl6!F^Ul|l`kVJog$CW`Ho$a0D4{}z|+N!DWKqg3+B&syD@&uJy-t>FyGPXh1cuf`K z9*ZwFN_lmCm20%3?$2{tslF17Xp?&FPj9vXOAUoG)k6eD z9b26gb4yqgW8vQS+i2_0hj(jToFTgkjmPENoffk6%9s^gWa9GmxJ}6t0WAu?YAfvl z8+keOnmNQ3mE5~h)g($1Hq`NT^aQ7wNkm2mBB7a59R85qrCQ=%=O1clEm=-2+>qy` zAO^qSHap*lFm{hc0So%faZsGa1>SOK#@ii;_+w{q9-dpePlCJe)YObOqTSWD#;mkx zQVYAvpTlIoth)Gc0^)P}p3FT^bpPN!_L?UJx+`Hg{nmQ&VAz$p77Re=Ty(r_2+L_Pa}Q%O;n{DPgJe%>^PsUVjNCQR9kD#RBl?%)0Y=R-s9QL zS>CtHmuav0$dA&?+Hs*atm{;^rZL-1S?en&$uXlvYu@v=8PTD4FV&@@kFIV_i!;5; zFSj0xwqI`+XqKEgeVPy=(-y_0d^wllR-cKsJf>+veCF3Ucg z*%doiY}0MHD%=>EET{6$U1CmMT$8^(_!ds0;*ATed0Qf#vm9Twk&bmRU)8S``>1(u z-E$sELoes)vb5r`o7M5yxGFZTlG1Cn!(R{1tjCqwMq92+<%ed~_0HGrwcbGaY@B{Z z(`}5%!;Q8f0g%$LO1{d$Yw;;Tvjmz&Qms=BEQ#^%Z1zaE&CnN@A!K7Gs7e@y*^to%u15nfu}2_l@)uj%-6RY2oyi#1Tt&PNU)R8r|hVE zKEI83vt@JAxW8M$M%`rLy6pV2S?puRd%LPuH7&;*H|dMLq+HbWXt%e~pOv}yR*do8 z<$>4K^~LtdhW!kV?xhfeBmOz5YuAu_MsjIm^{WmddpxROC(pQsG)V-qHL%}iNe}%k zNgZzJ!%K3{(^*YBp0BM)czeJ%xPs1Lk0;S9pXYKMJh*VKgx3}3=CvsO`8jQ7rkmyU zyJHjA+;dmy!K!1p7oTT?*YVYGXe^h`Gu8+bd}Ub{ZpNUSd&%X~$Hu35>v=EY>yqnL z`rV1W77xKL_UP=XfefG7k`-Y4YChun%GLCU$ zDLc&(zilz^B6w<4&-&}WJ9c4vR083e+!`iQLfY7VMq8u;B@OowauUgrgw$D5G2cRG zgQO8TjlGf0EE9RQWR=K>39wB2_>j3xsW3>3E)+%V_tV`GknqBX%H9U?LVrv)l}kkc zUvr!@tK1#uPZz4lpLSEUOAzdFDM?!W71u6WXWLfTd}I+T#xZfqKXwD_?NLFIsWc z`Xy@AK_L%=UIW#H2D+aJ`5&{{KYS%MWaf7i3f9j^6 zikOA~AI3p{PA^MBtJi95f<1!VqE?!_4~?|g`+`0Q9fHoR@&IJmt@as1r{7!~v9{q- zfTBrpyRg=-m_&~516id3m)i7 zWCqHJn2JO>{#GT^oB-{FzQ`<8ZN_YTG?)}Urf6~lgX96|v5|8Hd*>JY$~unTfm$7s z6Lze??yp~y;Mwk$$UsAyzQ$1yoCJx<`%|Z<_LAmGOF*WUTbW#X#XZ(~IQUOMS#KQZ z!KVs@DRnz%7Ci!ZL`!J{U4L~HKp)u_nxZ?(O8DZxIK@t(tdHuLt*N!jL0j0*#jjlw zr^VFGH{NXYaV(5xS*u$u7g1%4aREvLeCrb;A|?D~wto%Zo0~LI>Ux{XkYI$uA>jpe zzh))Vi0v9g*tm#nwxb%b>5m}iHUm_`K2byaq`l9Tb|6prP|-nMm1OXr`N_;_A4Tn00E6dZ}?)DgqlUyw9l7F(S3r*jl!&U9A0KNq9`6hd5%s_+;f75 zw0ci~XlQ~~YdpfS{X!%%%Q2!HHYmY&O+r%+BAX_Z;u__CKo8h25HBU_W~1n*0F+!* zDi>HHA)2C3s0JLc3NBaE}e#ArkhPDNj(P3L+D%sFKBWk}V=MLC{NVk0wtea>EE zbDQa0XfAmv$r0C0qFSjE2-%Lt7GL;IkZCZ^6yd*ZKgl9+Y`3cC1*3d%g~TClav%#H z1b7ilgi6BEF8dt3SjZ+k3J}=0JeUI|p-L#W8EL{K@Y1rVo&;-`fM6kD)9x@nnM-b}M2!)CcU3}Rru1Ftz|y}7ucx??i@^!Zxuu}ZeK z=x*8MJ`UHSv41xEfc)|vz)dHb(m8(KW&7C05qJF*&DHcvbaoW)$I0^Z&UKiCt_;&F zu2Ip)27boHedm{FuE)zuj#rNMGv;E`q2Sohs5404;rCDd{N=Hgpj~7Usxw$-)4r*&zYXC>806xrYffUuTr^U z2KVVb(s;)d#|R>Jr$eWOuJvW+!`F{ zP4444wLSh?clh_E38??9J2;scTO0qeKry4cJ)8>$0FZ)?Htp`od#`t&b|oBr>7#%GE^GVIVt9zy z$rV9VK#^AUu1v5p>*gqO@;S;w|iTe03rg&m0@#uhE9o6ZA&%2H~RM< zRI*~w=OS7{YTchdpauh-2dsorQ>jo4Lm?E^gcxA^EtG#oxPkDvy`rV_Q`&s*|6GWXfmNwez9wc}BLFktQ!%=sN-^AUBMffKhpL;? zJ+End4C4g>e!38;F89^0I zr9qz|bJZN7S3(3008^~KuwelS1cp9dcyrWezg#uSu5u8xwFLs*F=%sbu}6QBvP17o zJ+sKtHdWb9- zzDz3--oAP^LvC22=$bhN!p_eE;NHgm>ghQB(Wv$x-LwI`69H+XZ8^a11n5=jg{}(e z96o7g)}f*m$~P4_qx7uc_47A7(9>+W(5+EUuYRvdSRZ2pTpJmhvTwsd>>sfXHVgtr zL<+j*?2r@-b7duS-f9u{?k2_~cM8ZyEh;29oc2?co)*tw@^6zG@(T9itXXV{*2qk9 zZ|A?&B60#XA^v^`;n?Gb5Q7puBy?-v7Y^7NsjOyVWJ~x=_~j#t5eI(c=doBZb(Z}y z0ADEa&OpB!iRq4SBykbQ;b+N%ZISG>gsk^AoPF{N!KagKR0h29t#bM3){e?x>svM< z2c`qS(fdVD9K#suJ=6^DS|t{bt38r#M)nBuvqLzg#;s|BuUAd?VYs3jA(;A35O1!6Clz*1Ni+ra=3~$#RbEzKs@|5U&xgPdV{`$geTX3+NRLtNPz@h*AZ1$#&Wi@RyIs05Ej)utA(v$PZS(* zoY$j^A+fT6w+g}^8n(NhFWamRz`!_aTE;dur&nhiMIMBQ6HotmdS?|~Mk20WIl`9z zQvEF#E?QKmGPg4CTZiA*ZKBeWFD#xRDSinrvqCCjqq~y9_D^mpau#s!$Wo0 zRz!hWP&v`3sw7dKF%%%?ae@)9fmcQk%`#MJ*o&oA+YlJpIHT1Ow-RlfBTTZaHiKgw zutpTSxh^VaT((yRwdtvSCB7gJ-}~-`>&R~0>YJA^ZuG*`bcwl2Om7PWVXKirl&+&x z+taN8&H~-FUSNhpo|TUJ^50(jE<36On_IF8mEmCG^XqdfU)p+4SQJM$$coaSs*F|4B*uAJ#$>*58$(P2!Gk5Q}4K4!gX8b z#9JQONF44p5lr~T%SykFE2XN;xh^$6x0e6$@taeI@^A}KB1*Eq$kJ_tNbRT!H^nliFXI^O8CYw6gBh^SlMIbsvEv^tcx80 z7AdD$gm^@4o^+!OhsC0S_Ymi*)_IdS>%crViJrUNM4;fp!00FeZa% zld!&7B94)i!APU=H{06#4H6;`;0{J~M&e2_;eWMnQ@EzKo_sp~0(KErra@G{$|O zv5~fyvFJRg<+4+=fr`+=hkUY}tveQzyywe14%(<1yVl}Wp$uZov#4kT ziWx6vx_l%q8=!-6%w5mQqjET#;Y)}-e8C`2ixjM5=`t6z40^?#fTt^qS3J#X207Ej zb+F?~gWaY$Fe07vsmo0QKALv=e&xG8$RN6cjP}CUOGr%&K}}2GcTMc+zzln z)3_KSby}vSKraj|Z@{FqN}GCOS*@K?4uuLfp#&&JX<@G478yf^SZ)t!LN68`abA%W@uWG4 z-+@W27*DEcSU7{QQx$nu<`_iymHxGn;4vtFdE5Y!3T0Bh+(n#BD0@nR`UTW5yqYM@ zL0wwV?X>S#-q-oT7ttqB{#hJlGHmS5=c~(r^|r@o9tM>9^g{CO2^HM)#Z};ostUa?y^=y~Pw9z(IH-SFag}FM)^ zVDA7q>dQydDBt)ZdU%O-WThKC$<`8axj~brqSF#cLHf3qyrW0sFprbeF_nS7BP*7T zc?E@m5Zo=ihG`19CsU0lkOmSH0hvL@G9^j~ zPZ#)iP?e07^a|t~pbVrHA0P2DV%F>~#kf!TCCik@JS7N$_K??{pTrBEyl|kLC3W+NJ(e-{JcmH#-MK)4~ zsTPS$peQ4ji1gF#`O^BT*UgDKB9eZe8hE4!eYPL=3EK~FgkS>@9QbKEQemw{GuK5G zf|SL;^b*VYridqxeS@Z^yTB=`u%|HP55bTn=nv^RnBDas^#qa+MBEuvTAP zVUSX7!~ENs0gY>vVu^|bc0TFW>xC+7^chc}u=MG8woF`dy3aP>YMh>O^*0A~v17(Mjy@*S)q$24?zEr}3J9k3@gh_Jo?XSEK zyMyPQ*ZMg^Y6qAW3Y-0_!%dL3*>pP)g4uKh{ymkTdkw|gB`Yt>Ru#{1juNt7o=J?Pb&ALy*VCD z7ITYNQZrixD9Da9OMZZdtAupozj6cCxyqMGvETsSxlDV(|&EHt3hM#E0|h~TZm zMqoNb-VcHJG%BJ)*ZU^PrMhnG^)Fh2i#n&KuKHnUR4@Y}k{p7U9q6t0XyLhEt@=$l zgVC?p@m&lKZwpD%@+9k9u@<%^hl?G}-C+kJCZ?`K?(|$+xCRyYDB#Ych}zI7mrO;g zksiiW0WMGgxR-H%pa75?%H#AETKSgAp)=2rbjFM}MMm|>OjxDjQq`sMvVJke#Ai(~ zj3@w?`@qsqcAusJ5qcCDr z#(-=d4L=2f__m#EDz;hYg}z+gZPd6SLv#WkP*n&Gw{H zAgun{7*XDBOAF3JLo?Ygb$%fL6u(iZg0~*$AFm>cylW#0*&~oE`lOb0t}-qF=))yt zqPc4y^qCL{vX3FlZ)Lu2*>0wEe87-|HEu~B!k|o!EdfL&NPb0{$Apt326%6EJF*;R z_ET>XG>pt3&p9sZs8onKRc!PpcQUxLmm9ndkWeNoVQ7Xi6^Mm!1`MRGwmn~HOG#N9 z9F}FALPRkWFstI;alFQJui1{5h}&Xc>5oTYtfLQv zmK_(+Nd8L|Dzy!woA+a{^xE@1+J?JXNU9ovVu+?;73%(YydauN zIzgx2IQmMhj0(zKW$X&2Kp&DETK1i6f4(hzLKN9=onEk1@v-UJbK?=0^#axj9_oEn zln=&q&|(w!v(|`*&=RlAWu$7`g$w8`>i0u>^@)P5lC}axB0!JB9vGsvH*OY9^WJ6V zo~Rv(YOD}ipm#bK^B7jyq)W3_)>^04(<~v-oB$a`_EH%!lF-O(zxV6L%I;M~xWjbB zQvKix^w?hWWqAHnTliai5h=!0ps7hayge+HYLQbE6MZ5uwXlv3&=gz5k9aE7?JH~# zvaGS9DXz+jv5cX}c`9~w89R->fC;sEgxbB$88~Os6bS|&n*5`juqe!?fvkDDK+hr{ z0^#%T*;Y}-C%Brnn7bh?If1JpxKQE!j$FVp*J49dV6ig(7YD z>iZd2UtdSWV@;H2E_In@)O;q>%b7w)U zbsS?K0wii;jf^n*p9T66kV>vaUrA6LV1hbG)3K{kbD1nU@k?4hLk0np#S^j?0WktM zc90XOc>1@%>rfV2u&q-VoNkAFw!|7%uiXq3^9cbe<;PmDoLk zeSEETU%K#$P$nuG9o#?3%O!kWOyAKo^%gHF|YH~Qc=0~2MZ%+mqPr)($m5g^Pu)8B? zn^%n5SKB2FF0*3Z3CJ4>S%(s~sH)~(n6J9pni_`j-DLrLeynu08xKDinAb{n4%Qf6 zX4~gyG0)bRmBi((<-ET!PkF--tT<}g8h9Mr2$O!ys)%%4C~CGrsx#+vg~kOPG)iH2 z6P=g3@rD_W3U8{H=#IyVhly}A`anE+_KB)JuBTJE;ADyl*=dqV390H0?`P2V?-Q0k z|26!z<6OW}%#6vrdKc)DU)$&Ue z;~06%06OHLb?_%RhjnI=;~4|0dYOac1-&W)o#jvBeSJ&xx9e!E=uX}(nVwDS?2Sv> zv+!DWwNqwbOyLB4)Ka83VcpA?Sg7!7{m%X1pX0j0H5O)L;FL`paa>n87&j;LAfE*u z-L25Q&dk&Ht=9s@Gf#V^wI-?y4hf_pOaybTs4Rzfpn!5JxxX{8akAP#)NDnDFAqeP zv@d3e+wbo>5f+^nc6|?3&vPLP+a@J6!K+%E1-Mz-zk3Ar^rW1(xFUK}NHz{jo)i&S zS2UMsbG`>;edWb>7JjW!^}h0af%&IuREZ}Q0^U`!@LqoAApFz73_s)d${2pgUVM1r zDneX*q?QALc)r|W1t6Q21Cdj7(5QSQGaFsB1(h0irAb-K#I|AC{}mr z`FL(SEKjAdv8$J{ue>zyvq2H-KY9K}94OxN&g;p0`9GNR7vtJ8(h)s$$ZfRucs;HC z^{Y!N<`m3?ZrU#TRRrF%0tty7WUZlZtD&s2y(4sZH@D-_C*h1RYvN)l5Ohx8T?079 z?;m(BAkjfjIk-JS5MSf;mZ^A-qFJ(F)BSTU(I;xjpb=s`AsV$%3N@-2bV{9vt^^v| zEZ~U8!<9>UmMt2Ge{fbeof^Q1vxU%E2jV-5l$#%tI!&IuSUHC}@j$HK1$4KwqD9bz zQi((A)7Y=QE+M4v=cqnHc_K+ zr#>r`XJP<*q6UqVlBJY05v_?6xqV5J-#$WSL3%_9VnLB2U04kR0wp}}NEa(StOhvS zBN9QA-12uy2wkS zL4TG4-qTGAlopk_Oj`#{_XkDJ+&#|h3eCtky%!LziAkvE2ObESM{|EJ0S_|JzGz~^ z?)+x}_a^m9lq~~?l>VStsyg~leA&BHjbjs%W+8Doy1Xy>GF}9a<28JAzW!jj@5!RLFp;JtC2e2@?8{p=l`iSh&!FTwgn!!bJVYd$USiVtG z8wU_+C3o!)1TP)){w0Q(pf%*5dqF3`vrwa`gzh1);ah=fgb`0Ep{M%%(;N+-BYHvX zfvrSYb;jk$`Fa6jiL7-`KWv>4@T)OzRJIK0sZD$_(bax_ynT2pfx1KaOsP7T9jwAJ z5YIo?DGTf#+=5<`wkM@Iyz)5=v+ixOukJ!G|z%2 zn&lc22n0TpFHYzp@!os&95V{Frpoepkox%XZ5Wq67ZlH;Llhy+GGh#n56e?Kzs8$q zjQH_Rn=m}#qjrzWrgcj7CmguuKBQFRk1+i#&$I}eWJ&k^gU zKeHAA2?_CD-tTR`cc-5Vc7N5O`B}3vepLdP{ykw4be&+tn{}CjaLUS7=pakX`x8Oh zD$MG0tW<-yXMk^0^_TVw2L{tIFUJ87N2dU{yhQ5@$Yf<0|2Ej~k22j?XZrR~gp3{m zf)@oFLKrNgyWbwez;+lCJ+bP@Xm}_O(zde_)$exbR0-l~vsj2iw1#E|Lp@?}29>qf z2d<}q)8mR4FhR{Nzwn>P)L6YPbJkbRI^kV+$L)uqI8>00rE(a6RuN#B^MIH8Lp!9K zIP;92r$~rKf?*WGhN03YWg;%epRmg5zb7U>orsvj}UbX_&^1dC?clD3#O08s4!uJ0cxqtbi|Hy68OZP6f zXWqGhCt zn$od!K>`~_A&xX= zkb_l`NE6MfXk9|M`TB*|*@rpTn^AclYe2gb(AlFP{<%}ScLN7^kQ(swGeX{KkH9A4 z-nmp*gw<83K^Ii8sikI;Cx2s<&r{V4=>NH+{dd*--=2(X!}b`E_ot!{7ytnKT~ogt z*IyO?zEJQ>KkW&!l6`dW-_HHtyWeWj`?ytms3Wvcu5^JpeTZijAD@QubP5wx*;+j# zd5P$T^kXe%WW?sp+Ve8VkK-KKNE{L<>r#0i6V!Hhcope`!70V6X9%PS(E?f{Ypd!B zbHC_}3vk%MmKgsqmsKIrbpCAOJ)m}5sdshyXXq&G`iB{qAuefFhD=XB`%QA#B!9aS z7W^Um&_Q3%r<-)nSfXR}z8kwT*Q_fCJ=L=wo3==p>@Z4ycp z=cw!w$)cO@es7y@6}IOijTs%_IF~6tbf{%CFmHr!6um9mdCIPw+(Dp;;@8hZv&4nR zbg0{!h1W_jniM^sYVZ_rdJvE1IU@yUTxHThUc=w=;Is{`rd5p2%(c{tg~| zC-DLoHy@6UURFj(cWr2eQ8F{@OrtleTMGyI)`13$K?XEcqD@FV_S6w`K87njCt^zZ zL7rW+nt#m{L+wz)cpua=gZu7G4OMbiNgG>~YwQTD-KSmh zO`z8Pbi4VKJ%2P8R{CcdIV%pb6gK^eWFQ zn4Baa5Hi5;MEF0=^lm8tKmh#ra~Su(8tpFv|32FO^jm)&KgZo>w*PpjKO6nikNw2_ z)#&PfF~7Ri|E;mVSojJ3+1M)m-v|2t8}4WAzmA_*z#MhSo?3^f%vC!|NIif zPuO3^C4Im8FYJH53-KrGe}1FjH+uMe?E5eJKVK~P6aHr|{cpIzyVLm%|8HjfUj+VL z=%3l;e;q%Cjsy8`uK7=a{~hwv|NV9Rgb;H5!^!>0?4SPdC-5&#N&XY~&i8+p(f`(s ze-Ao;F24V!L`L*KEc~6upN#w&QT~RRBL{yTa9FYx~t?Nj0WPuu_5f%nhn^v^wbzgt!QC-C=检查时间: + data-options="currentText:'今天',closeText:'关闭',showSeconds:false" required=true/> @@ -70,7 +70,7 @@ 整改期限: + data-options="currentText:'今天',closeText:'关闭',showSeconds:false" required=true/> @@ -97,7 +97,7 @@ 需要整改: - + diff --git a/safesite/templates/equipment.html b/safesite/templates/equipment.html index 8e012907..c199dabb 100644 --- a/safesite/templates/equipment.html +++ b/safesite/templates/equipment.html @@ -23,6 +23,8 @@ {% endif %} 批量绑定检查表 + 批量设定每班检查次数 @@ -126,10 +128,19 @@ +
+ +
+
+ 保存 + 取消 +
\ No newline at end of file diff --git a/safesite/templates/examtest.html b/safesite/templates/examtest.html index 3952a0ab..ad359fec 100644 --- a/safesite/templates/examtest.html +++ b/safesite/templates/examtest.html @@ -53,7 +53,7 @@ { field: 'name', title: '考试名', width: 160 }, { field: 'exampaper__name', title: '试卷名', width: 160 }, { field: 'duration', title: '答卷时长', width: 60 }, - { field: 'createtime', title: '发布时间', width: 80 }, + { field: 'starttime', title: '开启时间', width: 80 }, { field: 'createuser__name', title: '发布人', width: 80 }, { field: 'state', title: '状态', width: 40,styler: function (value, row, index) { switch (value) { diff --git a/safesite/templates/examtestdetail.html b/safesite/templates/examtestdetail.html index 35739ae3..03827a66 100644 --- a/safesite/templates/examtestdetail.html +++ b/safesite/templates/examtestdetail.html @@ -32,6 +32,10 @@ 发布人:{{createuser__name}} 发布时间:{{createtime| dateFormat 'yyyy-MM-dd hh:mm'}} + + 开启时间:{{starttime| dateFormat 'yyyy-MM-dd hh:mm'}} + 关闭时间:{{endtime| dateFormat 'yyyy-MM-dd hh:mm'}} + 所用试卷:{{exampaper__name}} 限制用时:{{duration}} 分钟 diff --git a/safesite/views.py b/safesite/views.py index 14c5b291..019670d0 100644 --- a/safesite/views.py +++ b/safesite/views.py @@ -1,7 +1,7 @@ from captcha.helpers import captcha_image_url from captcha.models import CaptchaStore -from django.shortcuts import render, redirect, render_to_response +from django.shortcuts import render, redirect from django.http import HttpResponse, HttpResponseRedirect, JsonResponse from .models import User, Trouble, Dickey, Partment, Dicclass, Train, Drill, TroubleAccess, Group, Yjyc,Checktable, Trainuser, Drilluser, Yjsetup, Menu, Observe, Observeto, Unsafes, Miss, Socertificate, Userprofile, Suggest, Notice, Noticeto, Operation, Operzyry, Fxcs, Operationspjd, Operspxq, Question, ExamPaper, ExamTest, ExamPaperDetail, ExamTestDetail, Questioncat, Safecert, Map, Area, Missto, Suggestflow, Equipment, Inspect, Risk, RiskAct, Risktask, Riskcheck, Report, RiskActTask, Riskcheck2,Resbility,Operproce,Readerblility,ReaderOperproce,Role,EquipmentCheckForm,EquipmentCheckItem,Checkproject,Checktask,Checkjob from django.template import RequestContext @@ -7545,16 +7545,16 @@ def getresbilitydata(req): obj = Resbility() data = json.loads(req.body.decode('utf-8')) obj.title = data['title'] - if data['group']: + if 'group' in data and data['group']: obj.jobs =Group.objects.get(groupid= data['group']) - if data['type']: + if 'type' in data and data['type']: obj.homeworktype= Dickey.objects.get(dickeyid=data['type']) if data['filepath']: obj.resbilitypath=data['filepath'] obj.createuser=User.objects.get(userid=userid) - if data['publisdate']: + if 'publisdate' in data and data['publisdate']: obj.createdate=data['publisdate'] obj.usecomp=Partment.objects.get(partid=companyid) if data['filepath']: @@ -7641,16 +7641,16 @@ def getprodata(req): obj = Operproce() data = json.loads(req.body.decode('utf-8')) obj.title = data['title'] - if data['group']: + if 'group' in data and data['group']: obj.jobs =Group.objects.get(groupid= data['group']) - if data['type']: + if 'type' in data and data['type']: obj.homeworktype= Dickey.objects.get(dickeyid=data['type']) if 'jobpart' in data and data['jobpart']: obj.department=Partment.objects.get(partid=data['jobpart']) if data['filepath']: obj.operprocepath=data['filepath'] obj.createuser=User.objects.get(userid=userid) - if data['publisdate']: + if 'publisdate' in data and data['publisdate']: obj.createdate=data['publisdate'] obj.usecomp=Partment.objects.get(partid=companyid) if data['filepath']: @@ -7876,16 +7876,11 @@ def checkprojects(req): } send_wechatmsgs.delay(postdict, s) obj.save() - objs = Checktask.objects.get(id=obj.checktask.id) - if objs.zxstate==2: - for i in objs.checkname.all(): - user = User.objects.get(userid=i.userid) - if user!=User.objects.get(userid=userid): - jobss = Checkjob.objects.get(checkname=user,checktask=objs) - jobss.taskstate=3 - jobss.save() - - + obj_checktask = obj.checktask + if obj_checktask.zxstate==2: + for i in obj_checktask.checkname.all(): + if i.userid != userid: + Checkjob.objects.filter(checkname=i,checktask=obj_checktask).update(taskstate=3) return JsonResponse({'code': 1}) elif a == 'yanshou': diff --git a/safesite/viewsdrf.py b/safesite/viewsdrf.py index 2177c766..7f7d33dd 100644 --- a/safesite/viewsdrf.py +++ b/safesite/viewsdrf.py @@ -48,7 +48,7 @@ class EquipmentCheckFormAPIView(APIView): if 'id' in i and i['id']: ins = EquipmentCheckItem.objects.filter(id=i['id']).first() if serializerx.is_valid(): - erializerx.update(ins,i) + serializerx.update(ins,i) else: if serializerx.is_valid():