From 3a1d088d93ea380a64dd8bbcf24a7e97d919b648 Mon Sep 17 00:00:00 2001 From: spanyala <31629295+spanyala@users.noreply.github.com> Date: Fri, 31 May 2019 13:40:26 -0400 Subject: [PATCH 1/7] Fne all satheesh sprint12 v1 (#58) * F99 template changes * F99 cleanup * fixed import * Form 99 HTML Template changes * F99 changes * F99 added bottom padding * F99 print preview changes * F99 changes * F99 changes * Added more padding to bottom of the page * F99 pdf padding * F99 PDF padding changes * F99 PDF padding changes * F99 template changes --- templates/forms/F99/template.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/templates/forms/F99/template.html b/templates/forms/F99/template.html index 6478284..3db84d9 100644 --- a/templates/forms/F99/template.html +++ b/templates/forms/F99/template.html @@ -17,14 +17,14 @@ left: 50%; transform: translate(-50%, -50%); } - /*table tr {page-break-inside: avoid} - @media print { + table tr {page-break-inside: avoid} + @media print { * { page-break-inside: avoid; page-break-after: avoid; page-break-before: avoid; - } - }*/ + } + } From 7bf82bf8354c1f098dde072cf983ee9687dbc414 Mon Sep 17 00:00:00 2001 From: spanyala <31629295+spanyala@users.noreply.github.com> Date: Mon, 3 Jun 2019 10:34:12 -0400 Subject: [PATCH 2/7] Fne all satheesh sprint12 v1 (#59) * F99 template changes * F99 cleanup * fixed import * Form 99 HTML Template changes * F99 changes * F99 added bottom padding * F99 print preview changes * F99 changes * F99 changes * Added more padding to bottom of the page * F99 pdf padding * F99 PDF padding changes * F99 PDF padding changes * F99 template changes * F99 adjustments --- routes/src/form99.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/routes/src/form99.py b/routes/src/form99.py index 39ebac8..07f67d1 100644 --- a/routes/src/form99.py +++ b/routes/src/form99.py @@ -477,14 +477,21 @@ def print_f99_pdftk_html(stamp_print): output_file.write(str(soup).replace("<", "<").replace(">", ">")) # F99 PDF page padding options + # options = { + # 'margin-top': '0.36in', + # 'margin-right': '0.25in', + # 'margin-bottom': '0.39in', + # 'margin-left': '0.25in' + # } options = { - 'margin-top': '0.36in', - 'margin-right': '0.25in', - 'margin-bottom': '0.39in', - 'margin-left': '0.25in' + 'margin-top': '0.40in', + 'margin-right': '0.20in', + 'margin-bottom': '0.40in', + 'margin-left': '0.20in' } # HTML(outfile).write_pdf(md5_directory + json_file_md5 + '.pdf', stylesheets=[CSS(current_app.config['FORMS_LOCATION'].format('F99.css'))]) pdfkit.from_file(outfile, md5_directory + json_file_md5 + '.pdf', options=options) + # pdfkit.from_file(outfile, md5_directory + json_file_md5 + '.pdf') total_no_of_pages = pypdftk.get_num_pages(md5_directory + json_file_md5 + '.pdf') page_number_file = current_app.config['FORM_TEMPLATES_LOCATION'].format('Page_Number') From e8c9a5814a07b27a816ca699ff9c532b1678355e Mon Sep 17 00:00:00 2001 From: spanyala <31629295+spanyala@users.noreply.github.com> Date: Fri, 14 Jun 2019 09:15:11 -0400 Subject: [PATCH 3/7] F3X Print Preview changes (#60) --- routes/src/form3x.py | 32 +++++++++++++++++++++++++++--- templates/forms/F3X.pdf | Bin 148058 -> 108871 bytes templates/forms/F99/template.html | 6 +++--- templates/forms/SA.pdf | Bin 87870 -> 54103 bytes 4 files changed, 32 insertions(+), 6 deletions(-) diff --git a/routes/src/form3x.py b/routes/src/form3x.py index 0104705..1012eac 100644 --- a/routes/src/form3x.py +++ b/routes/src/form3x.py @@ -51,9 +51,35 @@ def print_pdftk(stamp_print): f3x_col_a = f3x_summary_temp['colA'] f3x_col_b = f3x_summary_temp['colB'] for key in f3x_col_a: - f3x_summary['colA_' + key] = f3x_col_a[key] + f3x_summary['colA_' + key] = '{0:.2f}'.format(f3x_col_a[key]) for key in f3x_col_b: - f3x_summary['colB_' + key] = f3x_col_b[key] + f3x_summary['colB_' + key] = '{0:.2f}'.format(f3x_col_b[key]) + + + coverageStartDateArray = f3x_data['coverageStartDate'].split("/") + f3x_data['coverageStartDateMonth'] = coverageStartDateArray[0] + f3x_data['coverageStartDateDay'] = coverageStartDateArray[1] + f3x_data['coverageStartDateYear'] = coverageStartDateArray[2] + + coverageEndDateArray = f3x_data['coverageEndDate'].split("/") + f3x_data['coverageEndDateMonth'] = coverageEndDateArray[0] + f3x_data['coverageEndDateDay'] = coverageEndDateArray[1] + f3x_data['coverageEndDateYear'] = coverageEndDateArray[2] + + dateSignedArray = f3x_data['dateSigned'].split("/") + f3x_data['dateSignedMonth'] = dateSignedArray[0] + f3x_data['dateSignedDay'] = dateSignedArray[1] + f3x_data['dateSignedYear'] = dateSignedArray[2] + + treasurer_full_name = [] + treasurer_full_name.append(f3x_data['treasurerLastName']) + treasurer_full_name.append(f3x_data['treasurerFirstName']) + treasurer_full_name.append(f3x_data['treasurerMiddleName']) + treasurer_full_name.append(f3x_data['treasurerPrefix']) + treasurer_full_name.append(f3x_data['treasurerSuffix']) + f3x_data['treasurerFullName'] = ",".join(map(str, treasurer_full_name)) + f3x_data['treasurerName'] = f3x_data['treasurerLastName'] + "," + f3x_data['treasurerFirstName'] + f3x_data['efStamp'] = '[Electronically Filed]' f3x_data_summary_array = [f3x_data, f3x_summary] f3x_data_summary = {i: j for x in f3x_data_summary_array for i, j in x.items()} @@ -81,7 +107,7 @@ def print_pdftk(stamp_print): no_of_transactions_in_last_page = int(len(sa_schedules) % 3) total_no_of_pages += no_of_pages - if no_of_pages > 1: + if no_of_pages > 0: for sa_page_no in range(no_of_pages): page_subtotal = 0.00 sa_schedule_page_dict = {} diff --git a/templates/forms/F3X.pdf b/templates/forms/F3X.pdf index 23cec682d092634d6b20801855fbf45549e20111..af4d018d9650900cade3b917ff1d4eb2915bfc42 100644 GIT binary patch delta 22799 zcmb5VWn3Iv@aK)YySux)y9Rf6ch@1f1Og214#5fT?!g^`y9I~f54pMj-Mjl{KhKMq zGpE0&>vUCD*R=gsLt%$!p%f{VC8QWxnYa)scXp@d5aHN3SV&k%oJ?&I1q7HCY#c32 zTy13ZPm5^bz#~Y_ZnCg5^`W@_U9Xx*= z!k`3+7Dqy#PA7`yNHUm6;s_FX35It4j+=(lD;oxiK~y+kO!~%-=>P)50zw=vu80U{ z;b`vW?rLG;fN0?e%!PzZ6%hl2ujdAf00k<8K|&(Jaj{1p9@Nh=Kd zlE>cG_;<7DOmCkL{0&}fkPIN)a0pVrm(f8#Ex&xAM|%~q2=_D0o|y&I(D!!~As}Y_ zCv)RXAKzb-qsN*S#O({;OP$gxF@aaIzS0R_`t9rV4?nSD!M=Mxf2qi9^7M-MB9eiK z^Gnbf`j~}^V}V-)+}d{X2Q{h(Ap5}1k9x-C%B)GcGs3gB;O1>mK2H}DjO9LS=&2yBHV z2X4V%00-fyQr7x%b+m80YnN=F5s268L(3o4p=J$#iU6iw-0wX zw#x?Qim3QQ0n@d$CsE3`1WUva30s|3eG-OLN9f$7B(#B6>CWID99FR#mEbx!1cvH2PKrw*1pS)7v zS3rq@zlBJF#wySsL7D}kiI9B!t_JRj$bSTH2)Hgv{m=3Wv47L|kKdi*a{s_aiGN^y zh$PRyku?%b0me$p15x0sfY~xMKtX{MpuOz>S~Ue|Ax8|!%f!vg4(vsw{)ibWyaVuE z0gB~+#cP(miG?dHdf!#&2sa}$oeqa~uP2QKw@fTvfmMqHTO8UF6CsC<5Ig zRBh;5Yh^hO>rML+3+p^%^Wm8&u1+4C(KQ(4EO%HBXx{5mvDt+{p+L?Bu@wH9PEvt9 zm0|QFa+}Crsq^EYL_k?Zl2nnO9|`a$bQYh8|91X3&876O)52=0Ko(`WKM|=HR>1=W zlBf>@Vbn;0dAc*e1vRpdmiD7y^Z*aksZ*zV{wWZ?sm>;#1i%#ydEl#78E{XNI#F{U zSg%F(e+?+s{xjekuug|6QF9L%sQZ6gaM8m}U1$Z>2j^h@Q@e0e727~#fPVUjK)+X9 z;1@$ANZyb02A)(Faxh##hn|BPId@a_BlS})@z#c1v!R}6ToXgTv5}SaSu|pVswJ8)8P!S^dUi~HtqzE+7JtAtVD@%A6?iNi$0xl zR|Rh+${blz0yRi0w0BbSH1$<7@^lV72e?6V6=nR1A|NDNxaD`YUbyP5tTq>QT*>ZFy6Rxs! zK*z@5Et5SVvUJ1&U%-~^Kl|=;)=w%&nZ%*%`S)fOwfc=`!D+#g75}QZ85FN%b1X7tYgU< z;U0EU5L0%Kf)g8#HzNfLkJsTF))Oflq7*z0Oi9euXTwMk0K6M!qTQI!UZ@!VXaW$< zLRA^*Y_SKHQ7s7^aj;nYlUm#~XoqrNe3mFUomgQ|INMgUlpg47URNF{6=}o_B$OmS zB;GV!8I%ahAR3uM*Gc=FRe?K|CMrc5GZgBMp5G49WO?W#@B= zNNhuaS5X}vatv9;gAoRat%j{S+J8A+6wo*LBH^uoyvodtk{CnHcI|M3Yc)9iDE^2~fg&&9L-| zOYs$*I`q>wh25i2$>J+_I<0THvb#s>%xZwSMe3)v;#BAICV>FzMl{(3iJ3rZU&+i8 z9}2EMT)@D5qfNP&P1XP>`Y1)G+oV1`j;i=ISDgyk(AqTz z?F<|_s|uBKhlLb<7KCB3Z?@_JTRo;2eUfK-qhMRinx;#>>YwsRGVu4SobR5IDgjYXj5CV&8OJd<|U&u>Z>Be{(6ONjQk48s?B zJmzn4a%CF2v2+uv#X99heC3>~vc>8d*>d${PK0wDhO>~#mfsS`z7+-2RhcHY6ehxz z7bWf$nyup1aO5cMK62zZ#p>fR<1Q_ZFn-C=V+)_c>n^h3v&sD=rFgSwO=UKsM}BI= z5eJyUnHz6K4?%YwjXFP&RydSCe0nPqS`&UZi?5Qu`l?zvz54O9;x)(z-%SWfY;+}->m4seyIspFOo*VpcEt$D$0Ztrv z+*3cKT9e5wliA@MF5^KC}SMydz=&4{ty?hyTS>5u#T5KzZ$uWy4Su zXbQT`j(lD4?eGTlkCz+t9f@Pu*suFVc$`&g^7VJPw=gC}>bQ(n;HpFiMbmuZ2(L+d znbfolQxv~tf$YkPAx_W>>^Z8?I>`-WY1Xf0(4F^;ryMSmDw%i|bnwgfGw}+eoirA|>c za#qpzaI;nz2{;bl#i|yozJGhOyMzPE4j>E&6wA0u9vDy5afbEkS?Ip0ZFUnQmph<% zk$7Z)`*)KnBiAipm6qnTD^nLDV6=65$>D>n&1^{18?uHF#d#E`ziVwWywy9 z8Uu>U*=UPmQF#^BFvE+N2B$R@k<5G*N-Pi6rxjwodI6aCUm%g2L6=ELcKYKq<0X}0 zn!c=1Xg-2)5E|`2s#c0MI^Ahd*offaTr>?CO^R2W zed!ewQ}~PrEwgZqIj1@L%A*lENpec}a*d?|mh{5FIvEkCnF?=eTcJqE7>bsIDlU$L z%lkFD2Qj8k3z|hUza;Ot!qP8XGg{MU+oNi( zij#u<@JD_8!fRgy0HwbcFSSybHjQ77@iWzE2f}3v`-5>c zI!1)zIzt^Ot=_6Soj^(FnxP& z&D7()WZWpP{cW+s zM-8yQIJcOY^&e26u60rRoVI2!LYEZQCqqsjM5hYOJF> z(bhYEHCkrq0Kn(%(zfMCfVs856`X*^oNk@*(UsRb4d5by7{kC)8x$y)$)yUd>e8G( z@qC@1I!rSkR{B<*E4Sc3A-=0vnTmvuH4BX>ZA{y@s6yDW@=N8Jnkvy5^2Ne?&y-#I zt8~%?LjlJ!xAkuM+>UKz;GMU-GFNi^@UDtmdpjeGJD^Tf$w`-G`&PRW@gUECc}x&K z+ocDa^lThKohvJA?wRO}S~CZ&nPxHr#7ysO`ll3q<}&K1h%MShi(zIB-j(%&oasVZ z+FpF$NC-jJ(AY1jeuyzUdQ0f5i9dQplnDCnJbF6}lv2zk4htDE5>d5G9cc98XY{Rj z_3e7{3jmXJiiaM?vG+B!RXg|_s2P*l$m=;WZR=A4f(>*u)ph2X?1zSkNQP8u?jt;v zV!n>aMv-KSdwRon!8OnmR?xcGjyJY;!l9e*_fT9VDfuoLXHF<|DwAKoUO9T2Ou=sXN8J0hU1P-EVn1wLK_9Xp5NUR5Ii&Ui0s;&~ zhpWqv!{#5GW$&bujgo;^G~MOYTJ`OxCU;gsINbXSm>jI#*|Cmeqi2rVlNtX0>_i&f zhv@MWnZ7(_Y1fb4mb)bx1=iZEMtj`AYrxlNLy`SW62K2<<&B@}z$AnZ_l%8SxF zj+$Rk`?p**Qlza!ajedPg0vxbKb$P@SP=Ltt1}0ein>}IuG@V%G7laWidqS$O7^W$ zOpJd!Z7si$yE_P*PF*(ATwsK6i$7SZB9*thUi$?afNQ<&y34>QA>Y)Glp8^DrU7K! zesf|4ne^N8Ro$4_^HpElR6Z)n9F1xP@??HVn0Z{V7bEk|Tk=5Z{rzBjTa^|6dFl|{ zDE5MwtmVqw*}$aluB;%{^wHU0%_v!X7KreUP=4yKx<0R_P=dGTwXXr9zOGPC*G)WG zlAtxwJv@htqxqHE$1SGqQOk$Zt{m{5-e{0Ky z5R_Fo2ACLw^;N!aA~2MO`{q0rn(D($BefAT?@MTL3aK&Xck}HbIQS0f=7I6CfBBKc zQ|QcHDC^;5nCo@9WYcCYx0%=8@dhaKi-Suzc0!4NLP;&er>1?S_S;1S@*}_o<5%kP zo&4ET@!Z{b#}sqj^^2##XF4q)|ItzNHV3oWCYxqzc9#W(-ed#~IKCXiR0^WTnf~CU zMyVU;g~l+KhrOED>ii8C<}yq4-ca2m4;Qgl#@9b{h`vfILMFi0FS}szPx293-4G$y zeTP->wvJ&gl(j`%HVT~o3=m1L296@*_--3HLxe+i)=Ks?oh+<^TrKMau$M!v!DNub zK#V~82f_#Y*OxAvA)>6Us?Q82AUWNL;$3|k@fJnCs4Mlw?HNO9T@p51+DFlJe&-R! z6?chPwqQrd$PHBBEG7PmT9SLG&7Q9DxZ=Y5N~kEUfp(TV5rOjD2dD`R+^~|6ib{@KmI?>K!ZYUyL9g-nEFU8dZEn3ySw1}UpTzYs5TPoL{+y9_0Cryx zXK5g+UD4{jb#=Vwlac?Zbbb`Y)C(;2NEr5N6-0ssm6myVF9hNpVQ5MYjJvtZ7y>jiyQ)Li_g@jkJix=lUFJf( zSh}{Z=)-pT1nQZruh)%4cT#h{Z=Dz^ZT?*4#XbOxxqx(~i}4D&fKH=*;aNP-M6V@= z;ovStYV8?*dGQg?vXtpxrVj8`npNk@y+?<}d36o7&w#^=m74umPJWOyCrWS6MFgyv zti5ebCfAesd(l*_lr|sBZ+bU7s#-%e`X^tbn48d#N1n@a6!3S5LIiRu&#jvR8Pw1z ziJbWO#`6rFzmLvVf49sXhFMs?dPJukYK~GW!tpIIJM!{>Ya_{R zTzQccJrS$H*n@kTs{S6P&obn<&;a zctXPh@tt`v3Emf=QngRsn6hKhm{L=5mxz)Ts8Xy4saxj8p9rgTma>o`tRmDU=Ho+c z@C_?Um)jm8NiBDH+q8WoapIhY5;DNgkH1^d^Bn-PrawLbOwh&z${WA~?H}=!S=o3w zgoOTma04e3RjK9Rw9AFCvGfWbs30UU15Y_FqMSD|UP~D5UIlGW6Q1AV0p4`qwC>S< zKIKHtxRPRDS_OpP;!BpeCZ!cJ2RgaX0^TydgB-@zUf$Ok?hJD0ZIhGegN@Ur>>~;( zTYCp(>W7gdJ|*KZT>D8#x@171X;B8~!$Li0NC~nUmZ5SQ8)9)8!g7O&$DYxe6-S()TDG6#c|M=Y zvusXQ7-<_q`WVUkh*UdCh+Buns5aN1K6f94rNhR1%3=>rbk}qR@9Vx#Yg>(5R277R zK@N_E0L9w!OeAHeRZVI4Gr)r407O&iyyGG=pUZ>7(D2HMP3|Wm{EU-gw)ES(01uZ+ zv0dQPJyxz;1Z=ik<-sOuGT%n?R_CR#$GkTvaZ)sAW;0Dtxla4k0MxP-1rTEz+9uS& zajuwe;zd^2`^!}Zp23=xu}bsWHOI!;#ja7l!Ns`J}oqUkcx*+8f%bDsNMwcF0W&2EHofe!Z_W#jZ-KE(Z-!4M0H=`A)4mELIYBaoEGd02wT{iVr;kK}C_nBbO@Ly9Omb zZhYE9F!?0KkY>ikw>)e~@<=H-;_V|}!OtO(i+Z!yM4+_KER4Mjtjf&&_DAe>CHpWI zY9(k%dxrMlt$yOsO;Sq$=1Oo#+VUrft8e)69?=C2B>-zdB$jsxlO~N4PYD0t#}aCo=@2dt_p^*raydWk z5K$0eKUat0jrk%gk_(%ah{LBZ^>ixMd){{26BNS@w|#dKEA1Ihu;e!}mQ(QpCUL@d zpRDn2Bk|*cY}1;g^6=0@x<0Koo>K>1DDPs(X9c!ap|`mYdjo=XVR?6=gp^ht+>%Y# z2p>WzKixyXlQ#&TJZWE>b5L`|xt8O?Ppa414ucQ*1(g%f&U0L2aj@wTIX<`6tN9qS z%rx(tTEIWyb`dAZ(Rq4wo+EBlXmfPoOJ&Z~;q_I;<>gZ|6ek5Vk4JGL4G{ zmaxeQH&)~C)II7Xu*nIwSlw~11N$MRv@G_5KSjlchK1O&H)bD`eHDLZ-)Zn%oCxZ( zolw)=v^bYC2#iu=tE+fbTp-6xU&X`9FDizdxFEFXQeY5u5K$@$TiFe@Zb0@-ot~i4~#_Wn|tGeCY<~{)OnVAbbE93hJ;iW zf=mk%b8TG&>xV0ALt!I$Jh8RF5#k_VLJ3GjrRHEd?8o*N>M;%4opU-gGU4J6^mMtq zd2#*y`x!3hhA3Q#d#WhO;0jhuu6p3Ox1O~=Jb+x(?%tCI z`T{OFcDi1(u4p)sNOpmu+lDs8yaT6II_J`p)P|wR#>JbmD-oWNup~kgt+vIT{?=a5 zt14O(5qebrmrLfV;LM2)Nrg6jrim*>$h zNZsRA`sTzV`IdU+`+q;7hqLsPR9NuAPa-IB+7M!l?iXE~yjKOtMOCJ#j@dW9sf=n) zFv03@^7}b0%=evZfEcwm?F42e$2~d<3;^q{INj;Pxq5e|fioU6vpa2M1xRH$)~t z#VIl}=ZOB5BA<;oA1^y1Syg|8Z24&I>-mEJ^6~f!$CKji@r_#kq0w5*9r(A~S7LSg z-fGktve@!ILzW8LSbziO@-+>oW1gYTp(aZOUYNA;DiJ0o6yq4UT3&RaYq3X<>wa&r z=r=6KG(zJHiN{PEqfatYh zJS5%0PWE`9@Q#p)bzqv%8)U7oVAu0Jzs+jnZfRJ-R37BnOL{ zk}D7E3I!*})iMREf4+|aTGZ5v1`Xq*I?^A-u~vq_ZkX{#wB!DNjP*J%LR zc?=o#&qTEZKLF^Ubj~9&ty#0HDU$Z}MC=GDlLz3{oa@`g*%1ZQDr)?ooV;g5)4#He zrf|x3ZB+p(HcjO=672J=2Bt7@Gl^~fk(NMiHAU4Y{DnC zp0S(>IV;`Jkw2|Gy?sh}^7Saee60++r-M2*v;+F6t%*Y7_t{CfPZ)F;kbqKJPx9hR zQrY>~9rZ@zTf15wF82U zo|f=7oSw=q5ojw%-i-N-@X}}B(PlI7s8YU=E^3xFai-BOI37%&y!KL->ZR~lZ`b0V zmbi^!ayM5?@>kMUWZ3cH_yg<>qT>(JaGTf}T{foe_58*@L-3iFB=Ku=tPwzKS(qjb z3yh~7#?<*@x?Fqh#qig~(#zO{tMYh{X}L$u5?G|ixe^)ech7M!i(mmd-Xu~}vHQ7C zhnI+N_BZWL0v?~%A6_deX3Q0;jy7Pb?7?&3m+f#gmKjS((RD(!&j9{X+lZjJ(1{60 z2)V<0^S{h1l(*_qJa%>KJ7UdIMPoHBc@n$uWL~g{X%cvhjShrgt(tt8#u-UzIO<>A zLK<(ywEP~*x}|;Wx~5tjIeqkJU*?csKZ*W0$x2GJ`1Qp&=@vFYedt_oNTys_>U){2 z6b0{=R+Lj>bDeUVcK@n>O)*y5EIn_Mx4*Jf1N*BA1?8H-S8{d*$;>{X z6*G%aAT+@}EWyyoxjr_4e6$Hc+Q=+CV*SN}9%Md?=bUUy8y_8_N-STj&e$RMj462Dyn<6wUKO30xZh%RtnIws2J*JEaopT!7A9{elGs!;prUI05bu=#u? z@usr10nv#%+Mr12TuvCL=LTw>a7JnQ#Be zbxT(};P>U!wZl&z|8Cs??V8l_K+Z2qle#0Y&>dTqlHK)J^@vKtOi|*g<;1O7<=HLw z)MiwT+bh7NiT^mXQSbBnKAAlcRCDRtw`+nRlZKeg$yK9(bC*R*ZUo3n&%OxDFIL(A@qb|J0nEPdQ< z5|FOV35|tV{S~-*GogPI2M1OO0Pwu0^j0MCx-{;vywSA*Lv1scl05QRCIg-L+-B0} z+Jz0@9VaJ0O>O%Be!gq}bqEkj8|;1$xY{4J^>AtBI%qhZ&N~kDA)rC+E^cF?KAAp{ zYyx08p9cmmmk9>g!yVkG7K3_13`3F0ayk>V+hwuaG60W-RtJlM>X1;j6M`rOzM z`=K*}$9~VLbF-%JgEM0eAw{(q5^8Z*c0MHh;ZH+H%-|mfJ7MiplKU-r`cm^bM9z9o z;-sSgF8W4e_q*d!n*12Tk@m3Ec#Iji$BB*ng?%M&e^h;ImYm5G-;=6xEOK;%t##X1 zs>N(XU#k$VF!LzY1>cVv0*LkTu`^sZ+;o?GfF6bz!yYvTn8>yfnXP?s zr2WoA6(e-s=CyJdLe=U$Bq_&5vwUxUtR&EUcb6~CELnLo!=N#u1E_YI=vxuz;9EOS zXGq!se?`4?8NaCWilM=TKm=bZ?$Vro-Lb9bT1w5#{PlF=8xV-*J!8<_!AjlI^7w0T z@Zi2klk(FEWPZE~t-T zso+!j+v_)hv4ad^K>!U;anjsr@Pq+`KnC}P;(jT0>!TE+uq{V-8~Dws(SAK0=AbFk z3BQ|FSGEY$IQfXb8R#mss+Jw$FR*Z)?ccZ})AN&}Z3aCMY9g=c9K+J!e9nud;RuA^ zlckg=FMx62Aa^V!LZ%KNl&N0w;l5*}&E_~QsLDxAs#G#f8-ScT)VzMpG4g_@G4jRT zJWO8Li5L5lHFe~1s-jytc8(h=gS0ysC-}&17%dAVStmuM(;X1aoJ^Z9AzMsXM{IJl`OCi}IV;(HkPXT#6t32SvVJsvj&Sn(q1gS13 zz9!zjt^L`j=LoSrX&ra*98 z{EO#b$yp<`&ChRxbWf(q5Iu4ncIiuecJaSEdYBVL8403@bdKndDqaX)0D<`_@j1TN zp;oyNI3WA^9ZvsLi;Mtj02>$Ae@{0CwASJXI8pYKyD!Z|bZaX7Q>Dnye^@4n2uQ3s zp^B-%$k2%D2XCEzrZZ|g@A_ep9B(l3$!Sf)!(YEtAFJR+fOxCdqy(ZjY49RIK^JAsOusPAhSH3ttKtoudf9-zhtbSLH=ExVaDGwYwZhy*d$4D?6)9!V1tFQLU3GPZ1dA2UxnhFij$j2X6FiEofd<-E+YCN+ z9pALmGk;9wh%;b+`7Q?AZ&r$p)Oh%ZT)2w$fpQl#YdLoQu$SAGb=f#O++(o^|Mu@H z_$^gVcI z<5_6-zg>ZyQ2uqe*uMG_TIp3$v`G_iFGL`oYGfYJ?K+TJaoy-Kxo#TyzdLOB;ESC$ zzYSi2d2IcPePSrLkZSwc<${i-TADW0=PJ`$MM~(*YkpL2B6r#ou1N@(wP}uH zMy$-={j8x?mR*Eyzo18`=cYZhxGhV#nQt3PmxptesyK9u3O+=dLJEhgiI?m*Z93U_o+CLS@kmf%n3OM$I!j< zk-V?J{_mq?BDten~xT?~sD zi1#sAJn(`N_=wSBb=7If^5CGT;29>E=r0CKQW<=3D&{ynSv@Tkdr{v%E=hl1l&}6% z3rK=LY5@=De``Ud)=IR#G{S`4TLF<3f|`Nq`80>Z!@y?<^u$)?UanpqPm=pk2BgU) zYToiTyNflB&L0}G9&!&yGFsoBtS)`~GQT&S6#A-fRtRGxj~7K&PBI-5e0L?aw!5^F z?F``CI@FdnGT6#?Fm&5i#QwAj@C`+7u%f@mkDGDVOZfIHVw$pMR6{*tJta0H;8o@% zwR_%vP&f*3Lj+w}mvt@ccbMqfV?ryvAn>h~l>lp^#&%KpFd-Uzv2HRd`9Y`DSSDq& zgNc@x`cg9&RqB6*dN&klI)>un}~gzapdW#;+U}+GvI<;SQQNC|3!B=1(+ZPM&N^{!p`DIr94_#7OFz@1GXw&p23dfh-^=cIni2DXLw zqQ-*AN(!&8VQ}%Iv1=AmLPo|EHl}a{TZAC-mhm%iQ+W|!aQP+WPMKk$MFY=5Q^(6$ z_poM0qkSVnEAl~L0b})p0qT=@*(EDy+`Zh5V*5F}*|sHu5aU(hoSc$UV}leJo8n<@ zy5>2}hRYkztRibqa{ApTy&gIzJ^3i@ek#6d1j+H)TS~wskS6BdnKdU;^p}Ez5Wng>p zH=iBxF=}h>Jiv?C%B{}}rHBcj< zBlcV8u*tzs)G#-zP14BFXRL>EbW(3~flMJ)ra?DfN}BeVxP6hi2WQ9B8h8xO3&k^snhK&$L54ad}Fq;wt2&t0=! zf5o%vklOu%r(}%3P5odMGlXm1&isl3t`rWTLJf*_eaMeaG;uZ}L58=+Fr4S4lBWj1 znX*rNo^BGV@Z}f5J;I#a&10_4Ih0zjPN;ey$|B(vxbt=K6SL$d7sErpy;CPi;V{6C zyvvvZ2?k)r+njK=BSeY^WFe5t^k?x1>W70Nvd@gN6zEYegt1%(^_KRJNX>aT$)#up zkRf~v6fjZj2<(87NM#Fd#vg5CV@3%QC=*8RNL%UVm0Tp7B>5y zSa#PR-P8D&-L6 zW@j69fbgVKK|{UM0fN zK3c{rl$nWsm)=AwU?NkiI$?+9tcRPxInaQ=7aCXBq_7=AG2qgm4yU+1$Jxk_TgPB8 zpZ{XwmWx#`lsSu%(9$W(hjZnk0k z`KP9>5fiwvWoN~_(+ZuNNMWKpl5n9qL-LUBf>kmdZf8SCQYsJD0Q>n4)8A3=7fSh?ev_G-EV4s3eM zI=JyoQI%xo!<*YNm~c3)njYc$eoh~eL8*%u!WuxLGz2X;s8_FeA`m+SfQ{!kdbLI zv5<9ji1Z@%_Pa#!-Lp-;4d|bFQ!DH(dW!eBHaZx-@m7ezASGg00cZx4e+Zkm$0s&Q zRi63ZJ4q=zS%;h(KdI#85S!SAn0GssiXm|nqIY-9({~&6bX-5)NPpaQ zXiQ{5`A0wqJP&Nd@!GPDv)b)kSB%nZu zMXLJam0NIN;4)P`_y!#)aA1Y9xt0W!91OU&PF>a;&Uu|MkH8{R=rL z#~%*>93LKh=ySleMqylNrz?B0>)!E5{C%<~U3Xf^%rx!!cB@~3^m4+BmiSF`+DPM2 zCEM+C{fBZ%lb^=0*4sZ$m@MVUvbH+XZh>xG|?`5zCb z1Ot9|e3Zau7GahDQ!Hu@%!7nTEg=Uj{r}-G*MFpftla;4|Homj|8bu6<2Uzz9BziB z1XZF0<^AjN*HP3S5(IEP7uX==M6PR#SpfcM&k1GaI8`R+xFeBG#rs#wuXkzC0R#k) zQv`?xLawmHzYUHqqnJhR5*{)GPC74XnJI*e=1zBxUDl(BeuH;TqX(W4pXL74I-<-5 z6#J&h*SkJ%cnvNOJb&!h5?+b;|Lry~6A~`*(|A)uif8~?^h$C75lcKCV|ALPk zW#wV{>v8jk9ufr|lpC1)N+`kc<0C;y5X5IR1i)a6WS5RGKlZQW?Zd6Pyk|>B!MLuq zZd^8z4wT`ta7@=oy7@5v`$l{&-@6@>aL64T3&@5Z4o_;n5vbuG=~HvJF(@|ZA9+-2 zpeZO7A{(=Ug`<_bH3>Tx3rA|5DJTiRP6>Y$?UnwN0U^!c7iAj!q);Os zu7EuQD*t!IhSu)4oH_O&&}LcVtaW7iT7ewthvV{-aUYt%@A+Nhvsv3$jz3vC=w z0#OX99qIV6nN_T#SsadVy;$}ZN4VV?UMTZ|OG)Q2OadTtrP#CenC%u4PM1nkBu4bL zWKulbB}nug2q9-ESS_kJwkkFNRXhdjkWeD{jXc~wiJpwY(uY`LJGNw+1RR`J*_)LE z>_PPgA-s?b8DYr5d(?ExS`{t=Rc$fojQmmtm1WT#))*5%2`B7eSJl)zFh z)BncmJbIH@Ak$rB0uRB&=pc%koGKvA0a`-haRPl*oN^YyRfMT$m79TOnHYfE^vx$( z&^J!He%KnL>g!agCRpx+f3O!$+%$|3WR)B_u()91R(;R9jD$QAxkPNlI@gq)Z~gFh zj2UM~za$Z4;4(iIg3tg!%x5KZsQ|fRmbbwXh_Ia4So@$=82{9 z&@-0}oaxA6;^m#4ntL*R%uKAC{|p>YRdI1GpA~nRjAD~`f1X^qd%T{D@I5RY{r%Oq zm3_~}i7%Vcs9TEpxzouru&hQ1D<8+OU_rP`k&qa{D;ywn_SOvuvwe2|&cUKzq5myN z^I4nDxOu3+>9J+XiOEu{b1Yj6yKu0*_cmh2y+iMvHT@H{n)@;)1#*4xFL^|83JL{7 z9w-ecRM+^TvZ1?2*ShCp)Gr&bbzAH$9ihUq>#zDp^UNp&yJJ(A+!IP!N7+}Cp>Inw zZ;xiT?c+AV-Sta=XDa`8wnz?;Liy8t?KDqVXiG)d%weT{`KqNJz|Fn2xAys6+ynB1 zUw>dDxA)C~Gtb#WdqOGeclFz^U-!eaIO zy7SQW$F7IZAsd%1@62Qsslb?-$-vH*veMld_t8^$iBgDf!kuZctZtr2!_Lsa{nCrT zmh&8knC$JdbNArP6R}ci)vxwubC+(DR86k&RRlbyyH130nBNhci`G1N;1-V(d1tdv zNsPY|-NR%9yi+}R4DcyjV0eUL>)`AXQ(-krozNALh7YxSZ>S@w^k`9iXJ15|>&a3k ztqzAJlPQ9sPDUg4cia;8e)O+%BS*uSoHG$Y!lOC}6VdVnpqoTz6(~oL$R_hRnJo(B z&_8s?E*Vy-T_Nyw3ii%=GCcAeLffXT}(8=4z`&cfD{QKk~teJAM(^sn*hG1 zjHjI|9SNdg7_xOa@h}{6V(hG&ecN?W@yisPmiRa6m(D0es5Wj2na86o{O7e?hRK@4 zm?uGZz|-t8&0qkc4&*8LW7pl{WYP~NLk@hmMI0gtI0yN`$<;2zB%pqOioxetSyW@V zEI&L5%oW{q4{*Kd;L8U}Q6rT2oDCT<{3V%#8;XPvA&B}`>1YGDfr2A|Sm7XMf1`b- zW13Df&^3y;=sFc#|80q~a&FV>)|-8u&O=W4p3_C!vth_lQ*&lvCXvQ7LU+jG zgEMM3X7f}`6C-KhW@XZar)Ak0pc$!xc)G z%QbO&kvl#BZ{JSN7rrOwR%DOduPHJ0``NtHn3Toq>7U`g{t#(>w#?fX3})6+=&9re z{aVR5Acgw-?G;|YRvUdS{t)jH7Uc_76QH+PD%3k2(LvQvy?(#lH}L;!@x1^dz zi?aB3|D@bcta>CBU1Og3v1_sc%kQi(2@>qRuC600(oaWyUKo$iJU*SdSzKRVa}hR~ zT$LkVbo%<&hr3BIQO(*MF|(CeF`y&S9mrR}QB(>Xdb{`im7VFL4@LgekG|&$Tis<* z6%1NRy8ftyQJ8IXu4}x$C55rR(@Us^RyMwi#JjcDYcJcek@1nS4nkE9ZpMMJ^5&=_ zl!!n-QO8%W@9uS!?eevq=0+}Uwd4tk-9;6*j>df@7R<*=V-0R0h(0!<#ANe~@f3ms zZ0XOHP4+!UWL{QcZJ(Noa_;9X@~U)+s7#JzDY9~slzeyJ>)Jz%Z;Qf9N9gXjR|1O9>hB^Mqf zN)uqEYp&gr0Kh6lh|_v^Nt!4f82?1;;F!IkXT zMmBjnD+t=Iw#8R*RQ}1Y^kz;2X2LWNAvY@n!9v1puG2zxf@cO&_1g z_(}R@2;8c;5M0sF<>`}};&K_Tc1XXjs=;1_W3Rf6S%?!Bqx&%fjoPor)W4Q@?sU$> zU*S>}=&SEYO4FuY5X)MfIeX7Mbvmkl_}j)$+T7sK$1uDwH1<(yvKzkls&^wLE{4Rw zk2I$eV}c#T8>$)6W=aWn;U~qgBqPprG7$S=nu00QSBi-v<#26*mEg~N+WqdOh`zK! zhAJtV<}7cB$>iH6HZ(PET>Zq}iTCsR0_n>~+x(!vclj(k+W~d0c~fy?*C&Az7Cw$X z%vjMt&Uyj^dUsV{Na@s2dc#EV^yWAs->!4ROa)*Fge3eGfyYcMq?&+qb z85ohalV7pD)Zp^;T-JW99X4||!^#6p+EsO|$TDG&Pf7mK9^Nm(Yo1VDow!_c;;}Om zkfa7&7x08AD0vtwPNLquTaoJhk+}0N#rb^LZ*zv7w!s_nMmf-rMxlRrD*8K4zGp0q z1b60cZ58V-V4hWERZHQGPww0fE%BE^WHth4d9rSP?_+4;T2l=PD{1<$1S8F1a6#Qw z8?&in-TVSQmCwwl#{(SHQHMS5u;mg<2*Ji6r2&szwS z35o31EV5So7^kf2lI9T+t)=YHal@Zmc?LuB(z(+g zeeIk<8HfF$-*HEc((r(zUM1hxs?-|qtlT?`6w1F%Q~GW%!?DBX{H5bsjr$SbU`FO1 zwivNz&Edr=Hmq11_PW@;sL6Gu;*W6?@5OQ!BD=`eM49<_zftcIiFAZ7D30+_zN}#l ziC!bW#|hePR`AaOWs zU;vG(_h?jS z`E6p8Artc<%UwXzeWSmRLGGFM2u`mfQ$<{y1$|QgM$LLc< zGQ^YjtF6X&q+^z)tO-XEg0DTis0Wg~l1StIq)j||1}9oAS+4ZbbB<%AA9A;u()#(h zeeP)FvkU*Px#?oH`p#1&TI`KX8eKQDgZjo*gmS7j16{{Jn|qU|;-Gi1JLi4Y_xgaV z6v5i*pdi1ZO@_rp&zcN*Z}lueDJNYYZO>Vdd6Z9`XdgO2BU`7F&zE*^pp`{*P}&tA zt72BouE;QLdtG*^1Xr%&Ot@k`iOufz=KjHbV${~u@~>_UMdSsL#Sj6bw7dXJh&>}$ z&p8O?E$`oH>nGp-VB%sxYam9yd}5+)crm(b)09KGvD0-M?q6@}Ca!WAFei?=KePUs z%5!pZc_Kqx(-4KnRiy-XN^~as8RU?oz>)!H4zZI_Ryrzp#% ziZnbVBWxZj)M~)?>#d`jvk7ws;>20s?x~AZfEiV;|tgLFO|8vU1IGMVACm_u!yAq?qyj zP+8U)PCsF+caG)8<LHxB!6yh7Zy@PZ778B7=@zqLWeMUwb%oh z+qQpYQWwg>MZ5bfWQI$-`wpehaAf=h}AJQI=NW|vVW#nQNUg2nR z?_}l|nj_iWFLA6)wO}S%^y_gl2KMC~FJiI}AkE`&-Z%9IUgR|`Kg*$IS#iP5@Nq}O zF^PMIYSWtM)^9Cwt791=xpir6xGQzK{>r1fhJQ2#rocq$^E6MwD8q+OL~k)SXvhi+ zF|3v(-l}*cldDD?f)TR5yLOi9(SStK6&gTtu8$K>zq(xSTzU5BF#KBoU;w3?GY z(!7lVW*z$7`m_~hReg{tf_g>79hrhG1s&=lp&`#blFgLuWSF3YX-ID@PNZGgLYQge z#g_u>uL~6ju2p?^rTJPaUgkO~PG&Tf_n_-T6I)}bK+u=Dp5SxoY$GQ-20L*(?z0x9 zq(!UL;p?wdLsNr!?5fY`vlEs+^U#~_;ZaD#vrTCOuY0Ffs~B^`$A<6&FXHY^aT{kJ zf7G_5os$+9s!K}Z7pY&qOMMd`5}J8?#HYwJKURf>$XkPd#X^C%(@(7`E&EV+^cH!C z9mc~^njydDp%fw&Z+ur3pU%HzTlbJmPDhi6nh`cyf599L;qRG@AI<+N1S6+lzi^7z zfc;tyFJ?qKCM_tgl3l1O>^daLeFo33{7$DW0x}chl>b$LvT*(eH?wIJr_b9z^Ll~) zEq9rYAR3iU+572J&pI}{0wI27l4G76&A7Q~xZV^;=&rAgk^ani{>tmhZgIs%iN>DJ0t;q@0OhR6{ z5~$*%O41$S_FdR8zQ(ai3ku|iAO;|8AXgnRL7?@9v|~*-Lrc|9XJe>4G_TX(ynd!a zSljBOET7MCk2Jr}9rq99JuLms(9St?iT*M{DOLZqfzr>TrBEkc$&a|RBo(Kp5}rG+ zeSKo|#yjdJbpWk2!JX?lZw?C9TnxAh6uRuEWpy~c(E{By_@pyoE((-?B0)Tov}(Bs zJqe-(yHmUup6BycWk&Xdr4{1qI2ClJMS=`1JSxCvHRa{0tYr?G9EGCb6`KK2v$b@# zO{I6JYHpE0irP}13U5lYy#Myi`9#`NJtX7U@lRc08q@aiI*Q5qg%eAG!9nlUk*>j~ zZ!+zxSsK(kg=f>LB{FsCrfRdPWh6~-@7OyYk=#d={NrS(1V4ZdVn_`WM5%1KF5o-H zAtw9aA5-1kl5dz6!2fO2L5Z`Y0fUdC#rmMR#?wL{->Lt&8rIDC@GOiD2O0g$ijC{B zB8Bdw{tWV_aaJlXrus)8;*#h&;H*SXxBxuZoLGaKb~AYlB*@gyl2<*YM{0Q$U@Q7Y zSrv7Q;X56%iw2`egt~tW=}6u_TKf`O$?KR6^>fS)dR8r=xKDCX;7sF z^gb55ZRXe(aifwbd5dW(d6Rar*Y|`g$zH|0%^Iy{e53LtK9HN?vh@C*Df(2q^E0b|C&Fdt$d(==5jO!)Yl|CNm;*a$ z$l6=BliY5YOD532@IlooTHFDLcTZ&7RFK7z}+*ij^FS$+HJ1G8G zu^ibpXNuk+hjumL2Is^ahY5AnI$ood*4naDEBjl_AZwU5fGWu}w>bQf!b#a0+?adpE(*0$WnjV2eNO=qNS6q1Jl zd9_TPqC%wep=nR3n|_yZ;wtYPbvk!?^Lc43=a2%6l$72Hm*FeIUea@1y#cI)E3o;E zPn=YCI-dTe?ydYLg;d~yVMA5K5u9F84y;r-oY?eDI!?&Mj7u7lIV?-BG7+tvD zlx=~7o{~UWSw5>{S0JhQl=s3Np|hA%Fre*=(e<=j)^zAz3*_Q3*MISf%R|9bbX2>7 zKC!6@ae+vMBdzfXx3IXN?4SqPS}S1sq@paS`zcfh@lb zRMdeV3u z!6Dw~LKA<6HFy#s!XS)T93I+m7y<4ar3PJ?z0JA8Qv%&{O!6^!-2UF9hqEj*M~3rX z%R4Cp2%xMW7(j$3ewPsGvz3p7)kE@F6?%EjKXR>4QK3pQVSV*hNCL%^2=jq-5^5g6M>Ixq zCF!v@7K3qQAGzYmw+PKVg2@|vTKaqT&PL2vK;*5gHH3gXD3y`3TuFGCspPI%y%uk& t?C>dh<46Q&aK?i<>&K%9>!si|C&@qb{7>9VNC1Km;d62-X)6=q{|ES@RsjG2 delta 38952 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 diff --git a/templates/forms/F99/template.html b/templates/forms/F99/template.html index 3db84d9..3895e7a 100644 --- a/templates/forms/F99/template.html +++ b/templates/forms/F99/template.html @@ -17,13 +17,13 @@ left: 50%; transform: translate(-50%, -50%); } - table tr {page-break-inside: avoid} - @media print { + /*table tr {page-break-inside: avoid}*/ + /*@media print { * { page-break-inside: avoid; page-break-after: avoid; page-break-before: avoid; - } + }*/ } diff --git a/templates/forms/SA.pdf b/templates/forms/SA.pdf index 1a39f95989c362889d0f8052f3d67b795c5dd26b..40732b07b07a4d4bf61552188771ef1e00966eaf 100644 GIT binary patch delta 14460 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 delta 22900 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 Date: Fri, 21 Jun 2019 13:38:41 -0400 Subject: [PATCH 4/7] Template-fix --- Dockerfile | 4 +-- docker-compose.yml | 4 +++ lib/wkhtmltopdf.sh | 2 +- templates/forms/F99/template.html | 44 ++++++++++++++++++++++--------- 4 files changed, 39 insertions(+), 15 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8078f4f..a814a9c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,12 +3,12 @@ FROM weboaks/node-karma-protractor-chrome ENV PATH /usr/local/bin:$PATH -RUN apt-get update && \ +RUN apt-get update && apt-get install -y apt-utils && \ apt-get install -y --no-install-recommends libffi-dev \ build-essential checkinstall libreadline-gplv2-dev \ libncursesw5-dev libssl-dev libsqlite3-dev tk-dev \ libgdbm-dev libc6-dev libbz2-dev xvfb xauth \ - locales gcc libc6 libgcc1 libstdc++6 pdftk apt-utils \ + locales gcc libc6 libgcc1 libstdc++6 pdftk \ tk-dev uuid-dev wget ca-certificates gnupg dirmngr RUN rm -rf /var/lib/apt/lists/* \ diff --git a/docker-compose.yml b/docker-compose.yml index 6e9ee9e..db28b1b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,6 +2,10 @@ version: '3' services: validate: build: . + environment: + - AWS_ACCESS_KEY_ID=${ACCESS_KEY} + - AWS_SECRET_ACCESS_KEY=${SECRET_KEY} + - AWS_DEFAULT_REGION=us-east-1 volumes: - ./:/opt/imagegenerator ports: diff --git a/lib/wkhtmltopdf.sh b/lib/wkhtmltopdf.sh index 4fc9232..105d0b7 100644 --- a/lib/wkhtmltopdf.sh +++ b/lib/wkhtmltopdf.sh @@ -1,2 +1,2 @@ #!/bin/sh -/usr/bin/xvfb-run -a --server-args="-screen 0, 1024x768x24" /usr/bin/wkhtmltopdf -q $* +/usr/bin/xvfb-run -a --server-args="-screen 0, 1024x768x24" /usr/bin/wkhtmltopdf -q --no-pdf-compression --encoding 'UTF-8' $* diff --git a/templates/forms/F99/template.html b/templates/forms/F99/template.html index 3895e7a..823bb97 100644 --- a/templates/forms/F99/template.html +++ b/templates/forms/F99/template.html @@ -17,14 +17,8 @@ left: 50%; transform: translate(-50%, -50%); } - /*table tr {page-break-inside: avoid}*/ - /*@media print { - * { - page-break-inside: avoid; - page-break-after: avoid; - page-break-before: avoid; - }*/ - } + +} @@ -206,20 +200,46 @@   - MESSAGE ▼ +   -
- -
+ +
+ MESSAGE ▼ + +
+ + From 86316093ebe38c9a6ad642a744823737cf5ba329 Mon Sep 17 00:00:00 2001 From: spanyala <31629295+spanyala@users.noreply.github.com> Date: Wed, 26 Jun 2019 13:32:11 -0400 Subject: [PATCH 5/7] Fne all satheesh sprint15 (#63) * F3X Print Preview changes * Fixed to check for transactions * fixed to check for transactions --- routes/src/form3x.py | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/routes/src/form3x.py b/routes/src/form3x.py index 1012eac..961acb0 100644 --- a/routes/src/form3x.py +++ b/routes/src/form3x.py @@ -21,6 +21,11 @@ def directory_files(directory): return files_list +def merge(dict1, dict2): + res = {**dict1, **dict2} + return res + + def print_pdftk(stamp_print): # check if json_file is in the request @@ -84,15 +89,27 @@ def print_pdftk(stamp_print): f3x_data_summary_array = [f3x_data, f3x_summary] f3x_data_summary = {i: j for x in f3x_data_summary_array for i, j in x.items()} + has_sa_schedules = False if 'schedules' in f3x_data: schedules = f3x_data['schedules'] if 'SA' in schedules: + has_sa_schedules = True schedule_total = 0.00 # os.remove(md5_directory + 'SA/all_pages.pdf') # create SA folder under MD5 directory os.makedirs(md5_directory + 'SA', exist_ok=True) sa_infile = current_app.config['FORM_TEMPLATES_LOCATION'].format('SA') sa_schedules = schedules['SA'] + no_of_schedules = len(sa_schedules) + for sa_count in range(no_of_schedules): + if 'child' in sa_schedules[sa_count]: + sa_child_schedules = sa_schedules[sa_count]['child'] + sa_child_schedules_count = len(sa_child_schedules) + no_of_schedules += sa_child_schedules_count + for sa_child_count in range(sa_child_schedules_count): + # sa_schedules[sa_count].append(sa_schedules[sa_count]['child'][sa_child_count]) + sa_schedules.append(sa_schedules[sa_count]['child'][sa_child_count]) + del sa_schedules[sa_count]['child'] # print(len(sa_schedules)) sa_array = [] sa_json = {} @@ -141,8 +158,12 @@ def print_pdftk(stamp_print): shutil.copy(outfile, md5_directory + 'F3X.pdf') os.remove(md5_directory + json_file_md5 +'_temp.pdf') # pypdftk.concat(directory_files(md5_directory + 'SA/'), md5_directory + 'SA/all_pages.pdf') - pypdftk.concat([md5_directory + 'F3X.pdf', md5_directory + 'SA/all_pages.pdf'], md5_directory + 'all_pages.pdf') - os.remove(md5_directory + 'SA/all_pages.pdf') + # checking for any sa transactions + if has_sa_schedules: + pypdftk.concat([md5_directory + 'F3X.pdf', md5_directory + 'SA/all_pages.pdf'], md5_directory + 'all_pages.pdf') + os.remove(md5_directory + 'SA/all_pages.pdf') + else: + shutil.move(md5_directory + 'F3X.pdf', md5_directory + 'all_pages.pdf') # push output file to AWS s3 = boto3.client('s3') From 990fba4ca8dfa65c37507b6cf84c4b9d4721a291 Mon Sep 17 00:00:00 2001 From: spanyala <31629295+spanyala@users.noreply.github.com> Date: Wed, 26 Jun 2019 21:04:26 -0400 Subject: [PATCH 6/7] checking for dateSigned (#64) --- routes/src/form3x.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/routes/src/form3x.py b/routes/src/form3x.py index 961acb0..586a855 100644 --- a/routes/src/form3x.py +++ b/routes/src/form3x.py @@ -71,10 +71,11 @@ def print_pdftk(stamp_print): f3x_data['coverageEndDateDay'] = coverageEndDateArray[1] f3x_data['coverageEndDateYear'] = coverageEndDateArray[2] - dateSignedArray = f3x_data['dateSigned'].split("/") - f3x_data['dateSignedMonth'] = dateSignedArray[0] - f3x_data['dateSignedDay'] = dateSignedArray[1] - f3x_data['dateSignedYear'] = dateSignedArray[2] + if len(f3x_data['dateSigned']) > 0: + dateSignedArray = f3x_data['dateSigned'].split("/") + f3x_data['dateSignedMonth'] = dateSignedArray[0] + f3x_data['dateSignedDay'] = dateSignedArray[1] + f3x_data['dateSignedYear'] = dateSignedArray[2] treasurer_full_name = [] treasurer_full_name.append(f3x_data['treasurerLastName']) From ea1177322ea593fa6bb0eac4c1bbbe91e655821e Mon Sep 17 00:00:00 2001 From: spanyala <31629295+spanyala@users.noreply.github.com> Date: Wed, 26 Jun 2019 22:31:55 -0400 Subject: [PATCH 7/7] Fne all satheesh sprint15 1 (#65) * checking for dateSigned * added condition to check for empty SA --- routes/src/form3x.py | 113 ++++++++++++++++++++++--------------------- 1 file changed, 58 insertions(+), 55 deletions(-) diff --git a/routes/src/form3x.py b/routes/src/form3x.py index 586a855..438c69d 100644 --- a/routes/src/form3x.py +++ b/routes/src/form3x.py @@ -94,63 +94,66 @@ def print_pdftk(stamp_print): if 'schedules' in f3x_data: schedules = f3x_data['schedules'] if 'SA' in schedules: - has_sa_schedules = True - schedule_total = 0.00 - # os.remove(md5_directory + 'SA/all_pages.pdf') - # create SA folder under MD5 directory - os.makedirs(md5_directory + 'SA', exist_ok=True) - sa_infile = current_app.config['FORM_TEMPLATES_LOCATION'].format('SA') sa_schedules = schedules['SA'] no_of_schedules = len(sa_schedules) - for sa_count in range(no_of_schedules): - if 'child' in sa_schedules[sa_count]: - sa_child_schedules = sa_schedules[sa_count]['child'] - sa_child_schedules_count = len(sa_child_schedules) - no_of_schedules += sa_child_schedules_count - for sa_child_count in range(sa_child_schedules_count): - # sa_schedules[sa_count].append(sa_schedules[sa_count]['child'][sa_child_count]) - sa_schedules.append(sa_schedules[sa_count]['child'][sa_child_count]) - del sa_schedules[sa_count]['child'] - # print(len(sa_schedules)) - sa_array = [] - sa_json = {} - no_of_pages = 0 - no_of_transactions_in_last_page = 0 - # print(int(len(sa_schedules) / 3)) - if int(len(sa_schedules) % 3) == 0: - no_of_pages = int(len(sa_schedules) / 3) - no_of_transactions_in_last_page = 3 - else: - no_of_pages = int(len(sa_schedules) / 3) + 1 - no_of_transactions_in_last_page = int(len(sa_schedules) % 3) - - total_no_of_pages += no_of_pages - if no_of_pages > 0: - for sa_page_no in range(no_of_pages): - page_subtotal = 0.00 - sa_schedule_page_dict = {} - sa_schedule_page_dict['pageNo'] = 5 + sa_page_no + 1 - sa_schedule_page_dict['totalPages'] = total_no_of_pages - page_start_index = sa_page_no * 3 - if sa_page_no == (no_of_pages - 1): - # page_end_index = page_start_index + no_of_transactions_in_last_page - 1 - sa_schedule_dict = build_per_page_schedule_dict(no_of_transactions_in_last_page, - page_start_index, sa_schedule_page_dict, - sa_schedules) - else: - # no_of_transactions_in_last_page = 3 - sa_schedule_dict = build_per_page_schedule_dict(3, page_start_index, sa_schedule_page_dict, - sa_schedules) - - page_subtotal = float(sa_schedule_page_dict['pageSubtotal']) - schedule_total += page_subtotal - if no_of_pages == (sa_page_no+1): - sa_schedule_page_dict['scheduleTotal'] = '{0:.2f}'.format(schedule_total) - sa_schedule_page_dict['committeeName'] = f3x_data['committeeName'] - sa_schedule_page_dict['lineNumber'] = sa_schedule_dict['lineNumber'] - sa_outfile = md5_directory + '/SA/' + 'page_'+str(sa_page_no)+'.pdf' - pypdftk.fill_form(sa_infile, sa_schedule_page_dict, sa_outfile) - pypdftk.concat(directory_files(md5_directory + 'SA/'), md5_directory + 'SA/all_pages.pdf') + if no_of_schedules > 0: + has_sa_schedules = True + schedule_total = 0.00 + # os.remove(md5_directory + 'SA/all_pages.pdf') + # create SA folder under MD5 directory + os.makedirs(md5_directory + 'SA', exist_ok=True) + sa_infile = current_app.config['FORM_TEMPLATES_LOCATION'].format('SA') + + + for sa_count in range(no_of_schedules): + if 'child' in sa_schedules[sa_count]: + sa_child_schedules = sa_schedules[sa_count]['child'] + sa_child_schedules_count = len(sa_child_schedules) + no_of_schedules += sa_child_schedules_count + for sa_child_count in range(sa_child_schedules_count): + # sa_schedules[sa_count].append(sa_schedules[sa_count]['child'][sa_child_count]) + sa_schedules.append(sa_schedules[sa_count]['child'][sa_child_count]) + del sa_schedules[sa_count]['child'] + # print(len(sa_schedules)) + sa_array = [] + sa_json = {} + no_of_pages = 0 + no_of_transactions_in_last_page = 0 + # print(int(len(sa_schedules) / 3)) + if int(len(sa_schedules) % 3) == 0: + no_of_pages = int(len(sa_schedules) / 3) + no_of_transactions_in_last_page = 3 + else: + no_of_pages = int(len(sa_schedules) / 3) + 1 + no_of_transactions_in_last_page = int(len(sa_schedules) % 3) + + total_no_of_pages += no_of_pages + if no_of_pages > 0: + for sa_page_no in range(no_of_pages): + page_subtotal = 0.00 + sa_schedule_page_dict = {} + sa_schedule_page_dict['pageNo'] = 5 + sa_page_no + 1 + sa_schedule_page_dict['totalPages'] = total_no_of_pages + page_start_index = sa_page_no * 3 + if sa_page_no == (no_of_pages - 1): + # page_end_index = page_start_index + no_of_transactions_in_last_page - 1 + sa_schedule_dict = build_per_page_schedule_dict(no_of_transactions_in_last_page, + page_start_index, sa_schedule_page_dict, + sa_schedules) + else: + # no_of_transactions_in_last_page = 3 + sa_schedule_dict = build_per_page_schedule_dict(3, page_start_index, sa_schedule_page_dict, + sa_schedules) + + page_subtotal = float(sa_schedule_page_dict['pageSubtotal']) + schedule_total += page_subtotal + if no_of_pages == (sa_page_no+1): + sa_schedule_page_dict['scheduleTotal'] = '{0:.2f}'.format(schedule_total) + sa_schedule_page_dict['committeeName'] = f3x_data['committeeName'] + sa_schedule_page_dict['lineNumber'] = sa_schedule_dict['lineNumber'] + sa_outfile = md5_directory + '/SA/' + 'page_'+str(sa_page_no)+'.pdf' + pypdftk.fill_form(sa_infile, sa_schedule_page_dict, sa_outfile) + pypdftk.concat(directory_files(md5_directory + 'SA/'), md5_directory + 'SA/all_pages.pdf')