From b552c1972e8686ce53a63ee975e9c80a3101b36b Mon Sep 17 00:00:00 2001 From: alexm Date: Fri, 7 Jan 2022 11:25:39 +0100 Subject: [PATCH 1/8] refactor(icons): update --- front/core/styles/icons/salixfont.css | 601 +++++++++++++------------ front/core/styles/icons/salixfont.eot | Bin 0 -> 46788 bytes front/core/styles/icons/salixfont.svg | 248 +++++----- front/core/styles/icons/salixfont.ttf | Bin 42184 -> 46616 bytes front/core/styles/icons/salixfont.woff | Bin 42260 -> 46692 bytes 5 files changed, 449 insertions(+), 400 deletions(-) create mode 100644 front/core/styles/icons/salixfont.eot diff --git a/front/core/styles/icons/salixfont.css b/front/core/styles/icons/salixfont.css index d0e2692ec..ead010b98 100644 --- a/front/core/styles/icons/salixfont.css +++ b/front/core/styles/icons/salixfont.css @@ -23,371 +23,408 @@ -moz-osx-font-smoothing: grayscale; } -.icon-100:before { - content: "\e976"; +.icon-isTooLittle:before { + content: "\e91b"; } -.icon-account:before { +.icon-frozen:before { content: "\e900"; } -.icon-actions:before { +.icon-Person:before { content: "\e901"; } -.icon-addperson:before { +.icon-handmadeArtificial:before { content: "\e902"; } -.icon-agency:before { +.icon-fruit:before { content: "\e903"; } -.icon-albaran:before { +.icon-funeral:before { content: "\e904"; } -.icon-anonymous:before { +.icon-treatments:before { content: "\e905"; } -.icon-apps:before { +.icon-preserved:before { content: "\e906"; } -.icon-artificial:before { +.icon-greenery:before { content: "\e907"; } -.icon-attach:before { +.icon-plant:before { content: "\e908"; } -.icon-barcode:before { +.icon-handmade:before { content: "\e909"; } -.icon-basket:before { +.icon-accessory:before { content: "\e90a"; } -.icon-basketadd:before { +.icon-artificial:before { content: "\e90b"; } -.icon-bin:before { +.icon-flower:before { content: "\e90c"; } -.icon-botanical:before { +.icon-fixedPrice:before { content: "\e90d"; } -.icon-bucket:before { +.icon-addperson:before { content: "\e90e"; } -.icon-buscaman:before { +.icon-supplierfalse:before { content: "\e90f"; } -.icon-buyrequest:before { +.icon-invoice-out:before { content: "\e910"; } -.icon-calc_volum .path1:before { +.icon-invoice-in:before { content: "\e911"; +} +.icon-invoice-in-create:before { + content: "\e912"; +} +.icon-basketadd:before { + content: "\e913"; +} +.icon-basket:before { + content: "\e914"; +} +.icon-calc_volum .path1:before { + content: "\e915"; color: rgb(0, 0, 0); } .icon-calc_volum .path2:before { - content: "\e912"; + content: "\e916"; margin-left: -1em; color: rgb(0, 0, 0); } .icon-calc_volum .path3:before { - content: "\e913"; + content: "\e917"; margin-left: -1em; color: rgb(0, 0, 0); } .icon-calc_volum .path4:before { - content: "\e914"; + content: "\e918"; margin-left: -1em; color: rgb(0, 0, 0); } .icon-calc_volum .path5:before { - content: "\e915"; + content: "\e919"; margin-left: -1em; color: rgb(0, 0, 0); } .icon-calc_volum .path6:before { - content: "\e916"; + content: "\e91a"; margin-left: -1em; color: rgb(255, 255, 255); } -.icon-calendar:before { - content: "\e917"; -} -.icon-catalog:before { - content: "\e918"; -} -.icon-claims:before { - content: "\e919"; -} -.icon-client:before { - content: "\e91a"; -} -.icon-clone:before { - content: "\e91b"; -} -.icon-columnadd:before { +.icon-deliveryprices:before { content: "\e91c"; } -.icon-columndelete:before { +.icon-onlinepayment:before { content: "\e91d"; } -.icon-accessory:before { +.icon-risk:before { content: "\e91e"; } -.icon-components:before { +.icon-noweb:before { content: "\e91f"; } -.icon-handmade:before { +.icon-no036:before { content: "\e920"; } -.icon-consignatarios:before { +.icon-inactive:before { content: "\e921"; } -.icon-control:before { +.icon-unavailable:before { content: "\e922"; } -.icon-credit:before { +.icon-invoice-01:before { content: "\e923"; } -.icon-deletedTicket:before { - content: "\e924"; -} -.icon-deleteline:before { - content: "\e925"; -} -.icon-delivery:before { - content: "\e926"; -} -.icon-deliveryprices:before { - content: "\e927"; -} -.icon-details:before { - content: "\e928"; -} -.icon-dfiscales:before { - content: "\e929"; -} -.icon-doc:before { - content: "\e92a"; -} -.icon-entry:before { - content: "\e92b"; -} -.icon-exit:before { - content: "\e92c"; -} -.icon-eye:before { - content: "\e92d"; -} -.icon-fixedPrice:before { - content: "\e92e"; -} -.icon-flower:before { - content: "\e92f"; -} -.icon-frozen:before { - content: "\e930"; -} -.icon-fruit:before { - content: "\e931"; -} -.icon-funeral:before { - content: "\e932"; -} -.icon-greuge:before { - content: "\e933"; -} -.icon-grid:before { - content: "\e934"; -} -.icon-handmadeArtificial:before { - content: "\e935"; -} -.icon-headercol:before { - content: "\e936"; -} -.icon-history:before { - content: "\e937"; -} -.icon-disabled:before { - content: "\e938"; -} -.icon-info:before { - content: "\e939"; -} -.icon-inventory:before { - content: "\e93a"; -} .icon-invoice:before { - content: "\e93b"; -} -.icon-invoice-in:before { - content: "\e93c"; -} -.icon-invoice-in-create:before { - content: "\e93d"; -} -.icon-invoice-out:before { - content: "\e93e"; -} -.icon-item:before { - content: "\e93f"; -} -.icon-languaje:before { - content: "\e940"; -} -.icon-lines:before { - content: "\e941"; -} -.icon-linesprepaired:before { - content: "\e942"; -} -.icon-logout:before { - content: "\e943"; -} -.icon-mana:before { - content: "\e944"; -} -.icon-mandatory:before { - content: "\e945"; -} -.icon-net:before { - content: "\e946"; -} -.icon-niche:before { - content: "\e947"; -} -.icon-no036:before { - content: "\e948"; -} -.icon-notes:before { - content: "\e949"; -} -.icon-noweb:before { - content: "\e94a"; -} -.icon-onlinepayment:before { - content: "\e94b"; -} -.icon-package:before { - content: "\e94c"; -} -.icon-payment:before { - content: "\e94d"; -} -.icon-pbx:before { - content: "\e94e"; -} -.icon-Person:before { - content: "\e94f"; -} -.icon-pets:before { - content: "\e950"; -} -.icon-photo:before { - content: "\e951"; -} -.icon-plant:before { - content: "\e952"; -} -.icon-stowaway:before { - content: "\e953"; -} -.icon-preserved:before { - content: "\e954"; -} -.icon-recovery:before { - content: "\e955"; -} -.icon-regentry:before { - content: "\e956"; -} -.icon-reserve:before { - content: "\e957"; -} -.icon-revision:before { - content: "\e958"; -} -.icon-risk:before { - content: "\e959"; -} -.icon-services:before { - content: "\e95a"; -} -.icon-settings:before { - content: "\e95b"; -} -.icon-shipment-01 .path1:before { - content: "\e95c"; - color: rgb(225, 225, 225); -} -.icon-shipment-01 .path2:before { - content: "\e95d"; - margin-left: -1em; - color: rgb(0, 0, 0); -} -.icon-sign:before { - content: "\e95e"; -} -.icon-sms:before { - content: "\e95f"; -} -.icon-solclaim:before { - content: "\e960"; -} -.icon-solunion:before { - content: "\e961"; -} -.icon-splitline:before { - content: "\e962"; -} -.icon-splur:before { - content: "\e963"; + content: "\e924"; + color: #5f5f5f; } .icon-supplier:before { - content: "\e965"; + content: "\e925"; } -.icon-supplierfalse:before { - content: "\e966"; +.icon-client2:before { + content: "\e926"; } -.icon-tags:before { - content: "\e967"; +.icon-supplier2:before { + content: "\e927"; } -.icon-tax:before { - content: "\e968"; +.icon-client:before { + content: "\e928"; } -.icon-thermometer:before { - content: "\e969"; +.icon-shipment-01:before { + content: "\e929"; + color: #000; } -.icon-ticket:before { - content: "\e96a"; -} -.icon-traceability:before { - content: "\e96b"; -} -.icon-transaction:before { - content: "\e96c"; -} -.icon-treatments:before { - content: "\e96d"; -} -.icon-unavailable:before { - content: "\e96e"; -} -.icon-greenery:before { - content: "\e96f"; -} -.icon-volume:before { - content: "\e970"; -} -.icon-wand:before { - content: "\e971"; -} -.icon-web:before { - content: "\e972"; -} -.icon-wiki:before { - content: "\e973"; -} -.icon-worker:before { - content: "\e974"; +.icon-inventory:before { + content: "\e92b"; } .icon-zone:before { + content: "\e92c"; +} +.icon-wiki:before { + content: "\e92d"; +} +.icon-attach:before { + content: "\e92e"; +} +.icon-zone2:before { + content: "\e92f"; +} +.icon-anonymous:before { + content: "\e930"; +} +.icon-net:before { + content: "\e931"; +} +.icon-buyrequest:before { + content: "\e932"; +} +.icon-thermometer:before { + content: "\e933"; +} +.icon-entry:before { + content: "\e934"; +} +.icon-deletedTicket:before { + content: "\e935"; +} +.icon-deliveryprices-01:before { + content: "\e936"; +} +.icon-catalog:before { + content: "\e937"; +} +.icon-agency:before { + content: "\e938"; +} +.icon-delivery:before { + content: "\e939"; +} +.icon-wand:before { + content: "\e93a"; +} +.icon-buscaman:before { + content: "\e93b"; +} +.icon-pbx:before { + content: "\e93c"; +} +.icon-calendar:before { + content: "\e93d"; +} +.icon-splitline:before { + content: "\e93e"; +} +.icon-consignatarios:before { + content: "\e93f"; +} +.icon-tax:before { + content: "\e940"; +} +.icon-notes:before { + content: "\e941"; +} +.icon-lines:before { + content: "\e942"; +} +.icon-languaje:before { + content: "\e943"; +} +.icon-greuge:before { + content: "\e944"; +} +.icon-credit:before { + content: "\e945"; +} +.icon-components:before { + content: "\e946"; +} +.icon-pets:before { + content: "\e947"; +} +.icon-linesprepaired:before { + content: "\e948"; +} +.icon-control:before { + content: "\e949"; +} +.icon-revision:before { + content: "\e94a"; +} +.icon-newinvoices:before { + content: "\e94b"; +} +.icon-services:before { + content: "\e94c"; +} +.icon-newalbaran:before { + content: "\e94d"; +} +.icon-solunion:before { + content: "\e94e"; +} +.icon-stowaway:before { + content: "\e94f"; +} +.icon-exit:before { + content: "\e950"; +} +.icon-apps:before { + content: "\e951"; +} +.icon-info:before { + content: "\e952"; +} +.icon-columndelete:before { + content: "\e953"; +} +.icon-columnadd:before { + content: "\e954"; +} +.icon-deleteline:before { + content: "\e955"; +} +.icon-item:before { + content: "\e956"; +} +.icon-worker:before { + content: "\e957"; +} +.icon-headercol:before { + content: "\e958"; +} +.icon-reserva:before { + content: "\e959"; +} +.icon-100:before { + content: "\e95a"; +} +.icon-noweb1:before { + content: "\e95b"; +} +.icon-settings1:before { + content: "\e95c"; +} +.icon-sign:before { + content: "\e95d"; +} +.icon-polizon:before { + content: "\e95e"; +} +.icon-solclaim:before { + content: "\e95f"; +} +.icon-actions:before { + content: "\e960"; +} +.icon-details:before { + content: "\e961"; +} +.icon-traceability:before { + content: "\e962"; +} +.icon-claims:before { + content: "\e963"; +} +.icon-regentry:before { + content: "\e964"; +} +.icon-regentry-1:before { + content: "\e965"; +} +.icon-transaction:before { + content: "\e966"; +} +.icon-history:before { + content: "\e968"; +} +.icon-entry:before { + content: "\e969"; +} +.icon-mana:before { + content: "\e96a"; +} +.icon-ticket:before { + content: "\e96b"; +} +.icon-niche:before { + content: "\e96c"; +} +.icon-tags:before { + content: "\e96d"; +} +.icon-volume:before { + content: "\e96e"; +} +.icon-bin:before { + content: "\e96f"; +} +.icon-splur:before { + content: "\e970"; +} +.icon-barcode:before { + content: "\e971"; +} +.icon-botanical:before { + content: "\e972"; +} +.icon-clone:before { + content: "\e973"; +} +.icon-photo:before { + content: "\e974"; +} +.icon-sms:before { content: "\e975"; } +.icon-eye:before { + content: "\e976"; +} +.icon-doc:before { + content: "\e977"; +} +.icon-package:before { + content: "\e978"; +} +.icon-settings:before { + content: "\e979"; +} +.icon-bucket:before { + content: "\e97a"; + color: #000; +} +.icon-mandatory:before { + content: "\e97b"; +} +.icon-recovery:before { + content: "\e97c"; +} +.icon-payment:before { + content: "\e97e"; +} +.icon-invoices:before { + content: "\e97f"; + color: #000; +} +.icon-grid:before { + content: "\e980"; +} +.icon-logout:before { + content: "\e981"; +} +.icon-web:before { + content: "\e982"; +} +.icon-albaran:before { + content: "\e983"; +} +.icon-dfiscales:before { + content: "\e984"; +} diff --git a/front/core/styles/icons/salixfont.eot b/front/core/styles/icons/salixfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..98a111250f1910952da57d5722019ffbb401f703 GIT binary patch literal 46788 zcmeFa3z#EUbuL=Fc0E)jl~kpYswB0fmRc>TTWWPntye#1dOYv(^o-l{us!yS?Xlfs z8yf>Q*brj|FxUn=!JK0UhG2r>Is|iK2qrJgWx$4n;JG;@*O2(0zzyU&ahzaIOu{46 zn)|ORbx)6NNOF>#`+euT-Fj5*+O=yx)?VvhkG=KOZwW#IZzhPsxqnP}AET7r7o3|; zdHui7yldC*zWkaXM1`A$D}@_`>xA2cW#J~_wZbjP6c#QNt`Uw2Z^V@=g*PC@5e_2d z4aj|+mn$bUgmIycE3aMxF3^L6!f}BM^}YKhCL>YhlSp|2?<=ml@ygfz$%FrA44Kk6 zzv0-GH@^Sdg}A&LzN2MvRY{4qg{xXRX1M1M7ln+_5&j=^^9}4#b`mw4WAm(4LQM)4 z*1)?kq!hv|o@N==?3U?^-ndX@ZOYr6VYAGoTlhF@s2j!NP^nx})R;2OR4S&VL|B+b zkadpkXtzr9EI*|9qaRUY- zj8;;UCs>yi+FmhUYJ@80rEg@DosD$35%&%4<(yPM)ef~ zrWV-M+oQ^QRAaKHXz@TqMpezcDN09CXyBMEiaWV39T7QdFO4pZpq`?{E|+vZsThiQ z9qJ|?mN?&uz7Q4hDiM!Gzc5zbQ)VZ&MKTeN2U%K3et-ugN7Lg$6kwN}@U4=>M475# zX&H3H2oohEWpLapvX6Y3iwfuBZD^hv2$+F^4Ppibf0$Fvy$6WwVd*Axg@rfz91oIu zzl?rl13{iqCa>9vns|@6S;m8Skg6+Lfe40ztA-*4B{5ovqSg{ul#qgU&}cr#ln^Rq z2iY*!i=}--c`hcMhGqps^aZ+9O3x2*ManPaXV6ugtLV$I;`t@?UwN@yqspO*`|xa& z-O6MhRKsd^FdTBxt8@{ym8!ijyi24}#F#2UMGGiFIWwJ>#Ayul9QykX^k@f}C8nq$ z#YlxqZ=pVA9nPhTiFoEPws>{9Cf@#n59nVD>rWd}D6Dw^!p z2P|}}BrlO z6EhbV8{XZ>;Z5y0GdT13g~u}5#42#)F~9;2%I$7ZE`vE@VpDZGt2L&n zi^sTe6@1YvoX$`O6`YqilV2(ruE&_mZ;F+p5(c?+pqg9AGB&u7M<;p|&UU}2)1C%_ zNxJm+OfIBlU1cmA3I}zQX;EbAzGvt8cQwmyBBBLSplvZ2zyy}1kOE5N`$Vaf=j`38 zqskJO?`Gx0O(uqQIVedOfW(BuB{4B(Gxm$BsPdqU3-@z~1DT1xa{3pUqpC(Mo*%nq z)26r7IZ8k#P_CO%#NLvkaY;5p6ZxSECR4}_4R6oWs5_0M7}7+UzgG(owcAlW$n>B% z-|61FDC=kpuU}eL!YUIB6S5v*5q-b`l}wCF{Jg1Zt9j$pR0||8Cz>fd46_UEtcv2~ zk&$<+U_rWqTHYjWNec&dKOJ=GC9k29{&|_d zGn2k@^Le{vUg7fMmd#gZGU4##aG|=DYq}D&`R0MSK{KcX&B6K1c|4{oy2iJT6^5JP z$SfP2$ynCxNVygrwo;?vq1~g~<~LkAkm`Lv4k>dNYt2hbzZu^)K3;DeZA>;s2!;XqT0qwB`}q@FHBAEPbNVgc6cnqMZeHYCsEj5Xxz6XruS^!a(zCp zM!78WsGQ4RzisQ@PGj<-;bQ8msH7-q!7m2G{C9OT68s%89QqP!DWbN&pBf&%7+fO| z3Gj%{Y9r-Y%TnZl$(Usiq%NDE-}WK4dwO8&@EbDw#%hH^Gh)ils4X@c$2V*kh-Qu6 zcgMC3Fn;j{u-M+0Ur)L(%_7!6@xnLqxE03VOa5x<0-C3Y=L1EQ1C&lOZmxQ7) zA+&_uP*vU!+5lIv@_mft0VR(+VaPE3Cm7%=Xr;jNR=y527LV~}99RYQrt!rq?kJ6T zo)`-#!6s;S_U$u{K9p0O3g&iq{qS@=jnY#MCXNb)<;AZXbxiH57&`b3``Hw;o5% zffNKh3gl8K9teh3{?r<>R1%P2Tg)0V1BQ|vVREZ5exwqXgGzo>l3IoBR?f2GvLr_W z<5x@sB9bgSmYKIY7zb7ODdwoce@8d~_3>8WZsCORsPKOXf=tt{>2+kef&L!{g!B8= zn?L}mIBU~f@}W8=EiQO7*=OlE^ZVMDA8r$qxoI~^g5XtX`(uOwJU5|8NR@`t!6Q&c zSH&~hG?g1Pz9a=~uR5q*f6Pg)Owc{u8P;e*+5r(0Ql;k*8ph?aD1X9rdmL21{H)3kZn z=tdK~eB)?-)1W90Zpwcrd%nx90cZ0V!L8mOvZPBXERv?A-&BJ#;Veu59stP&QxQoD zr*sdWd<3+0E%^U=!sWv4nBA*PmPVvhZu}%9ww< z4sn}0|OIWG!w}U#bQO2 zHgj>bSlp0Inxc{%%x=mL4enl&MNO;Zb7Sn|l}crQwNe?%WX4S}5}-X68hGmsH~!YH zT~m|UY))3tgV~mYZ;0+dLbt~UL{=UhIWRU>>-|^5D8-#~Cw$%_tdRCqWVt)`OcEq5*y3WcphLpjWC;mn@`AAUmk6tr6jeDe^ygTaQ= zpU9ZNo;v4G@Ab3An_#O6)Q4*?@LPYvdvlA@!9_{=@?RU7r-7|y$DCZfw01yJyh}Q8 zXH}6KWHip*jyHJzv!QU4jK)izW|IyMnwZ*-Kjl5e(ytzvwhs)Uw)*+;>FdHppKz#= z{*^w~BnrWcuePsTYL(lbiVQTmR@u}qHh8o-9Lkzt$f;Ha`m!uXi!rF?rM=>_&=C0kP4KN;70!a-Ihq?kq2dxik0P`?e1eH)+MGZnxbk$EJDS$TN zI*+Dc%3wS*=ydX`WIK?4O79D#LPQHD8V(gT(@o9p4L}7Dxt08@cq;QO0}%1B2p;QM_~wX7Q3ZU6Lo=P`JrckTapV`hZu+B404?Sj=D?@gWhlci z@A*;={03E>z*Vq7*uXsYg;Ls7rq74S_|`vzv5fBZ)OP$z2)x0ZdCGpdYisUG--um5*O(?gGL^KyxU?q|;$Er(XgL4C#36fBwLARX)iARm% z)m3`{SY3~Y2I^58<`e@&6tzTN$lJ9Pri~M}M_rK41XwHPF8&ycfOFYD zPzW58fg32?95&6AtXWQ0LS{mFmdOSO%t3Pqv@J>_1-Bfg*)B3u4#?TLu))K!sdK0c za==o8VgQUcG+;;pZlfxg;EoM@9b1Zz#4ro;#Emh3g0WO5jq;H})T5Z4D&}jFM>8St z114F6kt4Z4``Ob2rVhO{e5BWWm#98e0IGUXH>S)P;fnYP5=-Y7=fINq=GaKoumU_z>d@VG74V2fVS9Aru&pas@7KynTv8juwoYF1uXl=jfZTp*&|1gVVXg2#e+iutJ&dIqMX0@D&Ei~umG zN})yxPlkE|BNQx}Z*l`xK+(;DX$*v8W43N7=w8roAZ#yyZ`$l(wxyn^Sf;fZU#4Y$ z3K~Exm>9&k#Di|m!{EZ1{{{^BabZ9x3-F!!ZU?ff#9;tw=7F(oOhfW_6oTLmg*;{= z&#PU`KpY~ygG|tt`R7l+H#0htZ7&6OPqIs!yVVQZIM2LpNv>vkkEF-sCGnTpFDT0C zdu3Ho_!}VuK0cCpXL^*cd~Isy&M9$bBy(qar1yiBKQ7d21+l?*$f_#eDFyIBJRByY zGv7g7KZ?3`h5t?XC)5^jpL_zos|0=zf?1@ZcS;2{?p=DB6Q&*`!vM31DV4kA0pZ|8 zLw)~CpWEa;mk!vRr{R+?r(A%urohSeL~Ic+Fep-3JswR(A^{I~sK-2q1aU}ksxCTk zLR8^#St~0~73}tl@p$1za7^;Qczlv>^qeuinWGDiHw$NqXR0MTZM^HMF4T_Ycr`xI zNrgc#pqf9z^pOH%64+Elj{*DT+X>8a?K7Z7<*je!;^#o#@LvqZO2iOwNAEwABqz}L zW<+#-fzf$UtNi-I4%=i!gCd&H)s{SlrmN^0v^Dbd zu1YYXN0N*%N~;@43Fu2NkZg&R3b_mi7R)F=kWKXE<8@N=)}NPa=o>Q2j3-0-M#;08Gg`zd%DJ0s=i-9##xaOZPUeh!D1Z@nN= zwt0NSG_6fFR$U-*_}^*Z^Mf)k<_8uE&>%o`M9Es-EnZX~-k35|fU=3YTby$X$)Ms` zq8M@2Bm@}YbxE{3Lj$vePzNG-!uc^Bvx?*`3nZgf*`d~uCKL)<&3s{J*{Rwo zh%!JKC=gt9yFy(cwA16@xq#CE%Gmg{rn-Z6J%fA@_QVZXB%FzN@|EorMZ$%5!(Q|j*o$Jq z+l2ct(^gHkG&SHTC;(s;xX+$_%l#V2EOeXWu=e6>mGnWMK9+RVwOpP_(w}Ga*;EUJ zL-FO!4os!BiPI%tft?2|_Y29e1|O?ct2fSV=yoo26MMuT?)fc9bx6|*rb7=$V~DTb6{?+-6s7@TsP1pDhx&Aql#ttH$GQPWSY{HZw7doAp5khEZn63ogl zRs#0sC8*o^5LEG)76=2I>bjOR^ZlGOr$C?JbwO1z)VvHeKMw;Z6h$yWav{MFmex#_ zz5kJgOB0SWHTZ}poBjBav``V|g-b9xKPP^pV8;uv%op0tb~8Q;i*%<;ecvC){5Wgd zG4G^r%xkx(=h4^1TO9G!!qn8h1pf9-O)YGkn%Ymt`=_QhK7QAsyY4!4S#{+vx=k}} zOm5qH$JiKqovQwmX?9?Ts|**rCjPp`;Yy`g>;OTQURjD?dhe%)?z;PuyYH^;yt64X z!)TRC%@0E4h(e`Q>{?(=-D0UyEf%M!#HnJDFiJoO_2X!CAqR<27cLeqga7r7f?z`v zBnK);yG)KH7$H3=0kQ%e0}wzWc;p1-h9SxZ@C2rg@Vap*&{z$3YEtR`n zcJo^rM|uUeXi1iasd%#r%*w6BTYqExafOT*_wxX3CFmI0$gp|{N`Wscw_TBJbW7{j6FFmrLf=#?}ik?>@%U3ib3@`*P<=j#$KVeKc(Q{2 zMyyu9zYRoM9YOHgt-`y69|)&e6cp%pEx|*~W0ioJZ=fSrgAa5eAQ34;{hr5QSe}>1 z!@7Bbl*k4+*S5T20e|tzA(8H7!8wKL5R0(#o=&P#?p8@fSt- zGom=3e?3o1BerLiC(WD{=3N)?!go}mK`J>^2uDt^67fa~9YU)Yj_bjoP9GoDLtwOs zJAk$$tQ@Ruz$hT0loAipe*v zoXzW@klur0tRkp^9l+TnjQwC#K%-D3fe_(mAg^1T`dB4AIUlZUUXSZR1Yoqje4}A%6tj|C0)cHRS{|O|I_-p zwC+tte}*GCF{Xgdp+I$@ib5nKOs??18m%AlNF#Zc)>Zv~Sz0IGl#eHZLLO3dgYby( z8R3hNqU)q&w*Y2K(To%j0)OvhrvWPk_&iu2Ib!BX8bV+aOoWYs5{u`uaF5HsOa>4T zfl1S2;j^%KsJ?*#+?39U+pm)ieZONr%A~v|Df+SjXeH0ifjTF^u4sm@8%B(xdI>l$ zu@>;){~dgy&r+GN#&TcIpq+YR^!)ta`z-ehW;z5A?y>gQ1%sy9yVPgg(7h+C)s0p( zWYh+8C69}H%$t3}o=Erha@Ge->LR$JuVCQnNIJmH#)Tn;Cv>^_If<`^hvPV zRMli{A8kRVL#}&c|3$|8))i7 znj;zv-a$kkK;!~Lb=`ayc4(NUDdyI3Rpck(KFeUfnWfNL8~1pLKv%_oDQ<0kH54{s zgAExWF{WQ+hC-GV3Yq7By~d7@zkWk@dLSCU?`8x{6`e#{l1uSJy$>Hs6uFpo@G0?I z?xh=?CO7rJmsD}T1*dT^V=?RJquaaKPsC`b_fyT}_-0%)lf9ot!d3`Mon-}k-(;5! zkLZCyC@OwWw$wyMmJ11de)X&Jpc602axSh$)aR|xLeT2nr5i9FvN5KaR`8-kEw<&K zgTv%Y(V&O@7;(`NL`IJZJA{icJ`W@ne9Rg>$o#xxWgNYv1_j&FoeOqX#`<0}U{Sx!h3mWq2zna1a5|ifY5o zfnY&9Z@*wi!{InLqhTJ3oe0O{;czT=kN1t^pM;?p!{$Y)B%ehb-GL0a1-_cM#>452 zVl=XHVJOBorYZfC??r^(cse~SOXKO+vd3PV9+%|dbfyNkm;ByOTJgJAa&7TV?Gd&K zPmP9qUk=AbZimvbFxx^;?LA>eIZkjHCtnQ5?9fzq>QFkvC_yY1uWq$+L3e!)F}yb% z>otg8*f-*I!m_HZrHisx6X_rRQ6A2C^~h*Zwf9{f58u?=&pzcXBZ=@w_~)?NfL3FG zbphq}VJ(cL(3taldL72E&e(BuFlO@kT`$(OX9aMFPZS`;v3k1 z5l@n~XXoSj_OCOkcUnBTXAiFZittJHd+ZOeB19-ctAlO_4KLng(&Ba3Ena)=C$HUe z?X}1!YVgZyJVp61F%h3#RN15=0pYUnu?@y)Z5b zj=R`u&Ca%3i>|Z&_^*+)$HCv8{$Vlm;zV41+iE^U(2@qP?&SI=l(ofi)i%p>@|1O4B_jxhVPF{XiDe<4brI(2E(9MJh3hUm{GJi~ zz31>{*R4OkV*i0VhKt4FI}Yr>V%_m~k+x@~Ji4*dxnwBssK2Yj96d^&tJ=UoPQoWT za|{t|7dEudsl8{#a4-mOmk|m^#Wze|$i&9*J=enA@^GY_$i?y_SI;`ILNzY04co<7 z*?x#W@ye?B)jHjJMP>RG6aP5txNw+|DXNxC#nj&S16oAc8HnoxFpZ22;1j{!8Z(P3 zD=NJQQ5UKgK8?`jLnbpGc^ppt7sG>*Zm{bP@$=7T31_RmB{&elVjtifVGcfxEka00 z2*aMe;9~;TK-nHp@!@SDz7F*G2*$s#-eh1yrSzho;g<2{I7M`mIP6QszNjo0<9+uk zLUk}oAZ*wRXdu^Xr!dUGn+$g}4luIbi^{?cu$F;Y6VWu~HBMZ2;_jqUI9-{auZ+&m zkGko!>tu4GLMN2yWHOGM$$j-HJz*TpxGSe{)!w3>->mOZn4z5CZ0=Q?P9~_V-17(~ z0ej>lYSOYs+-xJ33udAg!kb3yXf9+#m8lkEt!X%NjX^s)8jqK(XeOAmC$sK|WhK>* zh(k}1{c%V-K~7K2uTX8~1S)`9*|`(1NMVnj)B+_tmvL5}aWeJIo9pz>*@(tS>Wc^u zS74S)#|GgLj5|3auBuqq5O5=rp;%hgC9F?K$A%&i7m2tOGjj2GD1<6qgivWrd49hk zAl|KyX9o~R`G>+Y!gqw{g`Z$;NQ73%{XAP4{8&Eh{I?HSf6f=`FzI{K-ixhUi>)RW z=i5Rt;NWZ+W}FfM6d>3^DRCUOK`tNzc)D;6=N=8Y6t6`#jZ#@g0*Ir4OXOK=0&n>- z5q@^a>@pk?xayG{)|J7Zh%>yvKm5YN3=D=!^NSL{0h{WQn@G4zzzge+^;J?yMEj%? zLKt?rvowpHZy6w(TC6nDztsHKS zE)MU%?e;I+s5_yN!>z4v7~hpXZ)D`6`sCqiZZ@%}_deKx_-8^PIilj|^j`1impC6t z5A3LILOg}x25$}}jZG0()7;3W+TKFGZQFLp*w3!mbOQo31_tW&o!JT4ni0@naxY-R z@SpF6`ID@m{4?GG{35G;6hpLp!;>Aav;})XM8L=1ET!h7&8w>z^5s{x=AM@wzI>~e zNNgP&YYcD6zIoSC%bF>d$JibGAL2tHN3YY9*)FYq8WTYyf*CWNJf7m7#hpz2DE( z_P8ed29?wc_`TkH__;JiRQ8@yejq&_jT(Q>&L3Fb zh$SBw%FUhLUo0t>*)9%Ge2m=+6n~cX5}>{f!WQ9tVXtS2zfpMo&l+Q^5HA+|B^sVg z;V!0~H|{EqR@dxcQWudkik zZyaaU1JPw%fvSYarCznlLP|WWCx5l^s{wPw zxoj_Dv?w2HQI@QgvJ61l;etMvHDSHd% z&8jWrq(J_S3YP2NDts4sp-}9 zG}yUm>w$w`JR*GAe;_F?14aR70cg0YG4 zgK*{)^yJ5Yb~Xx|Az`itWl|&@2A5QhqAMd5$}{^DEP(2PpeZs1+R#^c39(RQvY~g! z3nCyJC3)F--}XqRWc0Y}3EqgejEF*=>>|&?-TgK6XYaG9B8$g+FGz>BEF2!mJ*$-6 zhvE;_4%pvDTW{sMe$UN!!%+_3_5F z?l>zimZr$3-eQw%G24VXg0d<>ot){ndwu5nPzHoH)>zT@E&}^G_A}lkR7D}3WZ)?g zn}?k|k5hNOHG;>Ru0M^M`8K4&JVT5kI@p^pg?za_)Bsk)EJG@ZCGjdRJfd1Dmi*w0 zQn4R4QMc#xR7uwmZ#=ne+uO!!Vnr2?IoT|N+OqKz&BFyQWgXV+eN&X2lL+QIjQD50 zcUNj3JF%KeeCcO|W31d;I9?oRh7+KF7BZUUa_fUyByeZOD;#dZ6U`?Vu;#?cG!ghT z8V)^zMX|cs=`FA3=+oVk{HM@A282ma-cD?n^Yi=AlZr4NdVRPC%&_!K1=E3{46$}) zgr36WiMOnRJ$bb1cFDit^%<^;SNQQNSTfe7fUj<`2ORd&Ij9*T$t;*?`WtG)#R zE;Vu6Pn+gU!Ak2NtCi->U9GuN$*h=%%53_3S}t}OkB7Dyqx&Pl@xe?*{7dO)c3E!< zu|jUB6HbO;I|+xuK3ngr7z^gRVaFc*w4p3480H6+j^1%T{O*}ZoU|WZuUrXdn!pJQfj^L)4fj*C0Htv z&nJ4%C5EP_*#*77g75va!U2AO&%u%t7Yd+-qgapp2f`@DgW@nMQ`QgyE0NC!$Vc&()dgDQ?B z^+p5d3eJfcRa4_mW+vy3Co{7-%`uhWjO~o4){<~+PwOf+ElAJi+}ha-|4iO}DP6ru zSHGbIZ&HGBPgoq_;IJ}ZdNKRb5(4Jb5Jm;){DH?GXRX+VjlZ;UAzaSx+NY-5 zSizx~?5;}kn$b*H_9`opDD4cV8?wLxi z8(x5_)CID4alkCD9DVkv&R<;nmalsDDBAFvqi6z-rI);eqtCq9{|@lb>BpT)#o@ab zDwXfb(t&S(8<7bw{}!uD*rJ6m;o{4_Un-YZKF_~-`sP5nyu`nWz6hN;Eok5yuR%|Y z2)nQ$*;T^purBz0!iR-V3cn?M8QLV+rT4--A>r)yx}>}M9PXzCS&JE$ z05$tNY9g&EBm5GBD-A#}8-WBC^5OrYN}MJ^)4|g@vS- zA_dV`-X}W=%UofxlAO*!m9^u!%%*Z-EX^e)FtZaBrc$E%BB$k>SUQE0lq|xJ4IoX$n8uk(;e_}UFrx%vC+KMl z{M0G5dWDM5qqnfHpp-O7x9kOLOl4Zn?A(}B+ zrjH#`*3K$g))`dia>1a8%~i0rjfbQ}fnpfhJuuH>Nk5jkDm=uK1zeNv^fF?n2Fln^ zdsi;Bc5{$>H_Pwx^rS)(atEu_Xak)b=kG#u6{(O2AQ4Ld#b5~TQTD=ul%1^CC$rKV zj~Xi{$Z#Sq8)3fk801o14PXPI14^t`>z%N^VibuT?DlQ` z1O700FL}X<9^eG0Rs24+^v%fqE57+D>n&0B)o<*uLO0N~@NM(Bp?`%mE?@h`)^LnM zKfsdt$=p({wv=0WEScd+C$*(i*pd{pcEXNfxkR#K_a4HkP0o`FJE{+vb}g<))p?U@|2R z*_~vnVcW3;N>>#x))>VbM${yYdDKAZ_=`0tm$;M4^`FqYiP%p7l8oIyG+H@WspLs+ z;cdY$e-v`+d3f}quu)c_Zf;>q>@d5IA@-X@ga1M(G5AM)l3WxJ6L_HyaqO?-K^Gw# z^))uAKt8;DmpX3f-|ty8Iwb@*VeuNenH+8P4)Fx!^lqV|!Hj@Mao`t?Y{-vK3@085 z{~u0)@^DN+aS&ANOGhcV4a4U@gYNWh^Zj^!p%_U202~DQOCA5IO_GS-i&EE1=$6v3 zR<%Mn7Yjh4)B(u5fvIc47j(5IM(Hxu*2{t#k@0c$7y_|>($2EJDEA8NA|37YMDJ0I z7I~Gzur=fsa-Nk0o2Z1aQyuMyLlOv-g%MQ|5Cy3d(@TpbDA>*ACT1=6LV{St(h06H zm|R4~fU65T&`EF#V|ura0y#^_3RfNCd2L({$q=5otvMs(`NXbj%6#UgY0UZVwO!2O z+aa0|ZVmF(Xwu_utW3jdTHZX?#Yz3rI?N;x%D6$7fx3YdD4QsaT}s=8m6u9p+FU6i z*{#}okgMh4(aSPP0EmQXV@-WwypbzRNX^1gEWOcfELg(lFGvvLzz0vDC=#FE=L={Q zlEE;wn25!_8Xiec6Q!q+0d0XuwtL^gF#tZQriP#P?=a$)GwJO5#a)HnB}s;_js!Su zF@*5t+@@jT!U0HdRGOE{<-KKyCrz-QPYt|dR zax`Vto+UJaO^yKRUIRbLTd^;JV0+US6Nl!K<1q@PU|M_7f~GP}{=!fJ87a2T%TCEY z3|2hW0AcQJNB$haNYm4uG>%ivRB|ebo+Zk1bpXm8+jrczecSf$B_~oqV&!CJCY>5F?I>4Ex$<>| zTn2Vc%tFLyD0VfK=ZpKr!{YVg%`kF;BU2y+jU&XuS>6ZBT3>^~@cWrS6+{>w^CdHl$KWw;9yO3Y zk9$xSUdRTm1}}`gCs`20=G}&@AP_Keg@%^|1{H~ncmiHt1&Clg+3&(sj@%w=$E>E? zkaN;e(L5E;g}vR|`T;vR7S@(e_sOR2Gyq(=QYYq2&-1{9--2;g1Y+=-0_lZzpzUSa z1=sHd?*`~w4TzFrsScq;GXT%W?tXr&{7GPe&iy84y(QO3%{z4pAjz`ET5rI05XRyw z)W^HvZ%)zgCS2&Qmf-gvNiY;EdzGX9^ea~{fhVbXY^f1uv{TRe2Fa~D`7>#}ys7H< zB-DaDI$*U={r004uDaUJzFbCuNJUe->znF#HR`qjW^R;@a!_IuT8DQ;9p-lvDoQs}S58+2OYu@gGPA4t=z}{khatYeu%JQeA?$)PI51GeL_(kj zI4?vGjyG=r_CdZR2{;W~Zj{`eZ^gD6C`0D<;NZ@Y(GsSgf1N&+F!l&br^{f_2%*8; zq;hm=ZadfM-vy6_!l9UDXV>jH2}&97-MY}y5O^b-=>j-H3Kj;zuG)BBWt{jv>AOmM zVOf%h$+Os4o$Bb-ZlSsIXGU|uE<+eAl?qCxEz__Khka4qOzMzu@&&ionS)!AAKSEE zo0Ob(VR(C)lDV_L4vB9Jm@D7+b12R0u`suO`vpg2bAZ{8*euM@>w1tc(j1a!f z+zr$zkitO@L~#4+)g@AQGRwGT488+(rXC+O9<(#S#|s!HbHLc#%*ZtU5Uc0}z+lMl zt(kPx8(YQ;$F|!=6FZY)OalshG&Y9uyv?8%zbnxWTmtAQrcwh8VK0703>L^?q%yiY zJ7|$O#hyWL+>BcY#5>T5&^3ys#7wSjUGT>dMunH^Z(BtDq}t&OtZ-Ojg^@x05G41x zkZ#%utC(Q&{ia;-^P>nyd@nly|BqUc;Lgf+He3l!swI=G`& zfhb1=l0Wz!Wd#)EmHFnD;gP_(1Bc-yT7x5w#12Bku<#k;AYXnFLzgrRSAl$#K^(a~ zb%_xj1Qd4&+asMF$01WyMrUX0dvZ|YZ3B%4n$p!JA|?~wV^}5Qv;_@UbL9n09-??P z>Y}HBHX)yCL+VW!WM7*#bGwkiAKp2nnz@TS+AwqX5+PJz;YPDDWauC?bCqOZgS;6s z>qoHH2eFGm7S`=LY$emec40}l16trZi~wj28wv0T(1l%Ymtjf70!UcrHy~E032R~= z{K;FBN*@UA2K$AOBHvIM?=KNjA3NWg{fYb5wzWL`PZ-b!#}y)z5Je`BL%P- z$o5&l5~ywDB^^3)(=976Q4r`en$`x)3u(`|>2kO5d1L!nZF}g6LbqEGD;a(hJui>2 zik+|l!``g~SH5A$vzM@^4jnop0GlT-xdcT&cJR9g{^AD*k_Sgh2Y`k}wMlyC%?ym~ z)&tGnshlm|Zs$_z;o)>DXRmy>D()GXP9EzG`oxrbWMu zhF3`6Jy+)bh{8S47T>YZ|66Rg7e^*6b9Q8;=5NkAG4hV{ubUX{luDh^iR(5E)8B2m zL?Sm*-#<6Ezdmvl0lUeAYwWn8 zosA0)9WrQuim5?@K0oJHW`5gll2@S|CI)zz55?qS;1%WUGBYnax%mF>h^!|}xO)l6gez-zp4=F9v^ z^s|LEE700u_NtTQM5jW6t58mDT8j=_yM=!an*ONxIYl{d+xB<9W81a`S$fB##~#J& zd;FaT#kUoU7gPND#l_;v+r{n&K5(q}A$CpA{e@rf#uOiZOgGJ^buryPYbLD^={_gc zo50S$Fs2(~9j|{TL>LkuuYX-kH;=z8hI{2tULNKBfB*AQ-6tM>^dZf)ffsU3d&0;& z*l8)$n=drKKX2;dEs*npu2 z6K>T^DmoC5o;1xNw*(#y^|I;|VzvYAKcGRmt~$w(W~A-Kv+>+#*PTnCr*U|OY3?q< z!h8^P*#r$y+*O8nqLoM38k8&w(xUZGSTo}L$GTP4nrtwyGuv( zKfkcRA3XibvE%~ZeEJIu$r!)RPNnP>JEWdeLm~A^Y(abWP<$sg=dr!_$NuC`a;qoe z;ojF^uDdE_fBM6xkAL{nR04m*PW663MHIY`-on{q_K)73zu)^iacs31oDiKWuR`b7 z{cL&hZ>MsS82(BF@~xud{yj*u_ngvSD*!V4w=Wmy2mFIlDCYkaeBe6a&BC3+F9{#| zpV?2ey$0z9WD_Kudw#dWlZbwT{9 z3B!_Gq3FX0li35QJiiC%dMDohp51?N7{;b%p{-acI0;OkTPK!WYK5fHLem(@9Vn&B zQUD+HD+$V(ufi5{6030{;Mh&2O?f*^U7wP|@-I%kV;XezPT;jS_3_$n z>@aeRa2&gGKO_8ip+_s^6qtp5p}v036;VqM8PHY4zCr3CC5+a1fz&vLj#~HDdB8pZ zV*vJxaAhAcfPFa~+dqc#tCSj0!J)=uM+wiC&<0Z@bmHgpbodg~FA}U2i4J>zowR8n zN8i-op+f9ZqWW12uaXrua{otb=n2RPl@{IJFN`3l4=rg`FTqORiiNS^z(`h{-aR3l zaLh=;5$)9A?rwWe{l*z-cfGZDY#0jIEpLFyy>5iUEUNS$wqgt&V7#$tK z-VX3f>W7AghtDsS%M0xe79L`wXXLZ(EfeD%zUlZ}KhwVUYiF)_i(km{V*S!878ANZTW!}aYi6juXLlFX9af6Q-* z*kB*Wilo4BJpzL+T&-Ap5s26us=c?aX5dmelPT-iZ#t2fPGDW8t6_g2jCDMq6;cDk z*z!!)Qj3GGi)~`Xs6B>`Kr=MWG|TX=wA++HP3*2s@IxXl==!d5Nk*EU)SFlfP3xg8 zV74Qm*M~u`-ffV?x!h(}f)Cb>vHG#{g451L}3h5(KlHUW?!%w;+hAG@vhLl(M?E%hEd z(fjsGFR`H$bo}gd&wcQz7f<}tH~;Cxi%*?X4kU?;aE-jx)L7GEC!S`)i5}+qi3N6~ z_psPxr+UqmQ}pbBaG?L}JYui53Wp(Y{*&;_h+Yzkt6h!lYC5k}wBYWsJ-v?jL8*g% z7SR7*ETE^OVYX$k2DIRPdmQH6%e+6XFVjuDG4y20*-|{iG@gQME;y#U?)+uXYqFEc z)I~Eh=gnMQ;@!&A=FWP3hxx~&)6=7DF*m&ABnM3=$_8in7mKdT; zDVa7_AxyWt{zt*q9se%0^%S;W)d&UpN2-2c=)_Pnpb;ocA%c7DC?K6YZ)WDARB|}S zwv^^7t#)myv~r|8J99 z)*JhVV#~4XF#CY^tp&We-`8P2%=kZ=wmQzXVid0~fuFqFN;mrKF92 ze!?drzs%E5^A^4N(o|*Tkh2Mis=*=jV*4Ps}pcVDL z1AqXQH~fQ8nF|eYVj>044?){TkU7Z*05r%Rf}s^+{ks5J$_;|K-US~A4I<13?uGtt zUDJKL6L{IW0%D}Dt$Ny!es(YHKF0Cap%Kl2*l07)HU~g1q7kY1iV5ctJFuVH=`)C0K&5koug^&uul z|KY2v9}11Low-^^DuJT3Uy#_nMg$85g4{BUq6-tRN!xWHdgMO#9I;VYttC^*!k$jn zP1r}t+l!DZ1?F%K)@sob$wQun!MHFvS%AGai_N#io`oMX(bERPH4OZPiZ<-QDd~PQ zrXuzo22B-PE`x6&+zh{jguN(3(7ibJpHp4qzWeQKQ}@A^Zt1FJm_-{_ckGX^MG;!` z0C+t7x)dU&WZ{B^AC_hxY@YDFQY~SC#V;1o26B1HQG!#Y(o{f$;-MGR(+{9YJgH|4 z8&(JU8@BN~DjE5HGp?Y`sFmVK;IdRHjbco#vz5AEykAKe_tO0-6Zg|^zQA4qr*=|i zFPzgZC9tktXeJhHMD?ng=W$i1`E$)$qC*euTINT*)0z zN?JO#1(8Qe1{Uh!$;n}aG-O~d=j^X~@qcB-;3QqE7?z-L=B*?8Hu%N^*p2TU!UwQ# z(|3fQV4i!lNpW_*9}TBaBEZSl4lw00Z#{BFdOyB|_yE@9d5&n`6X&h`>CaT}M<$7H zpb&3X;Zc7=cXILhY-Jy`-qX1yyBoj(e)O7G)+M0WojBb#BwE{0XaJrBRA!kLw5c8 z3QSxO;UN`E$Q=+WUWer|F zfTi4p_1Y|cX$-bGP`rr+LvX$qZm8K+mxqngbz}Otv7DPp=2AHrb16(V_S>U79bK(vGKIp1cwE$Ijv>euHiIT~np419jxZ#Y zurhNT6b?v2fO3x^Q@j`d1Kf-Wtrai{9dMA$0) ziP<+gSl)>ELKc&}Z$fC5*z)pHNLzliblr6CK2eytu5xap#i7|w=i;G!>_orif7P5A z-xmPEo1iwce&IG9Xq0wGR#=t zFWj`+!^Nt2YPENI*GI7Sr&Pl#;!XsA@V<=Iu={Kz(tC98^vvE1vDxsmlW=7rYH1RX z&DQ}CMs^Z3iPhKCd*E08Cv_chP;ZB{)m>tmd2l${UE^IIODyAte}S(cUU;R~fgL)u z1bfEv!-%ozJtu0gv?KHmqW>Y0_hqSJgo$w zpAq-MrVwTWj@QWhF2KHVvI}cw9^9kh0er+Wk?=1e6Af|0|JgtoFvv5Ej%^oO~R=%eVjgG!+|Nes) z4WzkguKb#~n=jwp?i_EowN!Garf*uXCbjp>ZpJ0+vcC_Q`Tn2v5v&PCHQ zcS^>}NS#w=>}l18ooYHt=RB>hqif_Q#JZpF?t-G^N3PR9+R2o}E`Hek?Qehk+u!5+ z{Cv5K@RRxH+#et=2FGIPwlLmJf-O*`r%DhYm9SCCr?G zr1oS%&rkv?0f1{rAe-Rh38@%yKrlSa_Qn&jEMic2dJ`rtl>MpP8;>GlITMRBd4zqXS+gYjZbDe-uxS zjIgl+!YuBSuRVkXkUlSeu(+g)Uz&&AKwf??4|&MLL-L;%*m!>A`K8A*WPF?;pstf-)VatFdgGzhL)us%kEu0)kKv|cqB7Zy;Y z1WU?7`r$qp>4o;ab$WrnJ)FLGZ|&awdo(c!{`9ccm(;mWmG`LJeiPRWOAyF@poY{o z(q$@XNFr;;NJt8aCsun93!iYZvVZ)Wj#kxU>u2~C1{so)htm!+7<`*gp_{>)pRNvSYVd3-22RIv?{qPttMR>COh1;*) zzWv(9l2P6fUPTU0nr- z)9EU7bxCTvIcN>7$vGaU-ds)t#<2D=-iql@mZLQNjhO> z1{~0ZkTuxsbdIc-p_Z4PjF@iZZm^}JMJjCcn7mIXOsp-lRdyNyy4vJ9*tExo!tD0i z@>%}w+A_Zn3OU^;957mg!NXeya!v|l3JgDucCaYE!9B1B*u%k|7s9J`q7rr;7{4UJ ziIMdaCT5i_5T5vzc;XjvzN)5MbsT1dPft0>&wHN5nSvTR2&`K3=cMJo4LZK<2x8~a8Uj2j)rPk`*&#X-KQr%~6=>@D;i+xUZ>VBPW^d6D+~9oAia>UW;M zQaz+@dCZOX)eUq9y(a-YY(+zS#5)ODG z5E?+Zr%48}rV2%pqf}4Qo`17?vUu`jk^jBoN&dy+-#q`~*Z#U?i{Be>u+`ga4RP=3 zZv<_LrXxq1+AR$>-qIi(!KKHdy}X2LqrFE?7OTg`PN0A{izlnx8*lI&pkkU`?w(+v z$L(si{2}`ti}@;!wYuD`Baat`v*%mr{z0raYokhrZI@hbb1i+^9uh->Vta#*R9v>GMn>f z^B@V&o|RX=4vmO?3H<2H^r3O9{ZftS1KA&v@9|}WFkuRq^XKvgb7N`q0m(`-RrMZlp!4YQy^6uJxsv&_TU8*?4)X`n@nCzD<218^x$_X}A; zG*Gn(eN422Yl=lXZ|2r=Id-C_v$NoK!xN!7WwH4D)$5TL2jB4|9I{@tZ%!mq09hD7 z1UfcL+0m{%X9unN0DWdRI8wx>S1@Hz58?_Mu+_K%iu`B`x z0wwk$xB>vxgO<{7;6R1*Am@+6Phm!I8s}iWYZuM8%p$_Ud*(oTPYb;HIDx`^I*ZGb zbk0GnIt`v+R=!X?cC3hv%|qgYPZ`q3tDv6xpvXcv2aD+rqXI8Yw8rq{Bdc_~0MZmh?$yFg6wE;em+1G^R+IxfpiloZNND_yasnDY2 zWq^+&u!i`J1`|FYT@?`<FxgIj=bMLHS)*V{e;9jzcGU|k2ZZlOW&dkm20qmD*c zn`8QOl2tsB|8SUY5)J4YPV$T~Cn9E(v0D%E7ewR`+aa`OWR#d=6X6akyzy~x8fW1_ z{Ra0YJo1-GtNee;Yd}c*B)5SVhtH>24)EeC%aKu74j1tp$OpD#GwF5|*27Lrhm`f` zYy5_Kax;&N8#oW)q5Sb@G9C^;F&@DYm=1%(s4*T8U#>GAyAVZ5DC-4w0`6ibG|ppe z8eF%*xOV=1)4TEH_&6II1Kn4Wul{N%;@EnSKbEqQI>zfo>MO|bTHZ8)SFG?IAK@J@ zg35#32&*p9prG)`6a()FgHqk&Js?4n5Jl(?&anX&rBKkp(h=lM?Gnn6!GOkk^H~WD zTFe3sAdtuf70kXJYUR>LahSBTWH{yaksdu2J|WhdO))nF#CIRC6L;7w*arWz=v!&~{W(rIiXuXTT11-_kp4C}0*j4#L%<4{hI8;y&~1{>QyVQ{?mL0GF91{< zSZEV>4dXeqjk+Xhro#ssOo*PqFlG!KDg ztc|1(YOV)~nQ^V}fG`rtkcF|j6Xw_M3y0RGNd_t`iIIp{T|=jTx3>MwY2^>}^gSVT zI_O@TraS^8e38m4@=ql^9^u{y<>csgW@SA2e z1OrxBaEzsE4zJWly=^<(;GmV0bo&VcF|oa}MuXsiY>#@`t6lIihV2p}$-aeg;ajL_Cuo1QvlR z!;(Sy2BZQ80x52lAte(V zP;A z+X%VnZQ{#Y&0iY(i^<{P^3Bm1b6je)+dI6~372QHl#mAaoHwj*8HAgFzBN~xga9v9 z&g|T|KHn^W4j;jr)>y}g2T;?rqT^vOSUg}L=^@FWF;NrZtCV4F$RW;Y#FZfI=oUMl ztdz>I%`aViy%Y#mhK6?S92%+w14?>l@s-qgI37FD)!p-3lLrWYK0a3}9a&||vnOUw z$z@?77M&}Vr|#U@c-79~p-LdQB|RSY`JyHhi^t~5<*CYn1LvcW>Y=NJ>FL5%x%`jt zd4x}XDO80wFcQCv_d`rVmU<_3Uzg@kiUcM!GGa*JEzvuIq(RjiAc2lsGYb24Uh5OY zeT1L%CPkxU_K(K5&Uh#C`Mutmt%;E)lVq@`+$~xA*XHNHX3Ms;A1NL9W-R*5cU~_C z1J7?C+F5-3#)~_@l`gi#Vw0(^o?4WFmrJE7e%Rh%kPJ<}9h(P*Iv!S(gSkS$Ye*X! z?9Ki`m;m8WE*NGLu_)#L`Olvybo6;Hh^Gw_ZZc`g={*W|Se`QxjQJJsf5tQsCL-ZZ}O1qNDv^ym>Yt#Ns_eC5%j zD{L8$4Em7PMUt7Rb9V--;{-6QzQg?qT0ohXR5=ht$HadsGr6!K4Ub@Ll%t0w;)zU) zv6ctw|~m7inqfiM%hY)*DSi-=T!lR$o4a@XO9|4WRJ(o_`<(KfF)$LG`{Bu1RU66 zj;1Duv#E*w1noXNJTWmmjCQwLd!vz*==NhZcX&NwcP!Rtv&C&T98T(6bxbe+2%7&^ zT{05wwb}f>XLGrck=)=R_*6bn>tes8R7FG-(NfDojwq0^tA<4TfNc{uS$&2j!O(6O zTklTpeuM{8JE6zmmQa*NRbXl(7|{(M?FLG%)VgUkgbd&&I72Xb@EaxfR|A-WR4Fz1 z)xnMfDS^3D9&lKWh#UF?vrB~IP^u3QA@zoVGlL-N0W@O=VqNNRCyb7aMr))PwRnN_ z3ZM<6#SE+u*ks^5G@*o0G$uCaga$L5uz{>+altt_TnIz73HhXnq@CvaXQ@}hzZf>A z<5r6unEHai2`RB7LN-RQQ`wq=Zz?>g;qnSY6oY|$UF|w@Y6hH& z!>D4TER&fQdBu|3w9$m;BxnejQ*b7$K_nMcGj0VCv^oWb#GpH40;P|NTULOXECMB2 zJV(l0i`in|N6yBr4uu;gquTH=)68y7Uuh=r~{3K8=^n*+!E#@$oYXG2M5a< zU7=bf_oz+?8tEWx5WetSar^d4Ah2oEtDEqLT_8}|zP&~x3M+x&)X?_vqhCGq{t*7& zKl9b2J}$s@6>E?4r0XC_R?kAygs;BSY=) zBnANp4k$QvrgUglOUkr}9VSKeL)t0CkwP13onJXXJE-dTyFj0T9Zse%a~zw)5s5^0 zU~|SDnM~#wHVf2@c$wXZ(S?~o^xuGe7?3l90rZ1F&@5V$9mxaj9UbrkH+juKWdSY+ zm@?QIb#-?=hYc7pc)55@T7izZQ@e=+LDZDnf?3(|+76%phBg<<{}V=R@$q=Fv-4nQ zXA%$`pvcg`LGpNxViKc!)B}jo+11tk95xInnC@;^he(!Qv-BkYOqEc^H1Jef@~G6Z zy6;iOKc;)M4pGvIFC~7eX_e^4x}ZsrG%8!UjZv8f5KhYHc5h3dPcK8K=X1isVA*Ie z`zi76WgQ&wr5%poerd;E5u?Cm!LU@UvE8C11)G5p;1+3~s3-jIkSKP$6I&g?7bYWf zM*#4d{A{=zFjM;K2mE1o&}y=HJ=OC_hGFgPL{doRfluGjksKL@XFW)65=as1fMFk$ zAR@k@X|$O!O~87|P~Rvzy2Ft9ko6*3w#9+*VBjudJe)GU8VEO&R(fXwy%KQA+G*G>5Kmt-Ge)l?5rN9)KZp*n%0RSGJyc*z zFgkR%0-C`6nhRd+v|Y5iFe%be_GmGbxD{<#BtL6@4*Or;x}^gj_HMPrk67Gpi_BTw zZY$3{PVe2jvUe{Ee0=8CNIcXM8KF=^6x?S-8UHof#Q-TkNBX*~hqMS;3J<`t{M^E| zXWv__&dGBNtb0yghAM91y=Sj2GCBgKLWuXX(gN8qa&fF{hcK#1CqdEEyjasnTZPTu zq9qii7Si1GG?SK=*lh`p7|=e!4nclLN!2A9yFqTBai6FZiZ2Q&93j0|8$P+Pq-9GZ@(YVFLjtARr zx2{yLu=3^0@;l6$KYj65B3NCeOAfOSu0QZN&e<=Q7Us)K2+M2~GF?8xkqnapqoXXgJL_ zy~{X=Nk|twjy`ZrE3+GZhaB5jCf&njL{zyfBk~)M|Kv>}IDqI(66R!BGPSq?W{CYN z{-AyKv-_pV&GPHHy?b-)%;w3`;`QtN-4>60RmnQxX_=j$&(6=wxlR1M&o?kRIZ$4yqE7trZ=XkcC-m0zyG;>egf>^bAJ3iPFJrrHs+HZy}cdDd}HIr64*KQ z+JQ;5_cYp@?2c^EleDMq5`n4RhEF<3|D*$P`(n`J9bw<_Va0To($dy-rXWftqzE?1n#!Gt>l1LJrQM zyR+Gm{khy8rz6+g);6^%JGdpAJ<`?|lIrrI(9Fo_?%ks!Ga>vvPJi&aKIHSZ!WpbS z?)7;2S-4~RjBq~iz&%Tz9p?{)n*43`h{M(9_XmT1e;Z=JSrYyx&@oBWpZpCevZSWN zPcRrusdP$Op$dCy=pE9h6RL2}C4BJ0sQi9pt6N^q!f6A9eJ}uw9*XLVfaS{0m*}9M z{0G&ycD&&Cv2q`{3SckU+w3Cydy2S=_^^x0_X&1f`F`sc^o4#$yxdg{dA0!GlQlFyrNj>q=I;>`h@ z4aR_>@XomIoy+nxxEj&smV)4D;9mmVATuB$D}4xDr;qPT_}WCEAqVo&_Q{U;u827- zK;s9LAP|1=O5B+MOmqLy6fEu!b|xm`kx?K&`P}fLaV9*LY=jWE^!#bF(YG}$c!Sb& zY4{0Tl4c}ug@7BvYL1ElH7~k7EQUNK#vy%LOC)ws2b; z7=pI$&2y=s)yBivE`$b&$C?98Z(n}rto#sng!w2mk^l)I)J}{x7@;;;!FRj;U@n2m z0sk5B+OS@Q`;bEvS{#kw#|ix!Zal@`D~7v7C|8ZV5De@5Zs0c=9Bwh<@6Tpuv)TS& zn?>Qlg-D!0x-3m1TZOU}%1^|gbGktY+_2Ugg$9xEx`6lB2ww&(AetN=mk`I@fFth) zOG;z0&PdJ=Ho#6AtfIMk9|usPIpDU!1ws_UJ^od)C2TMOBOiItGyse`qyvsHA)hph zPN(2#_kq&nxK@SkEW)z$+mNOFYwkaB{~ZBRoZu!0*~H#XJ_6s48;R%O=DmJ-T&GdZIE=7$8(U#y{R-BJ&TNhhc;= za+DjP9w<^_!%#|=@br`cw=SzuSuqSrb%bU~5ToS4vm{W>*!taYDIO1FjA~A#uW}xz z$+&=W8Pp5uT)aO+ID)7NPN-5O%qzlrS*VkGTF9D)6Tz*BOW;OK$8f*sNjTA`-9BKZ zjm9y?QU~MEC#I(RgPVhiozXy3$mi+x!|7K3a}0}#b_dWu*R5OodsIbeB%1}X)jeMa%LN1a zC~{s-wOOquovu-|wufo#+02%<;HGT$6sCHA-0E%wW~(50e7cAaz_mKT>9D54=z+)j z`XmfI3>S)H6taoFZD#TV!t&t)Dw&8_cqYp-0=km#lg%LNEmosQ0C{i?YO+}yY{6xW zaKcps{sC+xP%wrVUJp)MZA~nMp@xsKPBge34!hA}1+sPn@Cl6tj8&9_hz=NF9)x8u z+8r2kcut2+*C%!c4Y&^sA)=zgsY{S0g~Nc70v!&gN8aZqh(l+q12QF`r7<7PA|4EJ zE5PB%o&$FeiSk`U??iQBlJ5=>a4s4l1Sufi6RtK{{3#DCZitQ(ly#rzLGlrL4y)*A z`3C`nwI=mJcXqfUsz-r>xCXJ!wacD^QgqNGMGmIh$LcfqeR(C2YxV9cf3sjGa` z|68`j|2OQc!SZn@Ft@wlAJ47h?PJ>0s49#O4L#v0OE)1`9}G_RWwvxBlj8`Cly2|H zHQH6=06tl>a?3=c?Yt}7-8F)M@|IL{IBs;i3kcl_f22{T^9lPl@ZUs}*7{}wH3HlB z>-0}>N3L}Tw$JHtng`okZ1(Ny$9x@apWmb4!A4#iGfL^%8wkEvF`4}ghwF&%SN?DfY_C^{ zX~+3BolYr9JE?rVs+Oc4qRZ&Fw$WYm*iPcIB)F*e-9Sl_|5(T-zoe?mDbClYoFd~Wjy_T6?y&iR2#0>@+ikn;~oj^T>jH} zI0KG-8{1)QRR3D}CGA-4_tW1J&et}&wzgR}l=1X6pY@xrqvNn3;^^91J1l6&>D-|W zX<@2>yf z1da#Rg1dwNAv6&BML67YsvkK1}|!JJ5YM{ZjgO(>Hp4 z+`Fmwed&ABuQIzbZ)R>}{!2ff<+9Q2*6hcd+BWSUC~W!h7CCohkRQCX^}yCwxBl(6 zd-*{AOZm(Bzsj#|Z`*!-=r@Pn7?Ot%4Zl<99qAkmjsEctamV2u?~j$o{?&MV{HMie zF}HJI*SB`9Onhm#dH1(=U)lZPp7Nd_?)kTS<9pwLsP;eaJGt-H{_y0z();CN`K|KL zpK(8P1BCy3#-er09F6ahgtr z;Z4!SrN7|XFF3XT=*(A7PQ3&{{!wlQP@yMr- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/front/core/styles/icons/salixfont.ttf b/front/core/styles/icons/salixfont.ttf index 70fedcb59115b075f4be4a98b6e9ad814e564077..e0b54f54d9da68b79185973c45f9bd9d4fe3cf8e 100644 GIT binary patch delta 4859 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 From 1f79a3047d618e8498be089da4ee4e61576199c5 Mon Sep 17 00:00:00 2001 From: alexm Date: Fri, 7 Jan 2022 11:26:16 +0100 Subject: [PATCH 2/8] feat(monitors_ticket): add isTooLittle --- modules/monitor/front/index/locale/es.yml | 1 + modules/monitor/front/index/tickets/index.html | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/modules/monitor/front/index/locale/es.yml b/modules/monitor/front/index/locale/es.yml index 3a115797d..126528caa 100644 --- a/modules/monitor/front/index/locale/es.yml +++ b/modules/monitor/front/index/locale/es.yml @@ -5,6 +5,7 @@ Search tickets: Buscar tickets Delete selected elements: Eliminar los elementos seleccionados All the selected elements will be deleted. Are you sure you want to continue?: Todos los elementos seleccionados serán eliminados. ¿Seguro que quieres continuar? Component lack: Faltan componentes +Ticket too little: Ticket demasiado pequeño Minimize/Maximize: Minimizar/Maximizar Problems: Problemas Theoretical: Teórica diff --git a/modules/monitor/front/index/tickets/index.html b/modules/monitor/front/index/tickets/index.html index 2653af195..065a591c3 100644 --- a/modules/monitor/front/index/tickets/index.html +++ b/modules/monitor/front/index/tickets/index.html @@ -122,6 +122,12 @@ class="bright" icon="icon-components"> + + Date: Wed, 5 Jan 2022 12:44:18 +0100 Subject: [PATCH 3/8] feat(client): add isWorker condition in hasBusinessType --- modules/client/back/models/client.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/modules/client/back/models/client.js b/modules/client/back/models/client.js index b4961771d..d9007e95a 100644 --- a/modules/client/back/models/client.js +++ b/modules/client/back/models/client.js @@ -55,13 +55,16 @@ module.exports = Self => { with: /^[\w|.|-]+@[\w|-]+(\.[\w|-]+)*(,[\w|.|-]+@[\w|-]+(\.[\w|-]+)*)*$/ }); - Self.validate('businessTypeFk', hasBusinessType, { + Self.validateAsync('businessTypeFk', hasBusinessType, { message: `The type of business must be filled in basic data` }); - function hasBusinessType(err) { - if (!this.businessTypeFk) + async function hasBusinessType(err, done) { + const isWorker = await Self.app.models.UserAccount.findById(this.id); + + if (!this.businessTypeFk && !isWorker) err(); + done(); } Self.validatesLengthOf('postcode', { From eae140003d54442b77af1db412bbbcb3a5e2f1ea Mon Sep 17 00:00:00 2001 From: alexm Date: Wed, 5 Jan 2022 14:29:03 +0100 Subject: [PATCH 4/8] feat(client): add more condition for businessType Validation --- modules/client/back/models/client.js | 32 +++++++++++++++++----------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/modules/client/back/models/client.js b/modules/client/back/models/client.js index d9007e95a..ea87a49ee 100644 --- a/modules/client/back/models/client.js +++ b/modules/client/back/models/client.js @@ -55,18 +55,6 @@ module.exports = Self => { with: /^[\w|.|-]+@[\w|-]+(\.[\w|-]+)*(,[\w|.|-]+@[\w|-]+(\.[\w|-]+)*)*$/ }); - Self.validateAsync('businessTypeFk', hasBusinessType, { - message: `The type of business must be filled in basic data` - }); - - async function hasBusinessType(err, done) { - const isWorker = await Self.app.models.UserAccount.findById(this.id); - - if (!this.businessTypeFk && !isWorker) - err(); - done(); - } - Self.validatesLengthOf('postcode', { allowNull: true, allowBlank: true, @@ -192,6 +180,24 @@ module.exports = Self => { return regexp.test(value); } + Self.observe('before save', async ctx => { + const changes = ctx.data || ctx.instance; + const orgData = ctx.currentInstance; + const hasChanges = orgData && changes; + + const businessTypeFk = changes && changes.businessTypeFk || orgData && orgData.businessTypeFk; + + const isTaxDataChecked = changes && changes.isTaxDataChecked || orgData && orgData.isTaxDataChecked; + const isTaxDataCheckedChanged = hasChanges && orgData.isTaxDataChecked != isTaxDataChecked; + + let isWorker = false; + if (!ctx.isNewInstance) + isWorker = await Self.app.models.UserAccount.findById(orgData.id); + + if (!businessTypeFk && !isTaxDataChecked && !isTaxDataCheckedChanged && !isWorker) + throw new UserError(`The type of business must be filled in basic data`); + }); + Self.observe('before save', async function(ctx) { const changes = ctx.data || ctx.instance; const orgData = ctx.currentInstance; @@ -209,7 +215,7 @@ module.exports = Self => { && orgData.isTaxDataChecked != isTaxDataChecked; if ((socialNameChanged || dataCheckedChanged) && !isAlpha(socialName)) - throw new UserError('The socialName has an invalid format'); + throw new UserError(`The socialName has an invalid format`); if (changes.salesPerson === null) { changes.credit = 0; From 7406c59f16f642a651c76f7be3b60e84ef5233be Mon Sep 17 00:00:00 2001 From: alexm Date: Wed, 5 Jan 2022 14:53:29 +0100 Subject: [PATCH 5/8] update condition --- modules/client/back/models/client.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/modules/client/back/models/client.js b/modules/client/back/models/client.js index ea87a49ee..06453da36 100644 --- a/modules/client/back/models/client.js +++ b/modules/client/back/models/client.js @@ -183,18 +183,15 @@ module.exports = Self => { Self.observe('before save', async ctx => { const changes = ctx.data || ctx.instance; const orgData = ctx.currentInstance; - const hasChanges = orgData && changes; const businessTypeFk = changes && changes.businessTypeFk || orgData && orgData.businessTypeFk; - const isTaxDataChecked = changes && changes.isTaxDataChecked || orgData && orgData.isTaxDataChecked; - const isTaxDataCheckedChanged = hasChanges && orgData.isTaxDataChecked != isTaxDataChecked; let isWorker = false; if (!ctx.isNewInstance) isWorker = await Self.app.models.UserAccount.findById(orgData.id); - if (!businessTypeFk && !isTaxDataChecked && !isTaxDataCheckedChanged && !isWorker) + if (!businessTypeFk && !isTaxDataChecked && !isWorker) throw new UserError(`The type of business must be filled in basic data`); }); From d85f95a8f4a2eb468fe46ead45e078f4322e22fc Mon Sep 17 00:00:00 2001 From: joan Date: Wed, 5 Jan 2022 15:17:21 +0100 Subject: [PATCH 6/8] Prevent businessTypeFk validation for other invalid fields --- modules/client/back/models/client.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/modules/client/back/models/client.js b/modules/client/back/models/client.js index 06453da36..0c378ec25 100644 --- a/modules/client/back/models/client.js +++ b/modules/client/back/models/client.js @@ -184,15 +184,17 @@ module.exports = Self => { const changes = ctx.data || ctx.instance; const orgData = ctx.currentInstance; - const businessTypeFk = changes && changes.businessTypeFk || orgData && orgData.businessTypeFk; - const isTaxDataChecked = changes && changes.isTaxDataChecked || orgData && orgData.isTaxDataChecked; + if (!ctx.isNewInstance) { + const businessTypeFk = changes && changes.businessTypeFk || orgData && orgData.businessTypeFk; + const isTaxDataChecked = changes && changes.isTaxDataChecked || orgData && orgData.isTaxDataChecked; + const changedFields = Object.keys(changes); + const hasChangedOtherFields = changedFields.some(key => key !== 'businessTypeFk'); - let isWorker = false; - if (!ctx.isNewInstance) - isWorker = await Self.app.models.UserAccount.findById(orgData.id); + const isWorker = await Self.app.models.UserAccount.findById(orgData.id); - if (!businessTypeFk && !isTaxDataChecked && !isWorker) - throw new UserError(`The type of business must be filled in basic data`); + if (!businessTypeFk && !isTaxDataChecked && !isWorker && !hasChangedOtherFields) + throw new UserError(`The type of business must be filled in basic data`); + } }); Self.observe('before save', async function(ctx) { From ebee852de60a0f6a70375c9ee30290f20901fb22 Mon Sep 17 00:00:00 2001 From: joan Date: Wed, 5 Jan 2022 15:41:26 +0100 Subject: [PATCH 7/8] Throw invalid businessType for new clients --- modules/client/back/models/client.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/modules/client/back/models/client.js b/modules/client/back/models/client.js index 0c378ec25..bb6a8d863 100644 --- a/modules/client/back/models/client.js +++ b/modules/client/back/models/client.js @@ -184,17 +184,26 @@ module.exports = Self => { const changes = ctx.data || ctx.instance; const orgData = ctx.currentInstance; + const businessTypeFk = changes && changes.businessTypeFk || orgData && orgData.businessTypeFk; + const isTaxDataChecked = changes && changes.isTaxDataChecked || orgData && orgData.isTaxDataChecked; + + let invalidBusinessType = false; if (!ctx.isNewInstance) { - const businessTypeFk = changes && changes.businessTypeFk || orgData && orgData.businessTypeFk; - const isTaxDataChecked = changes && changes.isTaxDataChecked || orgData && orgData.isTaxDataChecked; + const isWorker = await Self.app.models.UserAccount.findById(orgData.id); const changedFields = Object.keys(changes); const hasChangedOtherFields = changedFields.some(key => key !== 'businessTypeFk'); - const isWorker = await Self.app.models.UserAccount.findById(orgData.id); - if (!businessTypeFk && !isTaxDataChecked && !isWorker && !hasChangedOtherFields) - throw new UserError(`The type of business must be filled in basic data`); + invalidBusinessType = true; } + + if (ctx.isNewInstance) { + if (!businessTypeFk && !isTaxDataChecked) + invalidBusinessType = true; + } + + if (invalidBusinessType) + throw new UserError(`The type of business must be filled in basic data`); }); Self.observe('before save', async function(ctx) { From dc572a6e2e5b9ddce37362b8fcbdf6f39a4907cf Mon Sep 17 00:00:00 2001 From: joan Date: Wed, 5 Jan 2022 16:23:58 +0100 Subject: [PATCH 8/8] Updated translations --- loopback/locale/es.json | 2 +- modules/client/back/models/client.js | 2 +- modules/supplier/back/models/supplier.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/loopback/locale/es.json b/loopback/locale/es.json index 2611ee0dd..3fdbd43d8 100644 --- a/loopback/locale/es.json +++ b/loopback/locale/es.json @@ -104,7 +104,7 @@ "Weekday cannot be blank": "El día de la semana no puede quedar en blanco", "You can't delete a confirmed order": "No puedes borrar un pedido confirmado", "Can't create stowaway for this ticket": "No se puede crear un polizon para este ticket", - "The socialName has an invalid format": "El nombre fiscal tiene un formato incorrecto", + "The social name has an invalid format": "El nombre fiscal tiene un formato incorrecto", "Invalid quantity": "Cantidad invalida", "This postal code is not valid": "This postal code is not valid", "is invalid": "is invalid", diff --git a/modules/client/back/models/client.js b/modules/client/back/models/client.js index bb6a8d863..3dc1e1f8d 100644 --- a/modules/client/back/models/client.js +++ b/modules/client/back/models/client.js @@ -223,7 +223,7 @@ module.exports = Self => { && orgData.isTaxDataChecked != isTaxDataChecked; if ((socialNameChanged || dataCheckedChanged) && !isAlpha(socialName)) - throw new UserError(`The socialName has an invalid format`); + throw new UserError(`The social name has an invalid format`); if (changes.salesPerson === null) { changes.credit = 0; diff --git a/modules/supplier/back/models/supplier.js b/modules/supplier/back/models/supplier.js index 1ac6e3bd2..c5c79f079 100644 --- a/modules/supplier/back/models/supplier.js +++ b/modules/supplier/back/models/supplier.js @@ -97,6 +97,6 @@ module.exports = Self => { && orgData.socialName != socialName; if ((socialNameChanged) && !isAlpha(socialName)) - throw new UserError('The socialName has an invalid format'); + throw new UserError('The social name has an invalid format'); }); };