wFpSMh!KP
z&Lhv<+guRmBC@8qmuXpO@#VB)yOH(na>oo8cl9ge=xW`mwTH?p+e{ml6K#LEz*Ukq
z53aj4N1DmQ!-Muhv(KlZBWIA1?|sm1{?F`k&@F}>?M$X^PX%3`r1~NX6p+J7Dktd%
zjgv;!Y@|WMq=9Wx?^UzaYHCwck(y$u$P8E1i47MfV#vD3gg5|g|
z&TVwQsTHbXxj8!ySn$e<6~WCncDdK*a+lcjUPrL<$Q+e?sLt-RN9((bEn1DK;LVC~
zsI~4pvR-4T^;cE(xl6JyvLn->Xi1~D#-R2OMUg$X`1N#AQBk?7yybbwhkESG4(!W1
z>5a@o+Y?k^rUDZMs;{YLfhsbV(=}yeC@Uyqy@_o|%gUFY;6JlHDY^a*VVM_JEzX3UR8o5)_HwOxK#|
zViN_SY7tqs!aipP0}bi-=z&Wr@M@D(8@8w_C8Ix9juFAUssaE-(p<8#j&2{e;=r_~|dQ@d<9#F<1pX}0)wf_ytMrx3)x-Avc4oB)?M$)_+xFY!>#cNyg~rTuwSjgT
zXv{#{^oR6pTu;|%=n@T0Y3MRFO{wVynQmY-#R%W9T7y<*gF0t6{eI9xvtPq(>iueP
zVNkk3l6AaDg{yEzS|g$?dJA-t@KH_(H7S;Wbn8+zbcO*VSdhfJgdP`br0?Fo?b%(o
zYwnog*Y~&GM*p3)VWEFvYH^Lwe{&fHqSTh5)lp4~phC+H(HOb0CM6?>jId{?XdG*Y|%z_4Vzf&%RB1`ds$gNF55gga8AN
zGwY>QnHmx*mv%4Xk@jd(dJx4Y$u*K_VSP+
zuJH#pZv3>oHhnsn7Vs|3RU%O-bL*RXV4QQY(5Q8oUWE|6FzoE+}1txwp(8X5;fm;ddc_&cxaPC7(0w-a>C&+t!Au@OQna
zZ9L6RK$h@4J9pFgYOt0>I_3SwL7JFhogbEO$KNuk2J*6s!J$TV$hDc#OPgu9nWQFL
zQ>aPS6{aiFte}zH<)kX7SQ+VEyIicyx!cM1IH=4@0V^4-)M6R5Fu$eL!VDHN8oYHC
z!Klh!(-26KTO*Qg+yde-AXazm)Cm~R%lV#Dc}euntC*l7?7kR*L)uY%f~+IbxX@OJ
z;lXO658Svuva6}QLe+lxp_rwva>bV|!4>_5woNQl*fy!(F=sdWJmHGU^v?C!hVcX?mW!P)7M!R0C)
zY@8Tf)e3sRK11Eu3CQ{o_alfqO13c5jf)sskCj##HW^qipf;=h#ER@*cuOLH$s;PD
z!pY|r;pW~XfdFTOP?l4G?wamb>zcPurQ2H?XJ$?;Qh=T!$7x80;Y|Nw<5hi`>|2Wz
z;Jm|W@D^ymqnlS|)<{WPlIdb0+7_Tuq-X-vS3rZFNe^3P-(+XokeV-{$|zMusJfV{
zib!oDW+0inodlZd4JAbp$*GqjLB9&tG~Y}-iUB_q0l{UoSWvIio72K`;L&>F(=9r6
zifNZX1yGnX+wJnIf@Gr3?4D?An^x`W?CNU2NITQo_KT(!I?}`?X+54ZiihdM>@)(
zg$zJd5*L)ngVqC-d@Yhvgv3SX&MTVYL6_U5b6#=9bW;=Sz0=ueR%tEqwL{re^tB;A
zr!1As_p$_=g1z1$t&)C|`KK*w=wJ^W=%xc*bWI0c+Cm4L>0lFGS5G&j$e$oXf=nfa
zCCnG4@(4`@$rLOMvgTqk6c?aqQ*JAw@**nplhGgWvzUuKE|Os++F~}Qve9)$y4FC~
z>Y*#$DmE3R2KD@Hji|N=7(%I7x1*}MnYER5dipGl`AlS927-bo
zMLsg0a9gTk7p26qSA=jjd~;E9hsvzH+bie_xhRAq9+UzFB=(WdQ0Hv=IKGq*ee=pL
zPl}$dt819+El$Qm-)@UW)2XrV*O!!(g{#VAJ#~#cRLzwGhT+DV?5jPswY|NywLLF{
zs=}e?eUXTdUMlbDtEdk8e1)-C^FV1l9Cz@TTSE0^fWy^xFu4R{Q?biHIB4pPhfn$57*)G5xnMk#Nv!)SU;<0
z8aNb)Uvj0W!~zwEf(O84SO=rivj|#3-?9@M_!#pq&-aTltbn*aQ#>ntH(i5i+_c>!
zL-aQo$tmd^dW7qlQeT3di80~jf_#uOS}ygl3%MJ?^%~DRB7@^}>+I9%{`$zlxw$P?
zwH6|x{PgP+BTo4WOiU8TlOC`erP)l|oRLP2)NQ0~1{yKYoSxR{sasD;J&o#k=y4}e
zk3_Iw75NQY&S-#Bp%ebZQBml26ly3RNn8*Ug2TcIgbx9pGo^LX-5*~)J^kCA&%OB6
z@FmbQ4k~&l%X^MEHoh)!>B|@yj2;z1zAoAzSSiQhhG}-BOywqg&}xT{I<+%e)~T7%
zuuk=insusXRBWqEeKIu@-{2ToD)xKy8g0O?XC_|=Ta^bPfh=y6EhxL?7+c(!+;Um|
zL-l-%au)SMy?gUIo-?oV3qn$5V7k}bx?_7Hwk{EG^HfjsPiWu@&bu@}G(KJ*c6%x(
zI75ria{M3zpH3-~vF|pDeZy>ay+&tqiaqlz_Zk7PkgR-WSV>Da%xAlHFKn1z`r7!i
z4Fkhe(Xq^cIqa|=Ix-0n0<)Dc-6#t3!nCP~hKgvFZ7mk+%+{b$d7SR++_|%}PkAK$rs}e}XpIw3TO&34tGe6Ty03~|
z)z#kKb(PrLqw_5XKk>GR=A3
zBWT2P#60Zj%mXbfF_hk%WdL-BN)#ik>n-**7yz9E!T=z{UEKWIad%J;BTT?oKfen0
z3a3|8+L&p~SUUcL~qkLd)~;gh;DiI}&+
z%UoWnL)t+{d(k=vFiBLPe>H3jKysS&G=TRm>cS
z6}vh6o-=;NnMC=4C$3au<>OQ;}T)2@z1B0;+)m`)9>D^0dI^eZb(hQdOd)mE~8LupA>
z8P-~kwKlQ)U|S7mYG-{^>+ABZ^U2V|8Sk)n)+^U~DdeR|Ev?khZVfTJ)oC*5>=v8B
z=vK`36Fi-G?734%xeuJHMCA)h=RBweZgpXa+&Kp4|GA)~q!|_Zt)bQ{t|&2dTKgTn
zYp7!AGoKmC{%f-ir8JxdYv3OZKx~Ai=}gCNQJtl?_$@r|R-tLrup$jvG&~$!uBJjY
z84wy)kwI0UDpSeLGHDCK0jI6N;V}ktSzIB#j`74w4(qum9vlXDC*VRTY|a%a*Qr9I
z;zgPb6o(^Wqmw08_(I`sf4yQA*o|I~!DTVIW6dtD+g-hpHfF!c?E|XGZil0%tiy!G
zydnJZ6`9H!9(T0rNf*-9=ujWWYb%umo}5t)BZ(&?)`eUUX%VaAjI%sY!j%NJWtfNQ
zc!Z>G+cVqlP~EW!_QX|ay%cyuv=i~)dBo{ZGf=|=RJk}^$X0_$m1?`04hcQKP0z`R
zJ+_?l?5}g)LX8uG++}&(B?sRN^PGhFj@!aS?4-)`D_BdJ}6gO1EYQbvhc>5MrMQKJ7v9NkyUnak2I=E;UMQ(7)M=hCQ@F6&YaPN*74+5_g{1U&PSfyfAcLQ|Mkd`
zx3X_P@r0m*X}(|3-Gw+=YM9s64!dXFvJU<*1TyTbegh$3h6ox@X|gsg9iK+
zFzXG-Rp#miP~Q!hmH`AF5CLOUPAiC&VW313)j_ATz!GtPciYEQw{Lp7tf?uU2+mlv
zrlM~8bM_XxD(l|aAI|Y5FWCG%aI2RlGwsYsHRx^|HppQExeVMpPsBf&T
zosE_Rbe1}Qc;xXy8>&-D8k=vHKFeN!9WP>Gxrm*J@!7|QzboJK*Ne_xgCQJ!jtAZMLRJ6CkhMbw!s
zuPm;iqI_WuCDHsE%8ihsgwX$w*dcl!dc)8|BB{K32e?WAgg~H>cU9mUB*9Rq4MkbZ
zc;++B4#nFb@S2-jBkA@6m&@1D9O7?Un+sf2S>`jjeeQ(AJ?^%Z@>g~b@W5*$htYbO
z1-`%^8Fa*HFasCny!;PhOt?YZH}QI$QRk}d+sByapr5k)GR4^-_>jX}Gyf<01A6L{
zut6AR4-Khtbc0Pc
zH8-cH3@eR?%PpJxd<#(_3TjE|cS#wwS^hfoKCMK&OR7m{i+
z?gEe77c7EkG@FVG0%p55O`v`?Vk=}p
zZ%of624^;o9PX~C6KP?6roCEjJfLR?3NC?O$0c6-!BkzUCe^=gU0-8OV{Iy3lkOQ=
z*V|AtuxoH|7r!3w9a-03UsGRKk3Z-g9_htXU2Q|n50zi<5_CiTC!4`O_VUU~nW3rD
zhQcR{P4c>&dV|^GwAoQ1i>-VVSm6?u*QdU8LcGEw$529OG|`R-#Gn!sCPO0Hy7xmO
z1@NJLcb0zZM{_ScQFc2$_7+bByp>s*`Qslms5l2cCh_Lx>O9
zvC!+$$qD?BA^R3mYdEa~-;F~~{{nPvLWf^j#!(k8vRYb;%Fzm;?vbiu4#ZiNVZ>hM
z+Xq`35Z5c6Z0};J0pUE90;8Fmc6?hQ^T`r%HJ-8E6TFbLn8n9KrDqv%>jxJ)2Iv5&K0BR}wGO(Q;b@ybJxO5W|gtjXSz-a`MTkDfWxGxjFoG3GA`o15dmcau9Ji
zXR^gE+3Y2CJ-R@;Qx&Ql5S|+Ed*sx`gV+Ilz%zWca|aBgjldaKV^yr7z5|lT<6Nw$
z<=QUYNdFlOBnJv~;i8K2rmpJBe)V8gU0u~m^?{hF=eee)*_&1l-ZYy|&)zh+@}_+?
z<&%eRnV6iMxaIKV6y07O@TDF8gLMVoriPJ<(z2@2_2@3#94h~(8yCNIBfgz|spml1
z#00*~nMLqOnl7V@v35OrHj){8h2EYBdjqm5R^|*6n*9WeEbP8q27;7G80<)GMC|{Z
zG4B?62Jnp{pG1-&p&{+SFqB{8?j6lly9UY}hBRBzq`umy)w+D1T6K&WJkbJIb@>M;
zy4;S!Cb!Y1(`k}5GoLmZbY-TdCIM%y^clJnvQ!O=$@!?tpk+GLm-BrG(xTQWhWrdf
zrg)^eYp$u=y!k(_zB)BM{h1@V9}ELI9FvZ)3VKe|a`AK{)I1mCLK$NesC1P5Rg7g<
zGwqSbH!I({u--n^0v|b1)!K`0YIN0BbhR*7UrXJ}22)W(?U3ESqEQ=8q)^tOa1)nm
zTvi*$v!_(*ym=!KK&Yv-W89Pn!S(Fr;3V_
z$$En=?G6NDI`aC$S44aQ-vjI}x|zL#U1oj+31DtpV+TRVz;+s-4tCcdFKougbQ@CV
zkD({D7;@jML(I?=$R{*~++Qfq<#F0Nk2dcO=K>BiRax2AR#{n5-q}9UTo_2i3j=||
zL_C0#bvnx{@NrvJ#Y9KE06%f@DCSLJa^5>C!>a)QlgVIKF*Q%j!(3IND3>c|-u4U*
z;aU$5DEZ@t--0ZM14wVbsPvMKj?&(-JMI|!80WQi`ZQ(akQC>&pC#I&sN}LcOJa7v
zsOsVBjH`RDMY)dWa+EvxLcQk`b~(yIPlJ*LxKQXaMV{UM#Pfi&jmaAzdoFW*)0
zz3gc^l8WfmBf;vpL+duXoEEi4UFvC$he}EsL&Gi&lBgV}GWryy0aH2G2nA&xcPL^s
z*jc0~;qn?S*ipQ47CTBPTkt3t6Y%9^KH?-o~B=p_p|N(zS@@dluFYcjD!nni-W}lMMY{ubvj+$4A_?D
zUQwaHV3#_Pde!z$PtqaQdAs~!v5t}X88!sEg;Dcj2r9({_309zntj^qgZ)<1N|C0+RpRSD!a{WFq!QZUNVb)
zE$l;dTyVpMmuZ1{!8uUb`1iAsbh@*1(`((GD?0ydXm1~%?8>zN^>=c?Uw_AG)hGQP
zy*wMm-a&4C5g!-;eK)ibojd&R`sZ88H~&Y(^Kc%7!_4dsqmng&XgrCDy>&{AE|G?=
zQAqc|zS3a0E2&S0yMu1GeWKRq@YK30UG8#>S4a0#p0LhKKx~5g`b+2yS%HCFmvrp94p5|~doL6)ijbcxmQS;*dh7{Cznfl{IBU894DQIrK&+i6(TUK|v`ADgD9Q`cN`c=P7EtFKe@6Rn4s>k+Oi-
zW!Gp;C?|pdm#DR|v$Ccn5p?5YlPyP|V=&&ZwnaIoq$(8haNb0rg^+rD^{`BmWKJ
zP|)$`XHf6{^T@~}r+>AKpmfjqgr?YM(fI-TiO^wZ^r)E%I7@Q3jk6;D2~U+ExrIc}
z1zjPOI#fckBk%xClT)Y-2`UjSY6Wd*QET?{7PW|XThf7lxfV70=)P>Dsi2@=^r(eH
z=utzuGS{P4R+kLMb3JM@>S@q#CEtK-q7hBZH5u^I%7$f7N1^w*8Cx^pO($9sH!vOcSzltP{76G>~@DqWwoGue-R3k&Ax~PzII?C
z2Z!w>@PUiRc$Y$hdN)MtqG!RASaZwp^vv*5h-lz;Sp9i?tQWM1NKKhQpoCmeGI^Ik
zVgry%K*63^0!uZN%5o^2A_)|SG}lHI`%L&XXF>JtKykWwZPHa~sOxkG3d-GSe}!=w
zjK!rz5w9`QRfIMrdldYw%F%DFfS2cz+cHG~H@RG7wKyG1VKzIhi!kR-aLMCOaR8S?
z&22dD4xR<(ZNfiX2A7xnig{S>6|nf>O>kI{HHlNiS-8kgK~KzzIP78@Am4q9wB+y3
z#vl)2U@yYB^?EdU%L+!yS9V4RQ0b{-ujORaS@T#-i}RQ-
zU>;;Mz1rpTye$mo{6vZ{S~`z|`=^jW5J4uU<%^P$PqCSJdtlCvIfV!oxb|rENvM!q
zQT5W*ks^DR&-+J3@Z{PC`T{ZaVppp+jbG3B5bpKPG!$7
zpY%gYKu1}vJk0khLp&3`ayi<82hBG0%E{;yLw>|+qFl=yKh8?TheX$$@OGB;%^}d3
z@-8&bP3LH*bkKb~UkA#2@>VX+V=*oE<(Y8;12^2!lXw1kIQpQmE+t#x5C0%G8c%Ztcph$kiG<8F6{?&DwJECae-*coK(ii23=8(
zIlJXN-7u@g%4c;tlv!-`i(0)o*CzYgW*W+M
z&fb1IT|wzwt1LC1$~Dlw+;u9q?fm1xAt>s!{vQ%^7=FNp{(@5fe&~eTp5ooB+7XIT4{WtgH41fIg0WT
zN)c2Lh8@x&=jc=;&gbWCSIa)jng9GvYqWd8<`TVnOJOXHa~KoBy;-$%i0JOX`UbY0C$3bMEb3qDTSpQ#6KAs=uCzP%C9#H=!w;vUl
z*9+RWNysI|YdK!aTB;frz|AGX04_N4!XSM&UOis}<5WQ~Z_9OfV9U9hV9UM7GG1KH
z&8i$P4~zAbA_k599#52&i!~*Zl?!Wn341r@$vM>@&6O)
zkJH_)_uSKZ&)uze-PL+GOf$&Y_W7sLSNS^fOc7uKnJ-tlHfBO*jgFxwbzsj96Ax<;X53nk0vI&TQkGsXm8xu)0A1gesoP|oT#$C0S&2ZD(dUe
zkQ!r;m2SOx-95asF*$SN$jAAM?18xkI#SGAQnSA=5*@0Wnz=0``oplN-8dBmQm4Sj
z8^JvOg;uZ}phD`LvjITc?_3Ih)`aOK!0~Ld)d!?c%(Je7$^De*pQ>g?R=4<|PeJ3wX}=Ia{z+;Mr|JaVmpOr{?C4DZR_ba^1}L-N%kxt8^|?`emh^8GDVSDxB%s
zfSUVSp6?DvgLZ9k&|7Yj3KHQ+u-N9*Sgwk_#Li8N9aVxN`WwB|fwJ8~1
z+Bk&Jff7pLstbk^r_bNpD@hg%C5+%?49%3eQnef(V7rX^ib&F5d>3DKwW
zcdtjk$&-NpI&Z&)FhD$Cc`!TB#wz1H@&rW(X$m-Kz{?kBEG^07NnXR~ll)8EwT
zm5&l#@aq0a5mFbvzWWtFZz+F@3}{miUttJMZEdSE12qkyWh>;#CZ%jA$Dy!T{$BdM
zTMX)g*F1DCbNp|>z?rtqQe3p+P8>}ce^YZ?d!FK*Z7t2`qPS8Cl*5PcfB#;L@Y8NZ
zeCvWyko~Jr3V*|*g{DyDJx3X^_hsnxk}rX&=1yDv~(9c%)S97$0jncJcGmyKkj1U-%*~$q}++T?l3P46oy`|
zL5-K)H8XBEb2&khlur+M;*Wf8)6ZKeF#vf!Yc
z>s34p9>pPv-g~C7e$a^!>lX%QfhG!MjQ5&GW)54DjXfR&o3;KwDm!tXKvww{1ii
z2K(j0@tf0%?*;L6P8XgJW^!=-r&`7n>%MEd!mR}6kO|28b-hefZN4qhmZ0A)yGEYurv<`wOJJX|z7Js?6t
zyyI`7Cmy|PWLfyW21j%7A}fi@u$&hwzRwwDbXu^2=ork^b+Gx9_Z
z$&T+UhEQ&P#jzTl9#=>s#yFAlo%kAZFz{?6ycQfWkIG4=oRh}uc2TUUxK2Fl%i{_8
z9!9P$N2ecGA_Ah7Q6NV2P@})=XQ<_A0$kOegsHrs-oA8QPS7pw@t`7AR66r2t%b%S
zZ#k;`f?sh%>}^;M|ept7aSUhK&tZ@5Bl
z(i9yPq
zt8r9F-pE;5zUA$4ljpLc&Tg7}VY#)$eH(s`kO8#kJ#jo)6ds`
zE##}uQ9i=i^gOL{+5Zs?e7=S`s^r4+9I(YpIBc;+*v^W%iZX4byz^Wge0&R>54JZI
ze|Z@pmpAiKrQ%a8#hZu+3#^qU7hzlQBJ%OT_kc~=Ugv}Ezj7PzytsQx@d=i~*TUmw
zCDk0lWK%_I31vm`KKA)S%<}v&zDvaNJTRA?GhTWA1)Ra8s%1QyKz0O?nUYwtRPaKw
zJh8BzGb1w>!mW90{oQ*zv;RwxOy>t$k>${zxN}(w_n+gnaT2)1r;srDp?qS4x>mWnI
zkkpWK(RjE3&2q6wfg{K~M#yW}kwNHrO5f(
z<>_?6GWe1le+u>zallu+
z1b_LU1i0n`@Ry5%o(F@ED$?Y9FtVEz^$u=cq;X6t<$0S34kHneMoJQ;OEG!kCB=zC
zm90|$aUswuKJ)nyIwp4E`Jv6(4Wd^L{OCe#6SBhXfR
zUsT05ir}iUhtKSXet3Giar2ThT^4$wyWWy-&c5A!&X#UjTEu}*D&)C;pSLiO#{+Zt
zJ>GyBm=GqJFynK$5Z3THv5}LM=S0X#L7cNOB44Y>MbVcnJuK?wcuhKxB;|29Frs9eOj=wl@hc*4l*h1DuV)KM#>S4Ks!Z|RtJJ|<3n
zc8yGr;6Kfj(u(ZwOZ!W+AExe7fR22i{7cl>`jIsPX00xtS*moP{|cu(I&D^*k(?7M
zJcuBKGzu(uL5H$)7cJC=#p9pD_QgWS_8$^wmtKDP%B9CcXVc4%%WUb*9b($s
zB8q~}%BykQ3VTZ4hnNVrr@QzbZqqkahaJuit-h^1R*&N~n-#BvgDn780s!ZYf+UvO
z+zZURU?48WJ${+F{2XzQE4w;wP>xZ!!LroiUI=!4b;I&t$A%5LlNIKrWoFv<@+bT#
zenSWHCw1s80)3X8Kxy!oG}bpXi&H3Hf5){ggK{Y~deqM!r0!RQ4YFS&7e
zW_tLRH5Y!$B>Td|1V8c&{HB~Aa00oLCcd7)vJ(LsQuR&ZRDg4@2hNqkPPwBp-=)D!
z=`PDH=z>lJs8SYmVFv@S_bH2!bGfax$ZeS+AHjnLBdS~S`7M(zpW({;ii(65Qfcul
zzkGIWG0`=hv(Xlh_WLxKJfa?nm5W@Oja$L_bNkHv>_gt_BCv)%ig1zeNf*xSLmdGp
z?vkVXvLnip^GEo}H;6?s2{r5VdB_$$>eaZ^;zt826Xd#?`6OZrNPxv2=G+YVR_5#-
zx#4py&FqANGs2y<27iwA1Y0(9I=oMQm%z5^ts5Q==;FESD4$a$k
zyjoa(sCCz3IkE^@t_ZqZF1=el(5i1WJFl$|>4QZ9qgQRZQh()uVNJTRc-ErQSQGS{
zp{eVgeHNXAA7KzLEyw@-P5Max65q*~qD)T8UKt{Tww
zHn*|urHP6_G#aRkm-2l>(jeO;J&!&pBl@6pOwBD(#6xgXK~YN{5mD#iUkOv|RC<0I
zq!LLJEv(!m#7Ln3_lH#^xh%L(jUG3Q;5Rei`Vm_M
zXW#LKBMySvZyfG{P`W(|FG1YwFdfmlO0T5P>o-^@>_>D7lXe1OgSjT_Q;@_X|j4KD6d$j5)r?81kLwCnhB`$qe5dgSzH*k;FO`?tSs-wc{Y
z=hxBe7!&7>qkrFO@@OMLBP;eqBk17Q;#@fFJ^1)AD~|EeVE~@s6wRPerKncwG%eL~zvlgBo&
zhjHo&ItGpC3l=Tki11<$
zW~&e#{#);mdsfEltTDd!_uWI6Zo}<%HOgIg`BNrX$nUy~vmO8To9k-d?WVgzuAzTh
zdRg@3L1N>^PAVJ#46fvRNJ-fsRIBxVaj|6^yn;SH>ECnT!Ks6cR1p44zq8Q4m+Rca
zcNm1+%Yv4=hxuQF`n->;y_G)OgpUO*#q;klGtT0uLia|%UzG?JJM?ykw!~Db)g|?b
z5MtxOfTtoyVD65+ggpZ`g#q|uad#E5ck;0Wh!RnUw@~`yhK+-EK6jLNHhS^Q?SwQl
zSETCalH>kulSGqS{p&{#MjIlP>kfL3y~x;$&-yN3S6IOe;b7mTU3x=Yr_Ws0-=&)}
zObljp`nW;gH8=*5$@O0qh2&-|MvFQ;)D+mQ7K7LALwz!-na*vt`wUh@`Z$9gg)$Ro
z^6`C-W5uu`aCZ=Ka}cK}Rzk#2j$*^(4Xhb2?goNR-am9*M=kW>8#_WBp_Z-1ZNY2i
zy4Zp25gKW0^Jbr0^Qkr2@4+yge4YWAG
z0W{7xu0FJLuCuGBYrAe+cXvm}=E@C)Yntc&W4NPjm|yI%uI}ysvon+F=-fHm+7d6h
zGBuLDp?TG+W*2`@XzB-W94s=Def=lst(_ujg7skVM=wuk1!E>Gp#%1X~7jvyY)9j5dvnERJ*
z`&;KOXsB9{XgzA3_wNzb6N2byv%D^pH=6PSgehia(}(B-eP%o?kLL)%d|1S@odOy$nabsat>Bm%u5f`V;o+<
zAZuK8A0WR$DihDjGK~3Vi*eP6wT|)#qpzTTPyW?_PNR*LpSv+VO4@fKQtIdN+Px9{
zmio{TW|}MKOr9LN@fV|exAGjiV92zJw@bh8K631=olANK{bu0w~73hUoL?4i+5-W%Gh{eTC?-q){T?S#ks4H*`8{{um7
zaw8rJ3K-a_Z?|s0^6wO3>D+5n`|!aJjcD7e|A6rm1`HT8Ftkq)FNU2G_v`S!BS!=U
zzA!O3U_?l_wt?OI^&1YaoeghQVJ(yOxug9;T3eNO051?W<4?jrOKjhPcaY%7`c+dQ
zdYVt(*c9JoXy0FVX?Jhep}ig&)Vb9<>x=`Vy0#nGs%^J_ulsOx*U&-TTQ~YCzk6yq
zO8i8~{iTWs=xZD7*&(E7xV(W$o+$j2KMXSD7ZzK75flHV>n-m?xx*`(CO5vK=~qMb
zE1Di0e&ZEQEnl%Ly2Hzx8qVM0Bs}p(5q?|J;NB$k0BYpu=Eqx^S__AVO4A7oV@zeI^Iwe$4x?BGSE
z*8UCaUirhn|IqOF-&^|szQJl~Xs|ANuFv9or}TO%sz+3hc&ecu(PJp}_?c^SeLdRv
zdHc8F4f!6l2(R1qv}y2~HDexr*fP^HvtfI~cI&(bM?>Y>HLImOx_t`u)9<`y9l87$TKA6KI)%0m
z@oEzg9MVzVd)*^v2qwM?jVAG=da>t
ztJdI|=7+}5eJsC+GTVJD|G)XH``Ck-fQ9a3&t_@7XsiF=KJU%(Ywlwo+PnAN$G*y6
zed#`K#qlZkv7cqII_o}etwM1jQy%V)ZyX1xN!IS}^KDdTE3YoqB8O-hc!#Mczbm5l
zTUTLaIp&wlJchfEt*VX3Sog7q8srh_KIZo_Z=~^3ojn@!dUO1-JB^Q;=pnzsDrNEx
zHczYjn0Kps%I~nsc|Yp{&q40v)~dJnd+uZZX2${QJ@2pF=i8_uKJso2$r~avJRHAt
zMMBKNMM<{a^ZM8Z4H!7kHg|<>>XNvaxyus6qE;-m+j=iwzC1kMeI|)B;q&5`^yz0?
z9+R}l7HLnkCp>STZyOgMmt>m~y~J+o@$jOU=i_^X>s_RM;j-B1gysbfx9Kaxb!|`B
z6B1+M<7@-N2Midf&xg6Q=r6XIL|e2iDIt2keMxk}Vq5%zn`8@bUhbpzc}ejJw(-$P
zNik;T-s9t=llqut#MzhMl-0H{AwJ2T_}nskxGidt-Ikb?V2@jfMpR+u9upfqZ?SDj
z^kTa$Cdn2v-yR)nTR;Vipet4=L$tX0wng^n`LQu^_QY^^KDYcfd#rt7blg09ffSK=
zQyB#?I5#FPCT^iE>E^l%n$=w(#V5tvmL(!VoGr=z0#%9x^WZurZdv@YL|X#2Q%rcl
zgrvlR`S!$^g>meXqGMuhbM4e(Poxxb&yPu5YL82do*QeoMaRaj(B(wOt+1JS>aI?lhni9(=JsjR04OP3)Lc(q-?B(na60=#xsNg
z^eqE9no9~BYe|==IMU5k%TyvG?rSL>snv$I;b<*-H>D5LQa07nbj3!#L~=!gBi8uNLsPCEmhY
zyz(fe%%jA3%CYe_y=ab;sH=I+y*VGRuZXRhGXGDc_7I(b$y5tXoP-)KMA7KAKn+ro=;I*(8b^(-&X;j4b&H2L+F&}`PvZMjw+78y
zgGo1)Ag#!qVprl@bX&dhJ
zspX{1_sIK9_`NDdN4`7{@MF~N&&a0@WA7lIWQ4F7JCr-3_RQ^dWYpA|JD0AEXuEUg
zXX7bW57rvq!|13N?;Gt+YuJ}HUH#-)I+94MGl;v@A^hs@Q0{kz@eFr3tN2H%2YFBF
zC^ecV*JJRR}q@T>&|E8*G{2xRlD=(we47i!8W~nFDQ;g^4sHfF4
z>Nkw$qAgbDxK^pv>L@d#SJWD{PQ9W&Qrp!g?u%bm=hchqEmff^8Ogn?lGQgVTU}Ql
zs~xIJIaIaUsCKJ#^_}_)el<_Mf&ETl!IOC4|EllR-_&V!73=?~eo%i`pTlmsTCdKi
zf2x0BlVVk>UQ+)B`-_RzSgijEHh2!ZBw&+eSm$}Xrii%tZ~XFq)bG@9)j{kcNx?E=9FX^
z8-FuGk6d|!IiAs-92QbL`O6bTeMQcgAKCknrk}FJMkmElzNArOI`rsp(&KqvYd)YuZpW`Yo@d+V*|B3mr%7I_Q-McW=b+AScA4)P>Gg8g;nwcm
zY~H?Jo4O6M_VW(u7G)jOw0Ul{&hgx6Zq@|%_NqwHY%8+r&1(=p{PT&mzG?G3;?c|V
zh`EU@znJJT=NCyLOS7%aLvNmuo*g|Sy$5(EdHDeu?t+Lk!?f?auD&+mW}+uk~o{fOaFMEzKzst-~1EJyR$9>K4d=<&-^
zqH_h?1ibin#ONRKw8!wYgQPk{%&a6TvhcJ#y!b;rxR4mD!5=n=C5`K9v{9{|HL9pR
z!bnpO7^l^6pe&X8}(i|qumui%8NX;~gNxO%%2h>uI
zS8%?Nw9U(QP|8%J08a}rE>p@?N=c`bTuQk@DQ79AhEhr?qI*T`L9s26S+c+BCga@
zXB}({10hHdK`CZFvxeEE6;_f-?Wt2t2Yemx3nQZcWaUq8`a=kjzDW
zxmdFmdHi7}#Kh=_x|G_=(ESpUmZPEApq#R+$yJP|I+xbCm|QM=pgoprk7t2`9~2gyl;w2$Of|Ar!$%GN?2nIxppB`O
z*ssWKkw)37G;7KDj_5BwkVlFtq!wA6x{MOe7Es21m=SL-A%zom@{sx(DeEXhtSY`x
zM33EyBY*APhk3GDifjk5Y&Yaf$6ghhk)<%6Yfz9+#_qb2h9dBe#zVHeN!5&ydA|
zET1Ds30L+~rw{eWRr9RG&tH+d=}c2PD|MXXdMSCrkk@QQ%BWEy@jN|c4OP`L#MQ}wX1G_p?z70pblp`>acX@I;5xAQQ{
zzYnR+k&~>03ZXTXb+vuZR`nCc2Vc^FRr~JU3`qFd6QzrNcTmZvVNJ9y-okh0q@WViPT7!(2U_T2vb6`IUSueo;RoK4@
z`&qDm71?uO|0?X~!hErM8jV*{&Wm6bSPj;IwIG?hj182#k#au+o4{tU1#AV|z;?>r
z0d|62U^m#qoka@!z0|XheJa=w4uFH;5I9WTN5D~V45V@HBr>H_-zj90F$F$_zb9jt
z4eZmwJ+!_K{5OZI)kH=)DQao6s?`J{KzjU1U^18n9tYFG3?Ti@EHIn=PqR0BXa^Q|xPi6HFqSj}lc!k?N4@hE;ivj%ChanfI|s
z5f-VyA{AJq0x6|OxztR`0;DX!Iu%G-fORU6wgBr~)2+J1#*^fE3e0A7Gl!P?X|AuN
z{1?G0uo|oZYe6!-!l$I&NWGtdO<*(F0=9x}U^{i}06W1hup8Xap5A&7Na5UG>eEGz(H^b+!{AuBG=d8IC;{zeiHdlaeN+LvcM%!gIrD^BQ$BMggOW$;!DZ*}li2XA%oRtIl&@Ky(Jb?{aPZ*}li2XA%oCSK#hYg~AZ3$Jm(n|O{3
z-s<434&LhEtq$Jm;7vTriAOo{C?_7}R9}(yIQSN%as4C^?>di;S>O_=K`tkFgkG>h
z1>rrtV74y^i{j-`}wMm}s6!dAX!E0TQ_-=BcvnZ)BPV2;r9@TQAu31fqJ
z%3Mm>zazq4qO7;UJK#^?UGN@wAD9feV8{hSE*NsbkPC)fFyw-vd>G1yp?nz1hoOAD
zDF9aTVI&_$@?j(&M)F}KA4a%0MxGrmuoL|X1z7?Iek!at;^t3~T_{2`M#$|R05iK9&7
zD3dtKB#w6B3wP7hiKb38b)u;gO{Fz&i>6LAb)u;gO`T}!L{lf4I?=|77UgJBj(zuF
z-#yrO5AB__Wzvp~qej!y#fwc3Hrp*1b~4+l?VR5Mc7k1CH%I~dKq}Y|4uFH;5I78u
zfTQ3TNCVP_TxJ!e(6L6OXcYme*I!F6;j#1qecudFBs_?Wb_}qo3RpDt>aGHvw
zDM*?Erzv=u-1qFd5s%Y|^~XUZ*QT?NVn2iZ6WC@Z_Ybp-Z}Gr%+O%(I(+=Z>>BMFV
z8m3{B6L?}7o_G%1q+^?OY?F>{(y>iCwn@h}pW~%fcxe@0T7{QZ;iXl0X%${tg_mB%
zcBy!2Dqfn3m!{&Ssd#BBUYd%Rrodnd45q+f3Jj*W%=IE)TQz)^4ve2H9NgX82mfedM+If=ff*q=eCv*0}XWr0f|4_rpa8qzw!BUs`z
zmMFv$r?JE_*w2OazcaQBgz+30&w=qvFrEY3*|c`~u$&LeIj}4-ehHTIVL8v;*Gb>*
zgw--wEriWn*vy5^T-eNo&0N^bg-scw#`%-Tc}hn_A?y^w&S}^=
z4Lhe{hkH)O+z-P_CajdgN+ztFfR!t-k_jVMVWbd7WSm(DBLy&00wX0bQV1g@Fe2m3
z5*R7L=gMJ2qNoBkN@3#)Y+QkjE3m-~BUlTPvEfGYeFipx&0q`I3bujml)VG&1iQd)
z@Htw1!ANlrbEzqO-%EY_*r$U1-~c!X4uQkSaReL%$G~yYrg8ox`%}nw2HDPn^XQlb
zE`dB`E~M8SL;GI|8@WW~Rig4LOt^^3t3>5hcl%!lD>C{nf|V;ornDnhV4?^XWZt3_
zCQ6CE%S7L0A}<$4eu9x)-TuEsId6k^z@Nao;63m@_>{8l-aFnt0+-Qu%Omenm?(vb
zQkW?B4-UUIKfEnL8@WF0Sj{XSqTdcSa9GM*I=L&
z2FhTdl>3i%_(d6hQ3eyG_(d6Pl;Ia;Fw!{25=I;_A|t~p?nSEcgG$;M2W&WC!vPx(
z*l@sx12!BmaSb22hL12O3$}o*U>n#@Jv+counX)4DPS*k?qi<{_Jaf9AUFgLgXV0U
zppG=ond7J`W}v;eXY&I+v1KpD=J&Gi4f=q-e7}!@Iyvez@z}uvK2mA@V
z3*H0ogAc%m;3M!c*nqsBkp5HTyL-fDV~uRAk&QL7u|_tneKAp6%&4uHQCl(A$;LXx
zSSK6nWMiFdtdos(vawD!*2%^?+4yQUzM9Rbt(eFyR^L$nx9m?KPa5aHLza{1pN?#q
z#%BCA4}Z<0Kam-WVR-I?jO`{ctM&oMAA*m-$KX@WWpJ&Ay%Y4IE1JAQkKf2f#sa2$+#qhAnHcr4w6Lq18pSx=0%&Gn!?v(cGRZ=zDIpr`WQS
zp0(;n{s=||!zk|o`aYRW8%caTNZF%^H}QsbqLNc$o92z(4SkX}3_oqY!R
zWPYyEQ+iPgGlTRWfsAc}fjN4}qBY3JV|EekE+p7a?bXyS^GU+|1tdsAf->%&Wfs}V
z9kI*=WZ^wocuyAIlZE$W;XPS+&jF;&N6LJp%ty+6q`Cl0GMc=ARB7~Csdz>zo{@@#
z*SU)fqVy1IjX-X>*Nf+S@hzBr2rb7wFx3y)!l=uf(alF@
zbM{zfb)Ti=c+#&V-HTuqSPj;IwLoSL*OC8q@CH~9GRS|1JZHgq>d69^zz{vJ5J;aW
z9v#d+#P}N$TtfnxYb`>8FJX@O!yXTkV>B9$(=k}j=%W_DmAUdt9SJMR_aayYR)aNQ
zEl8%FSVwuUgEzo>AoCB~$-4vW1iQd)kOKCBRInc$00+S#kOpK7pMe~W5qBP$v%n=#
z2s8IPuWHt&RNQD$sKw=PyMQ>G}D6YdAM&9;N4(na5K4C}~^D>7!)k
zv5Y=S=Jl)T^&NL@XEu`OGq4G423x>Zunn}_Gv05!n!)#huu_7ZOJJk~8<&vd6s=AvaetP$zevs>
zVaS24t6|82tsO8@4HM-sQ3VruFmVMIO0ahc_AbHRCD^+JdzWDE5?ZEGTBcH3rczoa
z@!lWN-huZz@LmVr>%e;*c&`J^9eA$;?{(n44!qZa_d4iJtI)g(&8yJ7iWXPKzz+2M
zk(CGja1m&nBnD3sgXzRzg&x;L82><%Iygv2lM-T3o+UYm!%AAO8e*@4mY{;Tt03+w
zh`S2nu7bETpCQ~j-q=7H=^%r0&Qn(wxC9C*voAGgGt#PKlvT$ltBz4t9V0B6o3CSZ
zRmbS6j?q;eqpLbbR&|W3>flu*4NCam}rBCF5vm4W-4qj_xjWccHrr-CgKjiSCu?UWx9N=>#D5Y7vu?(
z&$?DojBr@(ZDbkD_=11%x6UXrN{tK1^#Azai_Jd9b;HHROfr^j@nclsLwrajvjw+(
zj9RW#v$a@;q_{1c`-Dhv`!#gaIjHfvQ4UYdKGdeAFe>5xmXER9IBrysCxtp|jlUR&
zIkWqgM2b2oo%^{vd~Pn2vV>__)AX~SmUaButO{8*$C8pdoq8{Gt|F^!BCkGbEX&9+
zB_(GL*Rphu6SPtK!+1v--x=w~DMk_InIc*S^9V1J1N`W^QOv0PrjPrY<7OUodd)T#
zIjO&418iP?Q|7yT(HdklB`~EydM(w@an~q&Q~sYj;whsrS;3qQA6ipoykWfgbGe$X
zWA(3zbN9#Xan-l8awCQI*T!$R@BcFmOglE^Cc=wNKfN{b8Y5Z!23c#2?@b?(ytHZZ
zS7xYN_%!DmPtvw*Op0HWFwVTghx?3XAMKqt7&0#)$sMA(S*9C@P2Ao%b=L#8U%K#V
zi3RFKPTiW(4qUraR-L9rY4C;%&2vdKH2>c6vGFE%!#6%syKy77Zk*N!uyOk4Gf4e2
z47qLRB68i_;=`pZ&M43QX_Tk&
zySeAyNLsHV_qRK8h|ah839H7sF|Qm8)3K@*C)^@$}=qXb7uv
zhO!0n%y}5=2V|9JFe}N%@wDSnw)U(To6OATR919$W<((=n`sJjl9GS$8%|uRHrMz3wbQuQ*FW;>VC7
z5NU$g+9E?R$0B_Ia^K5(joxflq`wb+_}v=%Zdq6BrPr(SpEYdWS|4w%kB`>Jm)d1U
zMBE_(#|}qu)5@ZA8OBYJQCMAF_Tm6g{WPoFZ#jLy$HS{iom1ypz_v3!2Yi
z{O~keH?4n=*1xURKN#(kk@IENu3A~wx*j>-WV5iM^(`cS8(zHO<$eBszQvJ7Wfki=?48Nh
zkrgfHvBFPm9T;g|;7k@<8!VTHl`gXdW4{_|HES>Z!gD_YP_{wKMwZ{Z&j|tTt6U<7XC`y>Y7Odl@J?n;M
zQi4Q}59>>2b1a_Zt39bRt2kphBWpKXu_`%^V~Hv&D~x{2vBXvf)*%0p;(u1{e}3BkT5JFF*ZwDWIv4OH@jrjogI^^5B{qLnVoPr-
i9@$EJWCvDc%cw_IvU=lv;)Pw=Ze7RB1^tl}>i+=wFaXm4
literal 0
HcmV?d00001
From f76826fefba73e3d8c46a0b24a844c8221d3b14c Mon Sep 17 00:00:00 2001
From: "marcelo.cuiza"
Date: Fri, 17 Apr 2015 12:38:37 -0400
Subject: [PATCH 04/19] PM-2314,PM-2331
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
PM-2314,En ADMIN > Plugins > Enterprise features el status del actionByEmail y el pmConsolidatedCL es "Install now" y este deberíestar como Installed y estas opciones ya deberí estar instaladas
PM-2331,Admin/Plugins/Enterprise Features -> Eliminar columna de status en listado de features
Dentro el tab "Enterprise features" se quito la columna status (PM-2331),
Se agregaran los new features al ejecutar en consola ./processmaker databa-upgrade(PM-2314)
---
workflow/engine/classes/class.licensedFeatures.php | 4 ++--
workflow/engine/data/mysql/insert.sql | 9 +++++++++
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/workflow/engine/classes/class.licensedFeatures.php b/workflow/engine/classes/class.licensedFeatures.php
index 813d49d7e..dcf2161bb 100644
--- a/workflow/engine/classes/class.licensedFeatures.php
+++ b/workflow/engine/classes/class.licensedFeatures.php
@@ -29,7 +29,7 @@ class PMLicensedFeatures
private $features = array ();
private $newFeatures = array(
0 => array(
- "description" => "Enables de Actions By Email feature",
+ "description" => "Enables de Actions By Email feature.",
"enabled" => false,
"id" => "actionsByEmail",
"latest_version" => "",
@@ -46,7 +46,7 @@ class PMLicensedFeatures
"version" => ""
),
1 => array(
- "description" => "Enables de Batch Routing feature",
+ "description" => "Enables de Batch Routing feature.",
"enabled" => false,
"id" => "pmConsolidatedCL",
"latest_version" => "",
diff --git a/workflow/engine/data/mysql/insert.sql b/workflow/engine/data/mysql/insert.sql
index 4a9996c20..9d8b25c9e 100755
--- a/workflow/engine/data/mysql/insert.sql
+++ b/workflow/engine/data/mysql/insert.sql
@@ -59981,3 +59981,12 @@ INSERT INTO CATALOG (CAT_UID, CAT_LABEL_ID, CAT_TYPE, CAT_FLAG, CAT_OBSERVATION,
('1060','ID_NEW_CASES','INDICATOR','','','2015-03-04','2015-03-04'),
('1070','ID_COMPLETED_CASES','INDICATOR','','','2015-03-04','2015-03-04'),
('1080','ID_WORKING_CASES','INDICATOR','','','2015-03-04','2015-03-04');
+
+INSERT INTO ADDONS_MANAGER (ADDON_DESCRIPTION,ADDON_ID,ADDON_NAME,ADDON_NICK,ADDON_PUBLISHER,ADDON_RELEASE_TYPE,ADDON_STATUS,STORE_ID,ADDON_TYPE,ADDON_DOWNLOAD_URL,ADDON_VERSION,ADDON_DOWNLOAD_PROGRESS) VALUES
+('Enables de Actions By Email feature.','actionsByEmail','actionsByEmail','actionsByEmail','Colosa','localRegistry','ready','00000000000000000000000000010004','features','','','0');
+('Enables de Batch Routing feature.','pmConsolidatedCL','pmConsolidatedCL','pmConsolidatedCL','Colosa','localRegistry','ready','00000000000000000000000000010005','features','','','0');
+('Dashboard with improved charting graphics and optimized to show strategic information like Process Efficiency and User Efficiency indicators.','strategicDashboards','strategicDashboards','Strategic Dashboards','Colosa','localRegistry','ready','00000000000000000000000000010006','features','','','0');
+('Enables the configuration of a second database connection in order to divide the database requests in read and write operations. This features is used with database clusters to improve the application performance.','secondDatabaseConnection','secondDatabaseConnection','secondDatabaseConnection','Colosa','localRegistry','ready','00000000000000000000000000010000','features','','','0');
+('A more secure option to store user passwords in ProcessMaker. The modern algorithm SHA-2 is used to store the passwords.','secureUserPasswordHash','secureUserPasswordHash','secureUserPasswordHash','Colosa','localRegistry','ready','00000000000000000000000000010002','features','','','0');
+('This functionality enables the flexibility to send mails from different email servers or configurations.','sendEmailFromDifferentEmailServers','sendEmailFromDifferentEmailServers','sendEmailFromDifferentEmailServers','Colosa','localRegistry','ready','00000000000000000000000000010003','features','','','0');
+('Registers every admin action in a log. The actions in administration settings options are registered in the log.','auditLog','auditLog','auditLog','Colosa','localRegistry','ready','00000000000000000000000000010001','features','','','0');
From 633f4fe9c4cb92275152d6ffa5e2f43870df160c Mon Sep 17 00:00:00 2001
From: "marcelo.cuiza"
Date: Fri, 17 Apr 2015 13:04:20 -0400
Subject: [PATCH 05/19] PM-2314,PM-2331
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
PM-2314,En ADMIN > Plugins > Enterprise features el status del actionByEmail y el pmConsolidatedCL es "Install now" y este deberíestar como Installed y estas opciones ya deberí estar instaladas
PM-2331,Admin/Plugins/Enterprise Features -> Eliminar columna de status en listado de features
Dentro el tab "Enterprise features" se quito la columna status (PM-2331),
Se agregaran los new features al ejecutar en consola ./processmaker databa-upgrade(PM-2314)
---
workflow/engine/data/mysql/insert.sql | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/workflow/engine/data/mysql/insert.sql b/workflow/engine/data/mysql/insert.sql
index 9d8b25c9e..fbb333b5e 100755
--- a/workflow/engine/data/mysql/insert.sql
+++ b/workflow/engine/data/mysql/insert.sql
@@ -59983,10 +59983,10 @@ INSERT INTO CATALOG (CAT_UID, CAT_LABEL_ID, CAT_TYPE, CAT_FLAG, CAT_OBSERVATION,
('1080','ID_WORKING_CASES','INDICATOR','','','2015-03-04','2015-03-04');
INSERT INTO ADDONS_MANAGER (ADDON_DESCRIPTION,ADDON_ID,ADDON_NAME,ADDON_NICK,ADDON_PUBLISHER,ADDON_RELEASE_TYPE,ADDON_STATUS,STORE_ID,ADDON_TYPE,ADDON_DOWNLOAD_URL,ADDON_VERSION,ADDON_DOWNLOAD_PROGRESS) VALUES
-('Enables de Actions By Email feature.','actionsByEmail','actionsByEmail','actionsByEmail','Colosa','localRegistry','ready','00000000000000000000000000010004','features','','','0');
-('Enables de Batch Routing feature.','pmConsolidatedCL','pmConsolidatedCL','pmConsolidatedCL','Colosa','localRegistry','ready','00000000000000000000000000010005','features','','','0');
-('Dashboard with improved charting graphics and optimized to show strategic information like Process Efficiency and User Efficiency indicators.','strategicDashboards','strategicDashboards','Strategic Dashboards','Colosa','localRegistry','ready','00000000000000000000000000010006','features','','','0');
-('Enables the configuration of a second database connection in order to divide the database requests in read and write operations. This features is used with database clusters to improve the application performance.','secondDatabaseConnection','secondDatabaseConnection','secondDatabaseConnection','Colosa','localRegistry','ready','00000000000000000000000000010000','features','','','0');
-('A more secure option to store user passwords in ProcessMaker. The modern algorithm SHA-2 is used to store the passwords.','secureUserPasswordHash','secureUserPasswordHash','secureUserPasswordHash','Colosa','localRegistry','ready','00000000000000000000000000010002','features','','','0');
-('This functionality enables the flexibility to send mails from different email servers or configurations.','sendEmailFromDifferentEmailServers','sendEmailFromDifferentEmailServers','sendEmailFromDifferentEmailServers','Colosa','localRegistry','ready','00000000000000000000000000010003','features','','','0');
+('Enables de Actions By Email feature.','actionsByEmail','actionsByEmail','actionsByEmail','Colosa','localRegistry','ready','00000000000000000000000000010004','features','','','0'),
+('Enables de Batch Routing feature.','pmConsolidatedCL','pmConsolidatedCL','pmConsolidatedCL','Colosa','localRegistry','ready','00000000000000000000000000010005','features','','','0'),
+('Dashboard with improved charting graphics and optimized to show strategic information like Process Efficiency and User Efficiency indicators.','strategicDashboards','strategicDashboards','Strategic Dashboards','Colosa','localRegistry','ready','00000000000000000000000000010006','features','','','0'),
+('Enables the configuration of a second database connection in order to divide the database requests in read and write operations. This features is used with database clusters to improve the application performance.','secondDatabaseConnection','secondDatabaseConnection','secondDatabaseConnection','Colosa','localRegistry','ready','00000000000000000000000000010000','features','','','0'),
+('A more secure option to store user passwords in ProcessMaker. The modern algorithm SHA-2 is used to store the passwords.','secureUserPasswordHash','secureUserPasswordHash','secureUserPasswordHash','Colosa','localRegistry','ready','00000000000000000000000000010002','features','','','0'),
+('This functionality enables the flexibility to send mails from different email servers or configurations.','sendEmailFromDifferentEmailServers','sendEmailFromDifferentEmailServers','sendEmailFromDifferentEmailServers','Colosa','localRegistry','ready','00000000000000000000000000010003','features','','','0'),
('Registers every admin action in a log. The actions in administration settings options are registered in the log.','auditLog','auditLog','auditLog','Colosa','localRegistry','ready','00000000000000000000000000010001','features','','','0');
From 4a499e7f4c4b1c1b44c4a0d625d064ceff46d151 Mon Sep 17 00:00:00 2001
From: jonathan
Date: Fri, 17 Apr 2015 13:40:33 -0400
Subject: [PATCH 06/19] update login
---
workflow/engine/skinEngine/neoclassic/css/loginStyle.css | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/workflow/engine/skinEngine/neoclassic/css/loginStyle.css b/workflow/engine/skinEngine/neoclassic/css/loginStyle.css
index a2f350014..f6e2b7fe2 100644
--- a/workflow/engine/skinEngine/neoclassic/css/loginStyle.css
+++ b/workflow/engine/skinEngine/neoclassic/css/loginStyle.css
@@ -102,6 +102,12 @@ img.img-responsive {
margin-bottom: 6px;
}
+
+.form-signin .module_app_input___gray:-ms-input-placeholder {
+ font-family: "Open Sans",Arial,Helvetica,sans-serif;
+ color:#999;
+ }
+
.module_app_input___gray::-moz-placeholder {
color: #999;
opacity: 1;
From cba4ec2f47a61e59f1cb625b41e30c20a1f585c9 Mon Sep 17 00:00:00 2001
From: Roly Rudy Gutierrez Pinto
Date: Fri, 17 Apr 2015 13:51:47 -0400
Subject: [PATCH 07/19] PM-2003
---
workflow/engine/classes/class.pmDynaform.php | 34 +++++++++++++++++---
1 file changed, 29 insertions(+), 5 deletions(-)
diff --git a/workflow/engine/classes/class.pmDynaform.php b/workflow/engine/classes/class.pmDynaform.php
index 52d6fa84c..e8107eb2e 100644
--- a/workflow/engine/classes/class.pmDynaform.php
+++ b/workflow/engine/classes/class.pmDynaform.php
@@ -80,19 +80,37 @@ class pmDynaform
public function jsonr(&$json)
{
- foreach ($json as $key => $value) {
+ foreach ($json as $key => &$value) {
$sw1 = is_array($value);
$sw2 = is_object($value);
if ($sw1 || $sw2) {
$this->jsonr($value);
}
if (!$sw1 && !$sw2) {
- //property
+ //set properties from trigger
$prefixs = array("@@", "@#", "@%", "@?", "@$", "@=");
if (is_string($value) && in_array(substr($value, 0, 2), $prefixs)) {
$triggerValue = substr($value, 2);
if (isset($this->fields["APP_DATA"][$triggerValue])) {
- $json->$key = $this->fields["APP_DATA"][$triggerValue];
+ $json->{$key} = $this->fields["APP_DATA"][$triggerValue];
+ }
+ }
+ //set properties from 'formInstance' variable
+ if (isset($this->fields["APP_DATA"]["formInstance"])) {
+ $formInstance = $this->fields["APP_DATA"]["formInstance"];
+ if (!is_array($formInstance)) {
+ $formInstance = array($formInstance);
+ }
+ $nfi = count($formInstance);
+ for ($ifi = 0; $ifi < $nfi; $ifi++) {
+ $fi = $formInstance[$ifi];
+ if (is_object($fi) && isset($fi->id) && $key === "id" && $json->{$key} === $fi->id) {
+ foreach ($fi as $keyfi => $valuefi) {
+ if (isset($json->{$keyfi})) {
+ $json->{$keyfi} = $valuefi;
+ }
+ }
+ }
}
}
//query & options
@@ -208,11 +226,15 @@ class pmDynaform
$this->lang = $json->language;
}
if ($this->langs !== null) {
- if (($key === "label" || $key === "hint" || $key === "placeholder" || $key === "validateMessage" || $key === "alternateText" || $key === "comment" || $key === "alt") && isset($json->{$key}) && isset($this->langs->{$this->lang})) {
+ if (($key === "label" || $key === "title" || $key === "hint" || $key === "placeholder" || $key === "validateMessage" || $key === "alternateText" || $key === "comment" || $key === "alt") && isset($this->langs->{$this->lang})) {
$langs = $this->langs->{$this->lang}->Labels;
foreach ($langs as $langsValue) {
- if ($json->{$key} === $langsValue->msgid)
+ if (is_object($json) && $json->{$key} === $langsValue->msgid) {
$json->{$key} = $langsValue->msgstr;
+ }
+ if (is_array($json) && $json[$key] === $langsValue->msgid) {
+ $json[$key] = $langsValue->msgstr;
+ }
}
}
}
@@ -409,6 +431,8 @@ class pmDynaform
$json->name = $newVariable["VAR_NAME"];
if (isset($json->dbConnection) && $json->dbConnection === $oldVariable["VAR_DBCONNECTION"])
$json->dbConnection = $newVariable["VAR_DBCONNECTION"];
+ if (isset($json->dbConnectionLabel) && $json->dbConnectionLabel === $oldVariable["VAR_DBCONNECTION_LABEL"])
+ $json->dbConnectionLabel = $newVariable["VAR_DBCONNECTION_LABEL"];
if (isset($json->sql) && $json->sql === $oldVariable["VAR_SQL"])
$json->sql = $newVariable["VAR_SQL"];
if (isset($json->options) && G::json_encode($json->options) === $oldVariable["VAR_ACCEPTED_VALUES"]) {
From 15654c189eb2bfcf8935b3c8fa5b3223f7f716a1 Mon Sep 17 00:00:00 2001
From: Roly Rudy Gutierrez Pinto
Date: Fri, 17 Apr 2015 14:03:05 -0400
Subject: [PATCH 08/19] PM-2301
---
workflow/engine/methods/cases/pmDynaform.php | 1 +
1 file changed, 1 insertion(+)
diff --git a/workflow/engine/methods/cases/pmDynaform.php b/workflow/engine/methods/cases/pmDynaform.php
index 97041fb70..7cbab53dd 100644
--- a/workflow/engine/methods/cases/pmDynaform.php
+++ b/workflow/engine/methods/cases/pmDynaform.php
@@ -1,6 +1,7 @@
$DYN_UID));
$a->printPmDynaform();
From b9069e8c6f57b80f46efe3a511d1391a06fbedb4 Mon Sep 17 00:00:00 2001
From: Roly Rudy Gutierrez Pinto
Date: Fri, 17 Apr 2015 14:08:13 -0400
Subject: [PATCH 09/19] PM-2301-IMPROVEMENT
---
.../ProcessMaker/BusinessModel/Variable.php | 22 ++++++++++++++++---
1 file changed, 19 insertions(+), 3 deletions(-)
diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Variable.php b/workflow/engine/src/ProcessMaker/BusinessModel/Variable.php
index fc4d5b237..8e0e25ffd 100755
--- a/workflow/engine/src/ProcessMaker/BusinessModel/Variable.php
+++ b/workflow/engine/src/ProcessMaker/BusinessModel/Variable.php
@@ -129,10 +129,13 @@ class Variable
$cnn = \Propel::getConnection("workflow");
try {
$variable = \ProcessVariablesPeer::retrieveByPK($variableUid);
+ $dbConnection = \DbSourcePeer::retrieveByPK($variable->getVarDbconnection(), $variable->getPrjUid());
+
$oldVariable = array(
"VAR_NAME" => $variable->getVarName(),
"VAR_FIELD_TYPE" => $variable->getVarFieldType(),
"VAR_DBCONNECTION" => $variable->getVarDbconnection(),
+ "VAR_DBCONNECTION_LABEL" => $dbConnection !== null ? '[' . $dbConnection->getDbsServer() . ':' . $dbConnection->getDbsPort() . '] ' . $dbConnection->getDbsType() . ': ' . $dbConnection->getDbsDatabaseName() : 'PM Database',
"VAR_SQL" => $variable->getVarSql(),
"VAR_ACCEPTED_VALUES" => $variable->getVarAcceptedValues()
);
@@ -170,10 +173,12 @@ class Variable
$variable->save();
$cnn->commit();
//update dynaforms
+ $dbConnection = \DbSourcePeer::retrieveByPK($variable->getVarDbconnection(), $variable->getPrjUid());
$newVariable = array(
"VAR_NAME" => $variable->getVarName(),
"VAR_FIELD_TYPE" => $variable->getVarFieldType(),
"VAR_DBCONNECTION" => $variable->getVarDbconnection(),
+ "VAR_DBCONNECTION_LABEL" => $dbConnection !== null ? '[' . $dbConnection->getDbsServer() . ':' . $dbConnection->getDbsPort() . '] ' . $dbConnection->getDbsType() . ': ' . $dbConnection->getDbsDatabaseName() : 'PM Database',
"VAR_SQL" => $variable->getVarSql(),
"VAR_ACCEPTED_VALUES" => $variable->getVarAcceptedValues()
);
@@ -265,9 +270,14 @@ class Variable
$criteria->addSelectColumn(\ProcessVariablesPeer::VAR_NULL);
$criteria->addSelectColumn(\ProcessVariablesPeer::VAR_DEFAULT);
$criteria->addSelectColumn(\ProcessVariablesPeer::VAR_ACCEPTED_VALUES);
+ $criteria->addSelectColumn(\DbSourcePeer::DBS_SERVER);
+ $criteria->addSelectColumn(\DbSourcePeer::DBS_PORT);
+ $criteria->addSelectColumn(\DbSourcePeer::DBS_DATABASE_NAME);
+ $criteria->addSelectColumn(\DbSourcePeer::DBS_TYPE);
$criteria->add(\ProcessVariablesPeer::PRJ_UID, $processUid, \Criteria::EQUAL);
$criteria->add(\ProcessVariablesPeer::VAR_UID, $variableUid, \Criteria::EQUAL);
+ $criteria->addJoin(\ProcessVariablesPeer::VAR_DBCONNECTION, \DbSourcePeer::DBS_UID, \Criteria::LEFT_JOIN);
$rsCriteria = \ProcessVariablesPeer::doSelectRS($criteria);
@@ -283,7 +293,8 @@ class Variable
'var_field_type' => $aRow['VAR_FIELD_TYPE'],
'var_field_size' => (int)$aRow['VAR_FIELD_SIZE'],
'var_label' => $aRow['VAR_LABEL'],
- 'var_dbconnection' => $aRow['VAR_DBCONNECTION'],
+ 'var_dbconnection' => $aRow['VAR_DBCONNECTION'] === 'none' ? 'workflow' : $aRow['VAR_DBCONNECTION'],
+ 'var_dbconnection_label' => $aRow['DBS_SERVER'] !== null ? '[' . $aRow['DBS_SERVER'] . ':' . $aRow['DBS_PORT'] . '] ' . $aRow['DBS_TYPE'] . ': ' . $aRow['DBS_DATABASE_NAME'] : 'PM Database',
'var_sql' => $aRow['VAR_SQL'],
'var_null' => (int)$aRow['VAR_NULL'],
'var_default' => $aRow['VAR_DEFAULT'],
@@ -326,8 +337,13 @@ class Variable
$criteria->addSelectColumn(\ProcessVariablesPeer::VAR_NULL);
$criteria->addSelectColumn(\ProcessVariablesPeer::VAR_DEFAULT);
$criteria->addSelectColumn(\ProcessVariablesPeer::VAR_ACCEPTED_VALUES);
+ $criteria->addSelectColumn(\DbSourcePeer::DBS_SERVER);
+ $criteria->addSelectColumn(\DbSourcePeer::DBS_PORT);
+ $criteria->addSelectColumn(\DbSourcePeer::DBS_DATABASE_NAME);
+ $criteria->addSelectColumn(\DbSourcePeer::DBS_TYPE);
$criteria->add(\ProcessVariablesPeer::PRJ_UID, $processUid, \Criteria::EQUAL);
+ $criteria->addJoin(\ProcessVariablesPeer::VAR_DBCONNECTION, \DbSourcePeer::DBS_UID, \Criteria::LEFT_JOIN);
$rsCriteria = \ProcessVariablesPeer::doSelectRS($criteria);
@@ -343,7 +359,8 @@ class Variable
'var_field_type' => $aRow['VAR_FIELD_TYPE'],
'var_field_size' => (int)$aRow['VAR_FIELD_SIZE'],
'var_label' => $aRow['VAR_LABEL'],
- 'var_dbconnection' => $aRow['VAR_DBCONNECTION'],
+ 'var_dbconnection' => $aRow['VAR_DBCONNECTION'] === 'none' ? 'workflow' : $aRow['VAR_DBCONNECTION'],
+ 'var_dbconnection_label' => $aRow['DBS_SERVER'] !== null ? '[' . $aRow['DBS_SERVER'] . ':' . $aRow['DBS_PORT'] . '] ' . $aRow['DBS_TYPE'] . ': ' . $aRow['DBS_DATABASE_NAME'] : 'PM Database',
'var_sql' => $aRow['VAR_SQL'],
'var_null' => (int)$aRow['VAR_NULL'],
'var_default' => $aRow['VAR_DEFAULT'],
@@ -690,4 +707,3 @@ class Variable
}
}
}
-
From b728b7609f3fd7bf46cd117ed4fa45059e866f3d Mon Sep 17 00:00:00 2001
From: jonathan
Date: Fri, 17 Apr 2015 14:19:03 -0400
Subject: [PATCH 10/19] update login v2
---
workflow/engine/skinEngine/skinEngine.php | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/workflow/engine/skinEngine/skinEngine.php b/workflow/engine/skinEngine/skinEngine.php
index 03a185256..e6a7290a7 100755
--- a/workflow/engine/skinEngine/skinEngine.php
+++ b/workflow/engine/skinEngine/skinEngine.php
@@ -378,7 +378,7 @@ class SkinEngine
$freeOfChargeText = "";
if (! defined('SKIP_FREE_OF_CHARGE_TEXT'))
$freeOfChargeText = "Supplied free of charge with no support, certification, warranty, maintenance nor indemnity by Processmaker and its Certified Partners.";
- if(file_exists(PATH_CLASSES."/class.pmLicenseManager.php")) $freeOfChargeText="";
+ if(file_exists(PATH_CLASSES."class.pmLicenseManager.php")) $freeOfChargeText="";
$fileFooter = PATH_SKINS . SYS_SKIN . PATH_SEP . 'footer.html';
if (file_exists($fileFooter)) {
@@ -699,7 +699,7 @@ class SkinEngine
$freeOfChargeText = "";
if (! defined('SKIP_FREE_OF_CHARGE_TEXT'))
$freeOfChargeText = "Supplied free of charge with no support, certification, warranty, maintenance nor indemnity by ProcessMaker and its Certified Partners.";
- if(file_exists(PATH_CLASSES."/class.pmLicenseManager.php")) $freeOfChargeText="";
+ if(file_exists(PATH_CLASSES."class.pmLicenseManager.php")) $freeOfChargeText="";
$fileFooter = PATH_SKINS . SYS_SKIN . PATH_SEP . 'footer.html';
if (file_exists($fileFooter)) {
From eef845727efe39e272ab1f537e02445fdd34b858 Mon Sep 17 00:00:00 2001
From: "Paula V. Quispe"
Date: Fri, 17 Apr 2015 14:57:53 -0400
Subject: [PATCH 11/19] I solved the issue PM-2336 [Error con el Consolidated
tab]
---
workflow/engine/classes/class.processMap.php | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/workflow/engine/classes/class.processMap.php b/workflow/engine/classes/class.processMap.php
index 3d65399c7..7dd4742f1 100755
--- a/workflow/engine/classes/class.processMap.php
+++ b/workflow/engine/classes/class.processMap.php
@@ -1588,8 +1588,9 @@ class processMap
$numRows = DynaformPeer::doCount($oCriteria);
if ($numRows == 0) {
- echo "".G::LoadTranslation('ID_ALERT')." ".G::LoadTranslation('ID_CONSOLIDATED_DYNAFORM_REQUIRED')." ";
- die;
+ $aFields['TITLE_ALERT'] = G::LoadTranslation('ID_ALERT');
+ $aFields['SUBTITLE_MESSAGE'] = G::LoadTranslation('ID_CONSOLIDATED_DYNAFORM_REQUIRED');
+ $sFilename = 'tasks/tasks_Consolidated_Error.xml';
}
}
From 197a1d571098ebfe78ad98dcdb6e7f296ca54a1a Mon Sep 17 00:00:00 2001
From: "Paula V. Quispe"
Date: Fri, 17 Apr 2015 15:03:52 -0400
Subject: [PATCH 12/19] I added new form by show Consolitated Error
---
.../tasks/tasks_Consolidated_Error.xml | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
create mode 100644 workflow/engine/xmlform/tasks/tasks_Consolidated_Error.xml
diff --git a/workflow/engine/xmlform/tasks/tasks_Consolidated_Error.xml b/workflow/engine/xmlform/tasks/tasks_Consolidated_Error.xml
new file mode 100644
index 000000000..7c449fe4d
--- /dev/null
+++ b/workflow/engine/xmlform/tasks/tasks_Consolidated_Error.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
From 67bd800e58ed220534236bb62ab8d7c9d469a44d Mon Sep 17 00:00:00 2001
From: Luis Fernando Saisa Lopez
Date: Fri, 17 Apr 2015 15:21:09 -0400
Subject: [PATCH 13/19] PM-2291 "DesignerBPMN>CaseTracker: No se visualizan
los..." SOLVED
> Code Isuue:
DesignerBPMN>CaseTracker: No se visualizan los formularios asignados al caseTracker.
> Solution:
Cuando se tiene dynaforms creados en BPMN al ingresar al case tracker y ver los dynaforms se mostrara con la nueva
interfaz en otro caso se mostrara con la antigua interfaz tal como se mostraba anteriormente. Al mostrar el dynaform
con la nueva interfaz se tiene un link "Back" que permite volver a la pagina anterior.
---
gulliver/system/class.publisher.php | 5 +-
workflow/engine/classes/class.pmDynaform.php | 70 ++++++++++++++++++-
.../engine/methods/tracker/tracker_Show.php | 24 +++++--
3 files changed, 90 insertions(+), 9 deletions(-)
diff --git a/gulliver/system/class.publisher.php b/gulliver/system/class.publisher.php
index 40b7fc20e..e398cba52 100755
--- a/gulliver/system/class.publisher.php
+++ b/gulliver/system/class.publisher.php
@@ -294,10 +294,10 @@ class Publisher
//This dynaform has show/hide field conditions
if (isset($_SESSION['CURRENT_DYN_UID']) && $_SESSION['CURRENT_DYN_UID'] != '') {
- $ConditionalShowHideRoutines = $oFieldCondition->getConditionScript($_SESSION["CURRENT_DYN_UID"]); //lsl
+ $ConditionalShowHideRoutines = $oFieldCondition->getConditionScript($_SESSION["CURRENT_DYN_UID"]);
} else {
if (isset($_SESSION['CONDITION_DYN_UID']) && $_SESSION['CONDITION_DYN_UID'] != '') {
- $ConditionalShowHideRoutines = $oFieldCondition->getConditionScript($_SESSION["CONDITION_DYN_UID"]); //lsl
+ $ConditionalShowHideRoutines = $oFieldCondition->getConditionScript($_SESSION["CONDITION_DYN_UID"]);
}
}
}
@@ -649,4 +649,3 @@ class Publisher
$G_TABLE = null;
}
}
-
diff --git a/workflow/engine/classes/class.pmDynaform.php b/workflow/engine/classes/class.pmDynaform.php
index 52d6fa84c..3c89f6d04 100644
--- a/workflow/engine/classes/class.pmDynaform.php
+++ b/workflow/engine/classes/class.pmDynaform.php
@@ -3,7 +3,7 @@
/**
* class.pmDynaform.php
* Implementing pmDynaform library in the running case.
- *
+ *
* @author Roly Rudy Gutierrez Pinto
* @package engine.classes
*/
@@ -136,7 +136,7 @@ class pmDynaform
array_push($json->options, $option);
}
} catch (Exception $e) {
-
+
}
}
if (isset($json->options[0])) {
@@ -225,6 +225,72 @@ class pmDynaform
return $this->record != null && $this->record["DYN_VERSION"] == 2 ? true : false;
}
+ public function printViewWitoutSubmit()
+ {
+ ob_clean();
+
+ $json = G::json_decode($this->record["DYN_CONTENT"]);
+
+ foreach ($json->items[0]->items as $key => $value) {
+ switch ($json->items[0]->items[$key][0]->type) {
+ case "submit":
+ unset($json->items[0]->items[$key]);
+ break;
+ }
+ }
+
+ $this->jsonr($json);
+
+ $javascript = "
+
+
+
+ ";
+
+ $file = file_get_contents(PATH_HOME . "public_html" . PATH_SEP . "lib" . PATH_SEP . "pmdynaform" . PATH_SEP . "build" . PATH_SEP . "pmdynaform.html");
+ $file = str_replace("{javascript}", $javascript, $file);
+
+ echo $file;
+ exit(0);
+ }
+
public function printView()
{
ob_clean();
diff --git a/workflow/engine/methods/tracker/tracker_Show.php b/workflow/engine/methods/tracker/tracker_Show.php
index 652b24949..a8d4dcb20 100755
--- a/workflow/engine/methods/tracker/tracker_Show.php
+++ b/workflow/engine/methods/tracker/tracker_Show.php
@@ -54,11 +54,27 @@ switch ($_GET['CTO_TYPE_OBJ']) {
$Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PRINT_PREVIEW'] = '#';
$Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PRINT_PREVIEW_ACTION'] = 'tracker_PrintView?CTO_UID_OBJ=' . $_GET['CTO_UID_OBJ'] . '&CTO_TYPE_OBJ=PRINT_PREVIEW';
$_SESSION['CTO_UID_OBJ'] = $_GET['CTO_UID_OBJ'];
- $G_PUBLISH = new Publisher();
- $G_PUBLISH->AddContent( 'dynaform', 'xmlform', $_SESSION['PROCESS'] . '/' . $_GET['CTO_UID_OBJ'], '', $Fields['APP_DATA'], '', '', 'view' );
- G::RenderPage( 'publish' );
- break;
+ $dynaForm = new Dynaform();
+ $arrayDynaFormData = $dynaForm->Load($_GET["CTO_UID_OBJ"]);
+
+ if (isset($arrayDynaFormData["DYN_VERSION"]) && $arrayDynaFormData["DYN_VERSION"] == 2) {
+ G::LoadClass("pmDynaform");
+
+ $Fields["PRO_UID"] = $_SESSION["PROCESS"];
+ $Fields["CURRENT_DYNAFORM"] = $_GET["CTO_UID_OBJ"];
+
+ $pmDynaForm = new pmDynaform($Fields);
+
+ if ($pmDynaForm->isResponsive()) {
+ $pmDynaForm->printViewWitoutSubmit();
+ }
+ } else {
+ $G_PUBLISH = new Publisher();
+ $G_PUBLISH->AddContent("dynaform", "xmlform", $_SESSION["PROCESS"] . "/" . $_GET["CTO_UID_OBJ"], "", $Fields["APP_DATA"], "", "", "view");
+ G::RenderPage("publish");
+ }
+ break;
case 'INPUT_DOCUMENT':
G::LoadClass( 'case' );
$oCase = new Cases();
From 8e9253d9cc0bda869fa3bf90b72677a4c46c71cb Mon Sep 17 00:00:00 2001
From: "Paula V. Quispe"
Date: Fri, 17 Apr 2015 15:34:51 -0400
Subject: [PATCH 14/19] I solved the issue with Timing control
---
workflow/engine/methods/cases/cases_Step.php | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/workflow/engine/methods/cases/cases_Step.php b/workflow/engine/methods/cases/cases_Step.php
index df4224e1e..f3af8eb91 100755
--- a/workflow/engine/methods/cases/cases_Step.php
+++ b/workflow/engine/methods/cases/cases_Step.php
@@ -908,7 +908,7 @@ try {
$daysSelected = "selected = 'selected'";
}
- $sAux = '';
@@ -921,7 +921,7 @@ try {
$calendarSelected = "selected = 'selected'";
}
- $sAux = '';
From 377be8c191aa73767b249f3959a68ea4f729a562 Mon Sep 17 00:00:00 2001
From: dheeyi
Date: Fri, 17 Apr 2015 16:02:27 -0400
Subject: [PATCH 15/19] PM-2206
---
workflow/engine/xmlform/login/forgotPasswordpm3.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/workflow/engine/xmlform/login/forgotPasswordpm3.xml b/workflow/engine/xmlform/login/forgotPasswordpm3.xml
index 204c4d134..98122fc1f 100755
--- a/workflow/engine/xmlform/login/forgotPasswordpm3.xml
+++ b/workflow/engine/xmlform/login/forgotPasswordpm3.xml
@@ -6,7 +6,7 @@
-
+
From 8a2818b3621261c2830105151fcc90e4649771b3 Mon Sep 17 00:00:00 2001
From: Luis Fernando Saisa Lopez
Date: Fri, 17 Apr 2015 16:22:34 -0400
Subject: [PATCH 16/19] PM-2291 "DesignerBPMN>CaseTracker: No se visualizan
los..." SOLVED
---
workflow/engine/classes/class.pmDynaform.php | 2 +-
workflow/engine/methods/tracker/tracker_Show.php | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/workflow/engine/classes/class.pmDynaform.php b/workflow/engine/classes/class.pmDynaform.php
index 3c89f6d04..cc28f890a 100644
--- a/workflow/engine/classes/class.pmDynaform.php
+++ b/workflow/engine/classes/class.pmDynaform.php
@@ -225,7 +225,7 @@ class pmDynaform
return $this->record != null && $this->record["DYN_VERSION"] == 2 ? true : false;
}
- public function printViewWitoutSubmit()
+ public function printViewWithoutSubmit()
{
ob_clean();
diff --git a/workflow/engine/methods/tracker/tracker_Show.php b/workflow/engine/methods/tracker/tracker_Show.php
index a8d4dcb20..5259a7447 100755
--- a/workflow/engine/methods/tracker/tracker_Show.php
+++ b/workflow/engine/methods/tracker/tracker_Show.php
@@ -67,7 +67,7 @@ switch ($_GET['CTO_TYPE_OBJ']) {
$pmDynaForm = new pmDynaform($Fields);
if ($pmDynaForm->isResponsive()) {
- $pmDynaForm->printViewWitoutSubmit();
+ $pmDynaForm->printViewWithoutSubmit();
}
} else {
$G_PUBLISH = new Publisher();
From 24396618bbadbcdfae6cb677cafcc2220ab55a8d Mon Sep 17 00:00:00 2001
From: Roly Rudy Gutierrez Pinto
Date: Fri, 17 Apr 2015 16:52:19 -0400
Subject: [PATCH 17/19] PM-2003
---
workflow/engine/classes/class.pmDynaform.php | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/workflow/engine/classes/class.pmDynaform.php b/workflow/engine/classes/class.pmDynaform.php
index e8107eb2e..b12f1974b 100644
--- a/workflow/engine/classes/class.pmDynaform.php
+++ b/workflow/engine/classes/class.pmDynaform.php
@@ -159,6 +159,12 @@ class pmDynaform
}
if (isset($json->options[0])) {
$json->data = $json->options[0];
+ $no = count($json->options);
+ for ($io = 0; $io < $no; $io++) {
+ if ($json->options[$io]["value"] === $json->defaultValue) {
+ $json->data = $json->options[$io];
+ }
+ }
}
}
//data
From 8d706c934752cdb1949f4ee39b0c593585475ad9 Mon Sep 17 00:00:00 2001
From: jonathan
Date: Fri, 17 Apr 2015 18:00:52 -0400
Subject: [PATCH 18/19] update login v2
---
workflow/engine/xmlform/login/forgotPasswordpm3.xml | 4 +---
workflow/engine/xmlform/login/loginpm3.xml | 3 +--
workflow/engine/xmlform/login/sysLoginNoWSpm3.xml | 3 +--
3 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/workflow/engine/xmlform/login/forgotPasswordpm3.xml b/workflow/engine/xmlform/login/forgotPasswordpm3.xml
index 2e45b7f31..1c148713a 100755
--- a/workflow/engine/xmlform/login/forgotPasswordpm3.xml
+++ b/workflow/engine/xmlform/login/forgotPasswordpm3.xml
@@ -25,9 +25,7 @@ window.onload= function(){
document.getElementById('form[BSUBMIT]').classList.remove('module_app_button___gray');
document.getElementById('form[BSUBMIT]').classList.add('button-login-success');
document.getElementById('form[BCANCEL]').classList.remove('module_app_button___gray');
- document.getElementById('form[BCANCEL]').classList.add('button-login-cancel');
- document.getElementById('form[BSUBMIT]').setAttribute("tabindex",-1);
- document.getElementById('form[BCANCEL]').setAttribute("tabindex",-1);
+ document.getElementById('form[BCANCEL]').classList.add('button-login-cancel');
};
var panel;
diff --git a/workflow/engine/xmlform/login/loginpm3.xml b/workflow/engine/xmlform/login/loginpm3.xml
index fe6b34711..f1811cbcb 100755
--- a/workflow/engine/xmlform/login/loginpm3.xml
+++ b/workflow/engine/xmlform/login/loginpm3.xml
@@ -29,8 +29,7 @@ window.onload= function(){
document.getElementById('form[USR_USERNAME]').placeholder = _('ID_USER');
document.getElementById('form[USR_PASSWORD_MASK]').placeholder = _('ID_PASSWORD');
document.getElementById('form[BSUBMIT]').classList.remove('module_app_button___gray');
- document.getElementById('form[BSUBMIT]').classList.add('button-login-success');
- document.getElementById('form[BSUBMIT]').setAttribute("tabindex",-1);
+ document.getElementById('form[BSUBMIT]').classList.add('button-login-success');
};
// enable/disable forgot password link
diff --git a/workflow/engine/xmlform/login/sysLoginNoWSpm3.xml b/workflow/engine/xmlform/login/sysLoginNoWSpm3.xml
index 65413d5d9..5dd893ede 100755
--- a/workflow/engine/xmlform/login/sysLoginNoWSpm3.xml
+++ b/workflow/engine/xmlform/login/sysLoginNoWSpm3.xml
@@ -29,8 +29,7 @@ window.onload= function(){
document.getElementById('form[USR_PASSWORD_MASK]').placeholder = _('ID_PASSWORD');
document.getElementById('form[USER_ENV]').placeholder = _('ID_WORKSPACE');
document.getElementById('form[BSUBMIT]').classList.remove('module_app_button___gray');
- document.getElementById('form[BSUBMIT]').classList.add('button-login-success');
- document.getElementById('form[BSUBMIT]').setAttribute("tabindex",-1);
+ document.getElementById('form[BSUBMIT]').classList.add('button-login-success');
};
setFocus (getField ('USR_USERNAME'));
From 8960fd80b1f24e99c1cb764e019f8c8b1171ab54 Mon Sep 17 00:00:00 2001
From: Roly Rudy Gutierrez Pinto
Date: Fri, 17 Apr 2015 19:32:39 -0400
Subject: [PATCH 19/19] IMPROVEMENT
---
workflow/engine/classes/class.pmDynaform.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/workflow/engine/classes/class.pmDynaform.php b/workflow/engine/classes/class.pmDynaform.php
index b12f1974b..3d9231563 100644
--- a/workflow/engine/classes/class.pmDynaform.php
+++ b/workflow/engine/classes/class.pmDynaform.php
@@ -211,7 +211,7 @@ class pmDynaform
if ($column->type === "text" || $column->type === "textarea" || $column->type === "dropdown" || $column->type === "datetime" || $column->type === "checkbox" || $column->type === "file" || $column->type === "link") {
array_push($cells, array(
"value" => isset($row[$column->name]) ? $row[$column->name] : "",
- "label" => isset($row[$column->name . "_label"]) ? $row[$column->name . "_label"] : ""
+ "label" => isset($row[$column->name . "_label"]) ? $row[$column->name . "_label"] : (isset($row[$column->name]) ? $row[$column->name] : "")
));
}
if ($column->type === "suggest") {
|