From 2962239ab20fc3a91e7d7a37253b5b308e19a5eb Mon Sep 17 00:00:00 2001 From: miguels73 <55379877+miguels73@users.noreply.github.com> Date: Wed, 9 Mar 2022 09:19:23 +0100 Subject: [PATCH 1/7] [14.0][ADD] product_matrix_show_color --- product_matrix_show_color/__init__.py | 1 + product_matrix_show_color/__manifest__.py | 19 ++++++ product_matrix_show_color/models/__init__.py | 1 + .../models/product_template.py | 16 +++++ .../readme/CONFIGURATION.rst | 0 .../readme/CONTRIBUTORS.rst | 3 + .../readme/DESCRIPTION.rst | 3 + product_matrix_show_color/readme/ROADMAP.rst | 0 product_matrix_show_color/readme/USAGE.rst | 0 .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/img/screenshot.png | Bin 0 -> 115158 bytes .../static/src/scss/product_matrix.scss | 8 +++ .../static/src/xml/product_matrix.xml | 30 ++++++++++ product_matrix_show_color/tests/__init__.py | 1 + .../tests/test_product_template.py | 56 ++++++++++++++++++ product_matrix_show_color/views/assets.xml | 16 +++++ 16 files changed, 154 insertions(+) create mode 100644 product_matrix_show_color/__init__.py create mode 100644 product_matrix_show_color/__manifest__.py create mode 100644 product_matrix_show_color/models/__init__.py create mode 100644 product_matrix_show_color/models/product_template.py create mode 100644 product_matrix_show_color/readme/CONFIGURATION.rst create mode 100644 product_matrix_show_color/readme/CONTRIBUTORS.rst create mode 100644 product_matrix_show_color/readme/DESCRIPTION.rst create mode 100644 product_matrix_show_color/readme/ROADMAP.rst create mode 100644 product_matrix_show_color/readme/USAGE.rst create mode 100644 product_matrix_show_color/static/description/icon.png create mode 100644 product_matrix_show_color/static/img/screenshot.png create mode 100644 product_matrix_show_color/static/src/scss/product_matrix.scss create mode 100644 product_matrix_show_color/static/src/xml/product_matrix.xml create mode 100644 product_matrix_show_color/tests/__init__.py create mode 100644 product_matrix_show_color/tests/test_product_template.py create mode 100644 product_matrix_show_color/views/assets.xml diff --git a/product_matrix_show_color/__init__.py b/product_matrix_show_color/__init__.py new file mode 100644 index 000000000..0650744f6 --- /dev/null +++ b/product_matrix_show_color/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/product_matrix_show_color/__manifest__.py b/product_matrix_show_color/__manifest__.py new file mode 100644 index 000000000..b2e226da3 --- /dev/null +++ b/product_matrix_show_color/__manifest__.py @@ -0,0 +1,19 @@ +# Copyright 2020 Studio73 - Miguel Gandia +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). +{ + "name": "Product Matrix Show Color", + "summary": """ + Technical module: Show attribute color in product matrix table + """, + "category": "Sales/Sales", + "version": "14.0.1.0.0", + "license": "LGPL-3", + "author": "Studio73," "Odoo Community Association (OCA)", + "website": "https://github.com/OCA/product-variant", + "depends": ["product_matrix"], + "qweb": [ + "static/src/xml/product_matrix.xml", + ], + "data": ["views/assets.xml"], + "installable": True, +} diff --git a/product_matrix_show_color/models/__init__.py b/product_matrix_show_color/models/__init__.py new file mode 100644 index 000000000..e8fa8f6bf --- /dev/null +++ b/product_matrix_show_color/models/__init__.py @@ -0,0 +1 @@ +from . import product_template diff --git a/product_matrix_show_color/models/product_template.py b/product_matrix_show_color/models/product_template.py new file mode 100644 index 000000000..2a6e70e30 --- /dev/null +++ b/product_matrix_show_color/models/product_template.py @@ -0,0 +1,16 @@ +# Copyright 2020 Studio73 - Miguel Gandia + +from odoo import models + + +class ProductTemplateAttributeValue(models.Model): + _inherit = "product.template.attribute.value" + + def _grid_header_cell(self, fro_currency, to_currency, company, display_extra=True): + header_cell = super()._grid_header_cell( + fro_currency, to_currency, company, display_extra + ) + header_cell.update( + {"html_color": self[0].html_color if self and self[0].html_color else False} + ) + return header_cell diff --git a/product_matrix_show_color/readme/CONFIGURATION.rst b/product_matrix_show_color/readme/CONFIGURATION.rst new file mode 100644 index 000000000..e69de29bb diff --git a/product_matrix_show_color/readme/CONTRIBUTORS.rst b/product_matrix_show_color/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..628bb22bf --- /dev/null +++ b/product_matrix_show_color/readme/CONTRIBUTORS.rst @@ -0,0 +1,3 @@ +* Studio73 : +* `Studio73 `_: + * Miguel Gandia diff --git a/product_matrix_show_color/readme/DESCRIPTION.rst b/product_matrix_show_color/readme/DESCRIPTION.rst new file mode 100644 index 000000000..c603df361 --- /dev/null +++ b/product_matrix_show_color/readme/DESCRIPTION.rst @@ -0,0 +1,3 @@ +This module shows colors of product variants in matrix table + +.. image:: ../static/img/screenshot.png diff --git a/product_matrix_show_color/readme/ROADMAP.rst b/product_matrix_show_color/readme/ROADMAP.rst new file mode 100644 index 000000000..e69de29bb diff --git a/product_matrix_show_color/readme/USAGE.rst b/product_matrix_show_color/readme/USAGE.rst new file mode 100644 index 000000000..e69de29bb diff --git a/product_matrix_show_color/static/description/icon.png b/product_matrix_show_color/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/product_matrix_show_color/static/img/screenshot.png b/product_matrix_show_color/static/img/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..728d53fdae6c7e3c1f09b3077bed690ee6b43681 GIT binary patch literal 115158 zcmcG#byOWq);3g1fsVXbA4^?(Xh(fZ*;9!QF$qyE_MWIq12}eDnTh-uZrO z-TTk2byjtsTHU*MSMA!*u3b-u%gKl%!Q;V0KtLc#{18!qfPnLXfPjko2>afW?qYBI zet>oql2H2iUc5dUg}wjBbrMx`QnWR3a@BV*hA_3UwKk@AG;}aFwsADGb-IA+5`cjC z0wE#tUCAxubluX40O$>TwAF5XiWbX@UdE-F4#Po4DFk(QdK+fy)!nD+wEE z*kpVNf17AIh)`_0pEI#JlPARcWazCD}6i>jOcK`Y})&q;Sod2Qv@F3 zvYjzdW`X)oS|&(|GPAD2P%4V9-1xPn7TBDv)wZ}@!kY4wR+|}icwabOP^&b0ro7)D z)1Wp${81tKN44W%1;`40vT|yD2e(vd_uW0Jb9!+KZTz}i(Q1C@TBxA z*42dL%>=>U_4sHnx`6k@VEm*N(mQ`LMJneU=$A_mpDnd+Or@dCajRWc=8h;@p7OMB zyV&rH+cQB(KgnUf=(tr$`|>%kB;w~}o6G0Y$UF~@Ebaa}ZJ{@aOl!i^rOx=fOv1h% zk}_nBpUPT`qQya$$m&xzIa!SVmmI;-M8dV6n{7MnqPVPAZMk;fm(uz{@l6{Ptn{9?uHTFhcv|J->_fn zT`A10;nD7?8?d$0U!flQIz~Z5pvKm@BpB1eMTnB4^YiW2v}uv5+|wHMsr+ML(EiPp?8eECbXQOxk6_Y3%yVZEXBk>Q_ef36f(*ONt$s*IU|1# zKW$K1TB$dsYWBoS?O|UmwNG~FciT2(3}%exmB6PR@K+RzY!o)w+`so5fT(d10eG;bPC!>{RcFR?0`#3BFa^_PVPe zik@z%^e=jX_@4bCTAJFH#n~k-_h=-TM!P@9a#5@`pIoMcORADt!c{XtO-}fZ;Aij$ zQ`utNi4{MglluxQ=`qIDwTX`LZ$5F@x|v0XkRD<8m0}v`kUc(x%2(AD@GWC>y~U^-oUwKovZ&O=Vcs9}4R$Q(09igy0=MEmgL&KlMZjztt z6NS8H#TuVy_`qUWMVcJ5)=}3p)HiwX)(tIzZHubhPuI}PoXc+u>8s7&l7#0=xH@>v zprcZ}sJ;+qE6K-_qCxkgzBNqc+>_IQi$yb+wMt)1IzFf&Us*L{>xgm$_CND>#hi>Kw73egq?FE)vS zqka($;pos!t?=utp<)J)X8TB0cQEi2y7&%jp~}v?b-QPL%}4Xsl`ntqVT-Wx)$Gcw zSR3bPO*|{c2486P{{iH_w9;^lrY2Rl*B`KL3VNX1fai*=s0u%wY$MgC!5ZOsjLQ92 z#(r7PN%-809TWq1TDH^K%M*E<3;69tjIkEB=i=*z<4tmc{dePmK3tjlrUc_?6(mdv zKR2L0|HFFyn}dsAAe3nefYEh#-q`8-)XO)&{)oaf0(#Haj^>>>TA&No3-`Fc-(?>OSc&ioAefc(U?4cdg2w)!hNn_5!LLs$NGNu!8q!mdD9q z@RwRh#m?_YLMo3wwYfx|r)T?(w^=+p)*8RLK54`r5L)+9gmQbiwA4ADZR|L{EMN?n z4!e+rbI#4~Oft8Q2{5OfNPzx~kF%I8=*;d)xL8Y~&J&EK5*QXiiTSx10xDfa!!mh# zx2GRT()h6#q2$7yoo8?zQ*g2k^5Eap022#1_)X?Yy0|9oJF&8|EPH*27WcbY4v4a< z_OzmOD0014Yx5GOYTX1pNz0d5t!=_&4aU+~K znl~GVD9;t&ZB{{P-`e~lAotRT|GFoWxpfIjq+o%+N)k)Eb_7i5NM|!Hk6p`_YqN)z z8d7rcsB5<1g-v-&;;%L>wS(%^v5+8q*Pp7>@aui6@PpO(0&Jh?CLeT7K;DY?5AzCP zPA=EyGQq>$b?q4(HB4dT_{&S{-7;s0aG_NOJ`d!;-(|@u?sZz(5%062K##FG;V|~g z${rOQ>q2^d%)e1c^-pH1etSiH1-`Y6wDQnCR#(*k-coC6^v)6MBF8Pv$9}WOs*0X@ zId(eN)aQ1Uq-=oEFxH6D9Fwc<;okj@eHJHUr(wRwNdIV6EM7S!u5u2`=+-y?NXo_E z6{|Pxj$ltT-;z|%I7o^CF`bDV35Hat)hh31^Dl0_86_ zmmi<$%3KnQT2XD7Muv_cuUX9}Xy7Bza*WiWt%-fIQACyPwNUtA*6FuO!i_attLv$T zL)eyK5;?^j0VSULI;NH{bc`|{3H(fWJ5K$kxS7q5vw*T1kF*qHCQWh4$ZpV3LzcxI zO)Y-Etf?&N(^BdQ_LI)_#(muLL4?cO#_{8?1$q`IuaH$6>FHGd@ynlg-j>w^TZ_HU z{)LP9ixnL{v57ieG9z^WW4v(AU~}s$Ru2=2>vE7pLy(;P5CCWaS^BxiQZb;!CZ5|T zB!3sX%yZr@AhRv5Z;{eGTc9`Z`931M2t+6TJivg6&Ce{}ztp!Nl9EJ`c_p9Tv&SaN zE@E0o+>~N!b}01Gpq_1pNX70ZzWwR=Hkc8Py>DQ(^$^f^WHn*Ob_M}|Wdx``j^*d> z%dJC@!D0XQP;qh;F=+m2g2f3Fu17OXk;I!vvW)zDo(u`=37VNyZ6U8py6T_0;mpjf zr5_bf6FLj}~d6sI2eeSqgG(JR$i z4?!~o^yJO?)RU2+MV7!s!EWn|Qqr4i^N@NIn@!9wyhYP9@cC6)CM9@9mcblR_s*v_ zWlUD$<|t$K^^D%@wB_p#{@v4GOQq!vM(A1^BcJ8WE%YT-3H9fp`pL7ic9ymXu*!)g zD=v<6>zqPVVI!LTR%V8ud1whd$fYMVSKqw%MPflu82FkWN{GyKf`@ZI$rREyTln46 zQ}gWbq``3+55NxKjA;RLu@aclFU)$gvx3!9{5C^3S#jOG0S=PbnrTjm8g8;ofAFiM z6|~L4)cPJ9@j~frpBhAJWKfvUHoqmulUoLb!+3+%KR^W<8=NuceJ6f9CK!y7VN!-+ z$1vP2GD+)&cOxoHrH;u~gawDjANPaU>91&uX;h1akRg^R!YT(Z3y0xQR{ zmTQ=!Rq)LEgkjc{E3rLRdCp~2aOiN@M4bSBV(wlU`NABfqVE`J>Q#z>*@aLkJO4BF z%G}Jh;`&JvJz-_h5onx|+^Yel*+drhjHv|kGxZ4JSrTEor7(D+8AbVuN?O+Ov=1>@ zFCY_`eLX8d$0gIo!N4UWJihjJ4w1@=Tq7nJqAN~ssBWT#cK{FGR1n6zd{2`FCqB2%yOl7rYL5K@7kDhi*#ajft*hZ zxp8w2@ftd_Cv<1EF(cym17?wemt~?R_Hk-R(R`^o+FBYiAWic8luKL|yIOyq&e$5` zGrjz2slM0^p7nd|3ScN<&>=VFcC~dHx{VLRgZAb?FD|OaLuU&{3TW*&12YNN(GA%| zu&vjoGEfQ+U{hc*eS9LIfD_}c8RIUc#5=mh=Hk#5_2jm$bcyMzKcFL#ZT1}YzEMP= z@xgX!SA^guayQFMGOMr{D=AL{k1b z&?nlevCC=s53WvI#611e_2O2&u&p25pL8+`wjPhxru&O3zbXzM$fav8uN*U99)B93 z6^P?MS*l&$>CZPrD3Z{kH(I+MEd@(;C)f9d;BSryns}tpCY7B}U2;PVPwMQ56ckz} zH|p>SsWQ)Ibd#3@lMV^fW*bW~kzIX%Vudjdc#iCfLCbb%i^PVKnZrZnlsIY5a#2+4 z{77sdAXg$aEBAJOP27GW@wkE==8iVWF{vmlGBKs;v-#?Zm?YU?crt8?;|C`zOY(wA z`Jv-2awkq9ZkcTMr|;e059?6Ls7FAbGMQR?uET#w2p-U$>T zI0A`9)q8omR7R<=-$)j4$$#N*>FTBy9-7ZJG*y>=_YcRtPKDSdiR$^oWjn@Q5(|B? zVy2fc;J*7Usi!Rt$FMge%|GN0KGz~ds5`H-6xsE6HgV>N{*itw2WNb03Tg7BLe?kd z^VG3@VEGa)L;NnegQGfpgt!L_Y%2BJ(T`Xf*wQSIpMl~>_|)5n@*Ep8KQeuz!_AXh zqpAE)sePV)M(5!b)D;JZ*u{pQVjS5EvOdx!K9PMQAK%U{O09GQ9j7m?7^C8iv&7!~ zkR7-(8GKwcG}dC5dT7J@WKoxq8Gpg>S2kuxBV1&Mvkk$PQ5pZli#bEw21M5~2ipo1 zZnJQ{L)`k=63pTb_t}!_X?^9FngFPR$E+grMI%sJbUv4BLXf`0oxN(K_4?8A)q@_R zOylNR=+ksVM=(WKfMAYXT9+(dMOjK`;Thc0#)=4(=($D{+9ggl&v>Nd0Vqm^G0p6@ z_3B6&LrH6~(83dgmcgFX4-G!gOd!MIQ-j4$opnH~7~5x&hezfB{j?K9w=D55iC;6v z_0-7?rXk9Twp-z&f%>aND#rVO95(*Y8g8+8Mpb+oZZ&ZhJr=&wOcb9<`{LQ#!MxL3 z+3T4TZY}a}4+~_|sc6XU8bM~PytdZ)yuK0N{p1o3m-ThHmA_kC?cP^>(wM-)QC1yQ zSZLifDA>U|>V~&*PNFW1QnHFbuOli4(#_e7iVKyzdxOhn$@c}P%N-lDlUZ0G%nz&O zzD6a&-nvL&xC{Tsf!94<{$6SXA?@|GY4ypaxtZHpxgeoBXK!k@W~Q*kBXzzW1u4QpCJQ~8sT!7m7H^9An@ z#81aUW1-J6T9ttGYqTg>IdvSw)s%z&+=P=kmAukqpAY>EX$6z2K$=63vrnJp!s--72SXSKj76WH0*)zLI!j8UvuG3g;eDOXiRX>a zMDZl3HFQj|cJ6~BnoSBMs><(JHu-88$IUNw&}!`&v_KJaJ899Yqp4VD)b_bRh&A~) z#3T~(Rr|3)8w93_gL12(fD?v66v#+QZ)Tt@h&UC@`36{Sw(bxeZWUK?g=!&C-Dr6975<9->^&ot zx6tHN+6Yx46%Ck|_*%)VQKoPgEKzuDSA4xkLCM9}Vil;mH{S`YTp#&&%COJ*=6vJX z#szyrAb|;gGc&JWZrYpHmoCG?)U__u-6cp^m34kmK_w|S7U!z+OL7EX(?Y1bwTNLF zIgFu9R_E;Nt+v6VopRy(W%6zbfFzE9i^x-O)>aay#E9H}fRp=4VN*D?CzWJX879k_Lc}Lc zquf6+o`Z!z*6MND#I~Iv35{>qoD~Y>qWWo_z_08quM!@!c1>_36p&QV4Jr{WAP*6U zr`TotoqOX|~{ zZ~ax}T>UV{XXh{IHp%?8A%PuR&tCf+liq8_iSC? zp50Rja?_XpF!$9^Qx?$57h#Pc`lhB>Es_`Z!AS?R62RGSmVv88XTP;6rqFelM(0pf zx?X!)ihRmJ32N$Fxuo!Y8edhk$}*?4a7jEw zdx_Qirtsi(t6FwMl1^K{gp2Ugi$%*L0E#?5!!D)L8IF$CSWNDx z3{|ku3GZvj0xD3CPK{JuQRhp4aq|in$rZBbGM~zlEw9zy23W@9;vEFb3x*d_g}bG= zd55XhWve-6EL<@oXAf!LT~^u>5*60y>+qN}Jh#=9A=^yvHFVzg14Wl&B10zO#spLJ zKy$_v8!n}-$1ir64UD$yQ}T&4TXN1y0SFt0Z#@>u{Fihry@p01ko@1ClaL#2>W7F@ z)lCAP%k`&bK7SQt`jb12V5xGV=_V`7A3ocEgL#fEFXVJb7H$&4?KanU|E1Oks^hM~ zx@w6*U^8Ge&;<3pX+d04)P`1p1K?oSai?fFq>nrTCm867($|6!j& zZpDs-aEtVYN&d!l@-emQ0~$Q+yX?DiWga)AzgPB5X_wL>j+>VfSz4_8!;j#*8&%E^ zBR(tPb91ov;>V*GjABLCzI4dWD}G#oze{paPV59Wx2VrNa%oTF;By`f6J~23yfq1x zu=lqqqVe=tzf5*B|4jbj=v^t4UW(pmyT&vLk%c!bK$$`hcWItRj4fi*!JZI7TG_I@>P*3z-HEjNr`VRh^myEn z4cWZKFS{Fpad*^ar%mnAez8GY2yzG*(mnC2B-L>;m2riHOY&9alM@LGZe;K%PU_9* zNxkjnx3YdcFQddcSL1)`TuOeIHvG<&=mQmoY#E6?e49Ads8~VZvfIyIR|Hm}VTac4}Y ze$r&>o)8a(T)uqr1CNWtzqkNVMNub9SSj26q%fBjn8kXA>Kv8&s46*!)O~3uA8Cmc zlh-L0xiGpoey4tDIfvCipWQ36p3}=vS|jxw>7#EgCz4Fs-$KAS#Hhg#EFFNLG1fbK z=1iyFu_>X%9b(nFXTp2WBu4V;$B+FDiV; zmsI6bSE@Ccp4y3{O`W;6M22o!S0D|yeld7y4uXQMQG;4t5Vy#unOMzfPGCi?(m7D_ zR_&!_bz%`VFeRN{c;A|W!66v=#V~g+Q7)EZWJ-#^(u2blRCMh$j%$Pz+CEuW;Msgb za@QiqqoEwGxq?)2%TI|Toug^2Bnl}i+6^-h!7i1vsUmJog7Z!9< z3SA4zyTcg!AX*Mkuc;<%;}{2eZ71xwyZv;!li_lwV3BC7jFjW?3<+p*xGFt?Y*oRp zX;k{6`16-lBol|+A7siU7t4&9lVYxhpN{3G)X6J`c+wTlOpc8lQ9Hp6EUDDfnPrqL zY3kgjEhHB6b^3f&~d^MI|Y;yP8Ez zi{4%V0x3F7oC0%Dsz;4#C6U?sWes0;5b7*I;ZFn(2R$<$F%Bki@w@WpYCuXn<}Z$< zg9|?Bl(@r%s%K8A8VCeHkn%;8} zO{fgu#)GPVK$CN}LZ~4H2&%yyAu?h$=2@)RJs-mG9%Mn}Y^vG6x8WJ(H~>gYAkl*# zrpQ=&dv|cqlmVC@p>lh#v@m+)a=Fb^Ge?*nb@@P%d{B8rqddX zgPBbV-?IR^#6UHse>`m(#>^%-e0LY1;unsXN-yDYk(T{&qms$pL8#0-`2XbHf|~In zvhS^}$!HZb@S^^?iWwTr zrY(@|pIZVX71{iF>{B66$+^0@2DLYq*yy$wlO1MJub?$@o^ z%#C4niHr_k0+H~p?lNx+5Ca5|EDaK%ULBh~_<1j+V&9?1(>dr$6b1dT-e&dB0!0Id z*IC~kp2j?&R zH^dB`*m^;0&L4-WpjHV)6w6D>V&s_oj91y_`ltAkf3^VLxdzv)(7m6O=!FVMqRY#b zB;DZ)3HA-L{BmAas2$_X3spWE44=An|t{OA$W&BmjInE`?-wmgn_z$ z(lU%Kyn_lLT}+a~F$b0!>dcWlG>ROxp``De3wGekfO?4$fXoRdHZ9LQV8lKvVsyw- z9Q|&Z4nfVg&-`lQOAR#`Frtv7E>xTl4BRNl_*s`Q&;8&tBOwJ$jnaD?Nzp)E&M9!k(NwDa9bnvv$oH;=IT)2X?tJ) zlY!UnJR~YhgeHOM^Vp2_JM-^V*tHv8khd3{$hXtt}t79vdL49j`J`vH>|aC{h( z&EPeuu8G#~88Dp%VU}(1>tR|%nSZ5a!Wm7A5Ux0i90QiQl?{m?YoKn- zHuqcly7v__`G0fif>0%)h3r=r9u(Ld3+m9RY+_3+Se1#2$}HykHLgaCd;FoJF~9Di zY@RYix^jK`UrMNbry?N5h^F@#M`@m40pq`YapUaN6`~^#jQsE3{Qu07wAW6=eM~k5 z0sXK0ZPiH$K+mS!>djXjpWnUW{a43-@FbhX;BN(QFl51o#Dik9DbfD&*u|c!{A=JE zxTSTQ-`4CC`b6M8U;Ry|41V8hYk`j4r+bgwQ`VTv@G4?|O~LUd@CnflXXR03BJ$;u zt-y%StlmQ}m{GTxvi9)obkjFW_GR<+S9^Aq*Di@iJ+0X;#rereCHRxTBb=v1=*6z& z<{MpyYQ681+o_?hNmt9>onA(?bjRAmpTM=QT@ONXn5@@)-@!#>joX(6aIdPsoI~cy zUo0_uQVeA9uVP;>Kmao`iWeYTlenZqKgMzES@!01_=A7x$F4j4HuE?K`ghN-`lD0m zeZFZyVZClXP4ZpedEaJIqpEiW60WXvezB0(H<^pJf}oX@eO*!~oFarOQ_IMSzX7s#Lf5xZz%mVz*aKHA@9kn%m} zqtW%8`he2Cw$C4r=Z;?ao;+jh^`2m|JX`*pXUF{R%u1)5dH$k%+_BujHJI~Isna94 z9^-!daWG^3ln?tdDcbH53E{^~TN`jBeTrx4##7f|vf=Ptp-|wSn5Ct~cy{q;N}CTb zozH9VB_`M>%WV(s9yz-D!d7>S)YlEg_MFtSln(B#f%u)$vX1sIlyw7sbh>mT_J(*a zy|B|eWdpygUodU(yz__Dr*^Ht`?|nD%?%B3E5^Gu9=vnp{^5~KQ;kL;V6R$Xgn2kO zdVODha%LmDqUv7SCie_`^Ia`Ib4>{fDM!xwJior&7oQgw+w4;?bVw!jZh~pEo(2VA zi_1}MiyyFw_GY^lBww`jcoru+ZTW{clAk5gQEfN7JBVK~h`ZWg0x?587^14dyt0=~ zU=P5w73Oi=?OIJJoM4SQ-LG=e7C?Zm`yN`CrY%zQ{3&_ z%Eiqy@rvJ7PyWksHc^Q(b^7M6tKcoa%gcS!V?4^hVl@gpBHsu$q6Z{z8K za5jjGc&UCy(2rj1?a{vTiSrqE>?v&X8j|QK*jV5|YU*L#cK%+mF`}v=)Kl=uoT#-p zkR4e>2mNR}@Z!ScLQimEh{+rdUhstv{HFOD3#Ta&)(4rFV^?yZZVQzf`qxb80=uPZH$#@*#9`o$j55W9%{g2s=8Eko0Y6Ro#1}D5Z)v1p5Lb-XmBd8U^$DwmH;(&( zJdrPMtL+(ul`-ziG$-g-aLhJwellM7#V`wW_2qVLP~69!Hp3%&unXi{E!fuM0_WLc zs*01r=3S+|#2Xm;#N@ws_Ary*{l}Gfd-{SvF9B)of!6boS?ut6Rs3=H0(p#ayO+tL zD?9t;4xOMV^E^7lIK3X3zdM`FG$PkddPNn>>I^f@By(YVWuCqT6Oys} zaq$awh4MF%Lq@(`@b!@DZVtvu1ZMGGojmo<`|oQY!TiVf43$}p{?FiEajxs)&3wVtNyp72V9NzWHyMA^dN1Sa%In%J zAtW6#cwOg764eK6`Z#lOYj7!9Kj|G;)zO&jEq)H1T}`U=LK=1A8+>>JeoR{Ee)R=m z5*;(^T}lW%JYFzA?V7r68}hcCG<2Nu+kAf^B6=I?y@j>J?96^C_t61`zDlh%z=3Cy zbbZn&V^UDh_v>^YKR@*O_dpUokL8~dzwl=Hy!mwAI-;ditw<%iTqg?phGpf5`mURT zUIYt{1l@v8LwPSds*}5T4Zokf^1bwj9!_sVQg3)%9;=D=AHLx8Q>k^K^gPtIfC(iU`Qy$O8 zEUcQ&^6+y3ywmS*rF%G$|Q>|_+@wY2=F#;x=R}9_9D&jBEqF_$JUZ8KYUGM$P zZOm+r^G&QE=mSbUR0nMKOK->NW?MF#=fiJrrQ?>~mvzAhDAdjRL^3^#8_b$~We;$Z z?LzeT9B{g3%nO?^gboOI!M}hAP+oX4M@^eG><(eghnZ!9bunM8@7^s*7`w_=@#BmU`z4_vMNDOYW z(l#bzdq->o`r8)n8BA>!*wdRu&EhRg@LxIkN0^$UV1U$z3VH8k*Qk+L*RRy)>Q7%&01wVvtSZ$Nt3 z4IIDhRrj}>;Z>JebZDl-jXD4Cc;#|A5Gk*N)exkK1p?{h2p|pKFxH`=X;LG>l^Ux{ zvo#MC-d;E^yVjV%<>zI?dwVwmv$b*URS1n{prYdTedPR~1mHPh4Nj z!*mE7()G@oBtA19yeC}qS%ut2QxKGCF#i4(o_|QGEVc(H)pvzV5Uqsi19up(*EZ=L- zM`QMHgZ#w1{uR5Yp2xV+(w!qHZ(=}yS+8Hxxud#u=1F$i?n>{j4f>Gysi|r6pI?2s zq2m%0cU=dQ5}v;8hc3O2LcmZw-Csq4uQ0r417Frrp562mp$@zb=fG#1`{`fHozn2#+1vjztsD!%@n$rrR|}_NlZ~|(&>Q@ygB@|Ym8GqZ%(poiOA6yMdB=SC?IpTx zi5vVFo}9ghzqv6O%X;&yFS_0D$i&!-w?2uk>l>GSTg;4Id79UWEAjz*VV~9F3TSaw zWlU@ZDxAD7jU9B`84SD??235diCBMyPA>5E>@205T42GiVFcrCxNr|+f z9%vRRpJ=)W#`rjZcbv^w3+lc(?00G|vmM=}6BQW_cAP#&#ncsh55pNEVMk*Q7Pu_o zihM;Fy(Plw(;C) zUEkQKlO6rOnsk$l&CUA9B7&WEU3PQY5KtZX?CaC(RgITh_y8$zN9%q2sw}vml!jXo zce?jE88zch*ZU+EWDJUzWB_M4gIfVe zuvVzBWZ#g2@MuZ^BW4A-(vPpXA3i{SfEK#+5g_6tI^=bnc(~!e!Nj}GazqwI;h#9G z%T%M)-CG4~kEK=}$xlXZf=Ny+NREyfZ#X&kQE`{LeSLxCBa_Wl%#}ubhI&7N16ANK zd}8Y&FW*nbtqH+Rr!_C*c$m?t*X-CoUD&_+on-JF5%!Og(Xf;Ovp2A) zm~D@Zvi2+3`mmYXojbc_a?%zo_p@iG#gyRb{YnB!K`{}Ly^P0^#p_*S{!s+MS7ydj z9+Pe(U4CB46Ub^x@@=xrm(;-SOv^7JEs>E_8d@SUMvNT-AwA2xnVnI_2U^$k-)ujT zD+`yZ^+xjDO$qbes&4LDV;AgW>%n;`^HSmdY}C5&iU}q52n+3ONP1$P$l&Mnt(JaN zaY5Eqab+e>073A=I64gQi#Dm-K^!pSt2`3!39n3hwvt|+NucXuhR$S+Fp*CM9!#6JEMR5ENZzR$Htj$rPUk~ zAgX&g)(WMkXU0LhiwniMf6+d4)1@^^6gRBvMe6!8zj@`FEd%G(yuvfU_5Cxqd0@Bs zU1eM@Zs$9^DzR7`*+{xTE@R~^Mv;3St~tj2S&w8KlQ9CRYpt3Wvf3_evF#jNubL6@ z9IrM-8DQ%To7!~3%sBjDWp)FrAa0>`xME6}7hoRkVd%q?ZdcWbY~q{;0@a6@Au_di2`fj2I%$2hTQ2w1)7iR1_L{BUpm> zFU-|bg4&$$=OKTzz9CnJhYlG()KaviB$o+ph58Eqxklt9Cr;cVP1<+$iExrx+g+>$ zv3i-3q}}qjrZi8Hx*b(raj$f z#Bv)Z#fRb93T!t@QP{O!mBAIOWu>qNwi;sHm#3q9-Kn+n-u>;Md{b)9#F~Z`85b_4 zCd`{1TY)VEls-V!56RC*HF9e+Jqx;EoM$QG{#DJealfP$SOL&kCoXBu>v36^KE8r_kAvlH?bByGpbd;^t?(#`O&2qcYR8a)Gkm^*mx8 z4!h!)`-k6M2JNWG;@DDmpLf$nzp^kbj)PZ%BAP*%(D&&A=7WoY^*2{`OYoUzJzZNc z<62!DoM1zAmv2j2lP?HKYxKH?6RXa;3&kK3w8noU)6RwV&%(`$7E8+N9b?*Ea`W-pea2_>IO5yxe1~Cmaa^>!!Hn(>bSA!@N%Htm1^W+oiXhbNnvHOTzb$JmdDNOb21<>DNaLxAtTq06rOsDV-QJg3X~w^}01@qDvjG3_xt^~@?wTcn z@43h}$tBfUe{yd$%T5qk44oZ-o2MwDWvsDDPJR8GurLDD7472=X$!$i4sS(^RxkrxAYwG%HYI|g9hMeO!vmP^YJpSCYc$Tz4k5S2(l zDab!eDv545=-va5=0VY+8b-0lN@eWeGO-A zY+(g5&vcW|O}8KOm#uA1ZCPvx1vb>I%@(b%^0%`m1C8j8iCJ$(97PGFszNtieg;*z zjtQ9GI%yKe?U-Yc$3=y?A>M`0W{1wdRO&+*!Q;v5?$-@NqW^SwMsXci1Nb7MqS7w7 zU%xt_G4Z|L&gKp?2#JU=5J^i*^WBWG#%qWC6Y1V7KyPyAExCe%0!14l8d}Rovl!j~ zG5UYivD7l%?+)@m$`D5Jmg@gF*MHSU5sH_zU;neP^izW{|0XAO2jk^`;Po$2QugpZ z|D*C>!iuP-1DHAm=Z+-i_v^u&;!J&9&-}1%tf_QPq;S8BmdIwA4jbu z3Z^J_^kg*I3}es<>f4*oN;+@p+F33zf)0L13f;AJ^t&sorsRh`ZSJV%c<3r%Oz3^I z&+i(0k?7sEx9C76c1jk`Wrruqzlj|RN^9O))cZ;^Es^GZyFFHKcW-4|bo49o$o^_+ z&;nm1QYI$1YF5~Hh=-fH=xr_VJLnu=ky-1%}d}92M0Hptix3><8qx;rIaS1NLEoc(l9U{1f z;O>LFySoJlGH7sjcXtmu!QI{ccE0cY&UxSO{&VZrt=lzIQ`FGiyVqXpSK!BtyzhL31;Xst=S59*HFK)-DeccZQ@-!1y!K z6UR|`ZneYNl84Zq|AJ9@#%`}nXgifS&$s!25|>IJX%U{V{jgDq`t&Y>^go}(`2~3- zT%ze>8-Aqlr?;nbDk&Fiq`5s*F3j774hKZlwmhC2_Jd+*cpYff!`2DDk}6q3L~9Ju z>3683uVy{=426oFalmaqY1Dhj-y!|3cVYM7!)ZDx_P3k)_)j_6?>9japAxa6)42Gp zQz3LNj`<-_g+Zn(#YOZGo~%MXtjxoYyIz!68nWNnan^sYdByaChm6W`d@am8h;uiG zi8b1x#MA{EBs$I1@g%`6EhscZB% z;SGCAq=3TwkF+Gw%Hm+ybY~DQEjBS87eOTVd`(Sv)D)q-&fK@xF{_!M^S_A)K`*tH z$OJhQ$H&@ml#;euWGd-%}y8-{h=@v8yTNImL{R-kSwB%3SR9<5=(I@dgR3Zr+GHb zq`j_j?{&?R!lWj=r}EWjxx2ornwWU!LG5=`P~IHz66%Vl9V;<2sV`oN7LM^XO{5~L#nWd`tS4Bodi5JC2T~#P`$hPaYTZyqj9lP`6c1QJ91hO z=Z*gKC%Glg^d8?2_h;dHKbDTlZ#kW{c9teqs;DV1|rTb`CLgk}8GDXR2b1 z+4$I>0n_`PuDS8iLbf7MUFdx7k-ann>*goF_>-ktvGxvgb5=vCrg=}K{slrzoH)%j z)|00L!k7dPn*|jGAt}$Y9Impx`Ml!(-=IdX{{XL399U*sI>6Z}eJtF97WIkZ<~btIuP zFQmm%Widk`5F^W>+zB*3Ok}<43m!Y7E=YvN@B~C4c4H5XMfdFSNhsHxQqNC{g&`=+v_JhR;^c0sHMy_bj{X!s>qaSL!M| ze7%e2f8yGpsQJe4>K{qX+6gnHK1-(W-tkBIn+=o^l7Psxid~XzplpyH4l&NXp9!9c z8Ll3oEO6OTHqH_n6q`ySU_tcJYW#L#Rk^fk6DR)NqiWHb4-4j8p9e!$eGs10PA$&v z&qF%R>(b7C%o+s$z{tcv5^i9%Z*bXQ9U#FEj)|dhq6J4S^4hLZSe?TM)Y!*tU$3Kl z_R(e~mTy#t3WyS7#ysvNwDT2HyaubiTLHkcRt5n zp)4YI^37}7D2d`9Hg2M~;jbGIluI~7y@=4kLDWfrC)T(eZd~fthtRY3(wr0hS!9^w zO`JR`SC_A`DNHd9Q`r5;=HBsMeqGO34-b4q4gNw0+8W#F_%plHbC0W598h&RG>Xr$H602o||vR{pf8 z&HI!LISfz;PD@vGkA8lB4a%z{e>szIy(`^K&3oVhnCJzKtEDmj%Nm<39bH`Hosj|0 zjhx(hZHE>(AcE~ukDSJdO25XLY$p<9XrdlK=#hrwkrqD+hIU7vt*)t$B1($)k3H7; znzI<_e+Qe^*jYCb!wh$02qRT7fq}rDsDP6oKfUVK6l|zAriM1Tdkvjq^6l2`S&zkl zpG#VB`UU#wxb}u1bSOgb(5W+ON_{JjtLD&_w{A#1;PE|1jd~@NP{7-e9=l=h?6j)n z)aJc|!(TN6p;S(`Z|r3vVT-jK-CG@RQtdLvW{my`EV0sqfhXr4a;44&Jy{)PD5`4< zh+iCMIlrr~MqnU0*D2O_1l=e|v!sTGSLt)XAt8M6MXn(vAV75#cXi)8i?*}w2$?%E z%-qXc-iEC~3yC_v<<6RC`I#8}1ukU5EQ)##q5X!e*?+)!Ro)}S=Im+i{6@H5FC=38 z+ss-@K=(r1YGJ>Q_fuY_x(QZf;3^WOy@runQs=Upfz}pd*QO z0X=3AJE)S%Ffu^GhweCvX{le$z>q0pQSCnz8ixWe|3blBCu%6U|vnCts*{caCN@QKM{v zRMjRmY`{c2o6u45hwZdQ{XAidi_iEJ2#F~uOAH8EUSRtjz4CKM&44OkhJ&<=JR{i9 zwX}@2R}EuwVGC9qU2d9p?q6P%txsE|i#Zu5U%@dbp*TgZc!clFu+uVv;++Q{`*aUt z0bR%dYr*8F*?0I(%G!4@?;>eYu&U%hCNyy@wJ`Qd{T%jfQ8OgP#+r4|(jvHK?B8u? z$a9xmmLgRxINa1HZ7XA&g@lt!d-DroQ{6bqNo;&@+|Z(x=#Z@#Yv*bwH$x4*J$Y_= z%@{b;c)l&l_N{O|C0C060SnOsY$hwoA?-PnVk>Kw)0a~yV-I=Zb|Efh;Hv*v$pulI zl$%bcE8ETaV+k>DV+XX)U?}g>=Z#4C(KIrrQI0Fy4MQuEy$e0bP*T)7XkZhD?6H}; zyD-Q8DDd{bSe%v|s=V;?)zJKN+ZNilhMI8LERjUqK8N~6oQO~@sg#ry*B!9Q|6DHiV7qoCBdEMfF>3H-YNVCbm14x>-u>8MT6K6U;atE2SrVJu9WWp zlD(PrPx8G*>EO9gat6?Gxm`94@1Ep#TfBL5pMP-XCW$nLt^ajqfkDO*%s=#at5DOX z&FO#NY>zGT{QqF^*Z=Pr{G}28Kf$=t(8Ya*#^f0{34) z5sO0m9}HCZ8%OMh5U&0Yq}#9DSIPVZL`vVA|1+kz_Gv4TY#qcS!v$R3dO+j8{43l^3v!U7 zB1U)7n#($^)O#<|vmUK5(Ao}d$yM@Yb()1RYQa*awcT%s>0fNbNQ!S)1K)ANv1qkapjlF)m_c55qg1ZM)FJLj2{fO{e(} zACKB{7{6M+DJ3OWa4F#jTn+ulb~#TR z7d|BIK(F*KSFIjyTf?qUt;=I13w2@F%%mWQwnefBmQmSCbDL$!i1NSVRr}Z`+b)~r zfKf*jZA6UkD_i7z1fA1U&}1Y=)!j?ISaE{Yb~} zKk&s%XMLxjypFAYDm$*B6H26{OXsf!4PZ$dsp62UUSV^35#5`u2f{yHIo(WJ@M!#& zeC(EciBpmhcMp?@?snOO@BBfb5jKEp3AzLtd{lpk4y=64zBHL^ZXlBX1;*ELvYReLshW?h zIle$_`Y`YKc|iUjP$9BqZ{Ovwo6{5BGbuic^%{nO?s^_sfD@3g-y|vGGJme1%Ja{YP;wt6Z|JLs*=<-x!c>$yg9GD1*+i&cn?$zu$plJzg9DG2cu!bcR~8c$EE#!G zwY&MInbu0#lwO^ETF;PC+#ixVXR}>rz&vu|{sV%Jlkt_<&8$Zy4WpE@O`q**c6ZVG6BvxgXsY&tca^zZAmd!D- z)doq+@Hkhb4rgu6&Hs_~aOSv~zTsSGFDP@s{<``(|ID@&R?zk9H=kd4_T?t^hAfg% zgUMgz7KlkK17$pTZdQ7fesb%LNp*qi0y)(`RYnPNl6_Cy!nT5u8DePJ#A*f6Cugfa z+ad&_-Iz$pQS~{7GGSoyy1w)t`Bw#KTHHVy{*{A?MRr>E*Y$zw7>ewJ3y`!3ohv44 zmhokcYYnO*Kr1+bK^39yjb|T=9^-MP9tG+B^0+(4gnh}8EaM%8^Mit=5{J2a-aMuc zT@@ZGV#c(+U8@t*AGGwC({T-w=TVZ7%_)T9Z-dW_b*N2?Bf!> zeUM~myTziDt5ALHg1uzXF}B}^u;%H?7f*>8HYV)(&kEQpUnEaNkH0rE7JCQRR(s+V zGSB5HbMe(7w9XBh6>#jdbEv#`_=R3M72&*j@CA|ivzUM@k+w3aiEc=vSoRe#|)VA^M_N}(5B zo`f@%1?SiNF;ytErY8w9mL3PVzZFwADMUzy0p($#Y@}N?*w#X^A>q0lQ;Cng@io z+%xAxpD5MMKHwUM=yL_0-FoaFn3~ADAu^GF!sm>d+R|YSSnwtna$zplLE?rwkvoW9 z7*hWs9X=u7QIdX;q60F?V_Q^|zdWZqGRvtR7kfD()Ove1y?c<|Mu*+fWqZ*65WUv+ z1C~A4V?z4L6~h-fo-t)+ziG+QVd?T)b);`vzHkvN{t8@ZO2%o&XU{`@%X`vf0$N3vy9)OKjPhUHC#>g*Rd~O?Z z3kuRFRdscR59it>C5OoP_*;-LFzD#%BRDOrX$1wnz8o?!tqj#n2n{T|toGH-m-7|0 zn_E~ERoJW*my`?aHorWt`iLkizZHI%>cGLna~^+AA1%^}uv!$_xZl+!s9Ej~LUFyC zVoqylrtPt)Xd8dHCU$)~uZYde6xY<`w`sqp-QIqCb#(;vt^gc;UOayo3h0b!Lr^ z58>+>#%t=`T_XxVrv23Z(a~1s%YJ4Rr2Brr=V?`q0T0UiY4bHVJKO*DUO1D2jxMz) z1mp7I(B_+_X28I-xRMgJs+JwR%ZeMKN{Lfk#TO>!7MIiYTq3jX z`1QOlHzaS!Sntk+p)-nmr4#rMu8V~U?;8gxDXB`0vZu$6*F&R(_etROTesD_{`sM? zbY95zps|6#>Dw3*-tNnZj?NU$hDy*FW4u-spkZk!f0NzzT?A2LFn&+~O*Wp&ri22n z#sZdsgYk>qEmO05TLXF@DKuB?tzCao@gOcW!}HNw zNLRW;$Zmi4JE@)Lo!84Yv&|F)!uhW2G|0Yq-e93r9ey;0(_*G7H@Ejvo2W||Hi`@m9@L&%p^F7LB|*O-+R9neHZ-_`!~{>cewAlhJfc-Zw~h;DFjkie|N zpih~ani}&>kg1uO{$hO$k7uLbsrT(`+Ev=TmIJ4qogL6VQSJ4Jesjva>4zvZlAy}8 zd(v{cv$*<#ZZY3JjNfs$7eoNl6x!F@Ydf#)a{hG5Txq?Wx@0$SY`NMVaB*Q@-tG?1 z%L}=C_6DXd6B7xp>3(MxC}${WXbc0oym5(kcGiO-cVj$AQ&?Xgt^2f*l$)P#J3#89 z$3X!^NXX zz(;HV<2Let55yKgAcFgb)$73#I6)Bm=>($q1?ah|tE;1$SZuxTi63WMZudgGzP{G7 z>wD{YKk{lweW%&%_yKq_DGLkYqN1XoKYw2A3crG>#5KaAqj&OCtx1rzUeC!h`;FLY z?6*0e?k8;YxKf*5Umi^@EH;^a?om`qqC&_XNZj1qNO){*XChb2%b9dM&y9C(}>XblCm77u2*71Y&50ZpCG&$|F7D)#43j*C0MT>9&+$XN}=&@lwg zAo0<>opWW2u8+qqrZzSM)(tgALk8Au*VBM8q@<<}2)?9p+w`B_)|k(7LbcxS=3sX9YX?vJH3HBTCjhh=h zA>lM#6JJvr0J4gTieC*4ss1WMLc-?dJzzP%nws3IM{uxsPvvfP6aZe$MEYkFh}oHv zzr7dn_9lD0O=pOEJXRL4A{yakW z3A=_jvcl)tE=`WEQjhVIe`ijSCUQJEB z@XL7u>qLk1ammqYM`j4QcW8z8HS5FUquY6367*mB0ct`Y7a#9-P(&9N9=-$UFgz?Q ztiZ$GF5qCO>FCa96y*&X7VqyTd_G%QG3q}2##gU3WliO>0v*nk(WTWC6oi;$KED;p zj1ebuOWxZvEiS=`5;!?`y_x&)BCps+A>_4Nf~W_C7nGHHn84qSmDbmvQK z)9P1R%5ZbCJOU^ryLIzEg1x={LenJ<0EYw5DXs!!fJ+d62J(VDn^k1xRsi%g9+vaF z?PVbrm6dG<;d^r*oZqf24*t%QR;x9g`Y_O1SC_E*a^qrTB(pn2m#McsY_U*l#!f>+ z1GP!!S{J*6coeT6T!|kL=466-$SFLQ)Ze04a!w)Q^f^Z z5~K%sC+_OhM*pTb3XO+r0;9;}a;79G2znj;60_2VVeoC6xidzz( zA^?ytc#z@a;jsah+^WNzkdT0ji_2oOA^_O0v9U2-+e?+@(wz`7cf0Vx!e)$*6VMvV zPI}lEfghWYAgQ84OU%_e))jzw?%qZfGm*-jlxp3K<-7WPa!W^gnVU-uTt-%QthToH zn^LW9?lL&ihXV6gRaMy0QE6y&xLGQWiYqZUiuS`||RLNv!e0FoYFU0r=6&MtB z9%bX1&b{gx52$aA#XOVVnNI6zyT{PTNNQ>IHg;l0M!#yu1Hs>61L%6U79dN2iU6>s zyCaiRIwm=fpCdt7cz9yo-a-J$0bK(-jscpjs_nF$EPN{}!lYc_Uhy6vtx3@i=-vf+ z{ofU*-Ix61lgMFz#Id=9MN4QRU%Z*QQkB|=2`D~(Z8`=VLL@kV)}W%^-EWe=0?r)X%j-GtOIGYa2*i@B zRON7RbqsVl$RL|K7Q8Ba6OwY$w95oc+21G8v?&_^)l|7(%PzTYq5(hxeMbIzZitEi z3-A~MErV-UgaE&>RAHmTIV-^6BAbIZ(S%QIdBmatjsdKS?Ai6&jB49&9+WW_~r(JA7WzzCLCIpsRp986K|9Z z+x5CUg)YG!_anM18-R?_SQ;6w@!QYbHa5~W$zI#rg}!7>4z?lcH7xG$?fq(Kz;9WW z6A^)n5xjW|mEm!sN_Ta>FYgl$klT;+B@2z`UT;u#qck4e1ORzKi-C|aVq|S99&@d> zF1~BE#sf5njh(%)sL1&E&%EoJ-=jF0yp+_|Wu}jjQN_NXhm=~wiL5u^3@!r5J#{^_ zhustaKlJ&t5MZDW5AOArkm0}X6#)0UVbvG+>XG;n3H^0}44)Tx=i@&?i^utuwi!Ss zwy8Ajq%9jDqgq7cymw>6G8DM}{j~GO{Fn0vtnn$>(#~^x&r`txqdM}hgUs36B4RmM zB{VW!6@$h`E3Ixvf3A@Q1+7myUfbEtHNX9s5GVKQ&6iCDc>DMu>gd6N`O9I4_b@Z8H-E`ySy|c7#FOm= z)wyc@9t1olEtZpWa%n)An)R03=`JhV^^4YhmR#%}H>C>f@i7VU@n5Y^WB}42Yqqbm z;&m&S$fPax{rg7aI1pXQtE=-WC@9EedOx)%2iwgvCNTllKf>H0qoqZn`}(l?^t9Wd z2e?cI_3BVUcF;Ekh0k{9a(Ij%DY?0m07eIlx2Ui%x3!g|VNvj)hlUbIekHZ@mP&PzqYQf+GK(Z#;*$l&aF-7;NW1PQXdvn z1JLE@$>n81^EnG09Wvl=M$P)T*x0{BBRxGGz}^&P-(_o)`SRtho$=hFqQBqU_MmZB zx}Ik{G_RZk4rd3LC{m|UgDTtWS^Dwfj*X3UK$z2Wb8-$2C;+!sV@PDp^eAQ(wq1h) zxQ@kKX;aYClPAETpj1lUW=|~x;k!VMk%P>Ugzrewgw2T0I8{08?ox^>;FtrUAuk!@cw=B(Zv=U zFbm>BNDjw!CA2LhO`~WX6Z~_<%Jg*)!D-wD9u+*6rLT)`@y4lygkHWRF#s@cV)o^4 zF(#HhHa%U`(UIfBhanNMKNIioIKeWW#}+Z?bDD?u0RL}&Jn>ktP) z*cmjQHWYy29SsnM)Xb+X;jpl<^psm4daYF0s3u5cbLuS?DF@tVtDQlerWhB3)eQC?3|px`jGiBlOov;)1;*BvRoG!1cp=_69Xqu5TIfc6OW8>SM2Ph zs>(aN*%PJ+cl-zs4_ACi!)w9}Ufm_N=nF5weHwOS1tQ`e@;K7NS7%8{$^Vsl%E#=P zmKXMFvY7z#f&)OPu>m&8;4KhBpXJu?=l=Y5XgeE#^$DRzlG`N*{1O#yEp|H{uWL?# zQl<`&zY^WwyA{~jLIXXA6CW6tM}(iJUkTMO{;M^cNkAB{`nTeEQOwDSHPqjj`-Cef zD4;}E@Onm(ikuH0D|RIH{7U|BQmo1L3;w$JZz5@bAx|YcJ=Hq(JCg4rif(q4smG{aDq4~!NV(kAPbuL<)o2MKR0jmfof6vWv z{m(rHdG=j+fx_cxT3j3(g!8{|4UAGfG$zJ`(tBbRa!kuGDggaYO){=+E9}-ec^UsKCNllfd(Q!(8N@YaA#i*hl>B#nx9QU;Elx)J%MjDo{K8P% z)Dv>v5C87Q#1HK<1=MNd8coLe0~>r0Se5`yY+0BsA6dP!;~xc9xvgxys$|L39cp%} zm%zU@PT=L=wMMPP#R&$tUvL;oT)Vscg0+r#MXg4odpaL7z zUZBrLR0S#3um<{N|LZV9Mac2{hV;INN{<_OQ))_qR!+5 z)Msy9SqPN&_~mGG6h`#_r&%B^aLBax@EQwg@3s)wm&!^70pY3Hhl#x>>r`#M;y3+Y z{r;~bc1RB@9uink;Zsc?`{5(yQvTyEo4x0P$J6}3Q^B-hU3wI7SJxhZ9f191XsPt| zLCeBPe({W_o=0|0D$|qdy`|W&kZq&=M&^ih0bFC6`6})k~{ijb4T27Dx7<>0L-$4 z5ZfSxafUl~D8>D+7>Z>p3aGub1M!p7vR`+RF-Y6WE0GLfj*lSA5jI-$?uix8@VGn| ztQDnIjU_zkxim5rb2SiD=-|y z%sTyB5?$CQPn}V}QP2zZ4%Wo!^{Q@Gar1&)P>(~uX5dF0L6lXR1=1~9QBFBsTI~@W z11XwPOSi<393@EU5nAJr$dtV=o}clc^kf8uGoMb-#|Pv1#dd>=xm??cx!8PknyvBU zkaXSRmoK@55o01gia2?kurj(oWVJLo`OQPP3b@4BJmR;uL-d#bBd*9XBvVjB~rm6&FrX(NC*PUGfEs7&zOXVe42am zL%9@PkyGHlxKO+sR|EBwwY+h1(Uh{(-y3+X$U|GkVuswogQKXwr+-VSJ8=sIq%ZYN zSJpfF_e75o1#`}fba{oCT@XkN3O@Wnl*N*nkOsM15{P{bZLjAV{>X2O_>S`2^pzlb z-{;H8Qv7+P&7yT{Q%RG9WWNLjak@sQQ-erl1w`mB2J(sck;}?pKpz8YXK$aOc}MEP zKo)Lz{=6pKRi(d$XW<~LWl{R7RJrs+xZbL!jl#yo#_EHI_iA$-f4aEI6Pep?2Lz-k zVbEiJpjfdR+s&opT?HPcQAsJ*c64zM)2Z~of3bI-b()+aq%a;Lvi=x~&^mLvFc@My zc7*_K!FH)qYM_wvw%PgeVr0w+?_ojJz@Tf{BAM7r2k~!q^M4=tZ-5?55;{3{)GJ2? zkH)9~V6ke!B5g~x1O7n{uw0va?DG;&PkW6q7x?Vz8i$n7ugf;^or4}UDn$6Z%-#o8hnfkBv{FGoA%x5M#jB*jfL3tIh5U2jmu=CCLXT@-J!Df z*v5gMe7G4&k2#XdMni=!%}nMNa6uvg_i>A^T!D+TpF>zbcb$HK_mkkSPa$$vL15{p zt}&7$849s5vpzO)|ALFqyo-4x`?a+V85Kq4wk=xhCH@*kf;^#oTcelha|8TZ&B& zQ1rv(jrBi&d|nPIL_z4nm178jw9k5VTPiykyn+Al4&D2^WIT6d?i1>Ty;q|YuoX+f z7bS60a?+zdo7z}jx`3xNZ=v!%!KxM8k-bYjDv!?}s{}(JI=`bP2tGUO^T887AMtF_ zF!3kIltjo2S@)1~V5P=)wfc*=himTf)r$p0jrzymI*j6kjb(_{x266*W^8-{ZGb>5 z{1cL@l87&XRTY;xzr_yHAiZ@Y1||XI4(1FZFRw?-Zmvq(%dh9RN7A6`xKA*Fl~n#> zWqBus$I}|pqGn|aALsI7>X{_)nSH#Z>grm`-v60vPWnBdJylYs@)PRgwcQ6Lc;f^p z2)iULn3LVX+b0ke*+^b5ct&`k92)&*bgInI0%~ysJO-g=*w}yv@qrnu3CnS> zLG%ao3uh;U=@x!( zoNaBP8r}nMez^HGQoih|c53h-32#K#t#neFQ_U*1WJy({hpX7%QW>bZ(9}kz%d&Fg z?#-ka&ZuNvoXhv-XsPcp_I#Ad|6#fAs0af`GTF{m5Lcc^^yHfs2WMT`6Iw8(Q6nOc znRWHXu_Sv;t>&2P5OXFHtk**Xi8)hLbn{kBr7^K zMLD;Kh;y9F^JKn?8xHZ*qEhQla!KD=xtl_me%I1o7@?2msmT4Z;FSNNu zk{{=qO^}&Kk+`N>F|L?EX|H@|UP(YeE0%2Qj(i9T!k{B2ZbFq#G-#jD ze$$^kDqpm{Ls*F{iVMx6{RClcLcjwOU$_0az~ei^>GK(87<`Z*D~mQ|Qc#d>wdOBo=rf zyXfj6?o05gHYga1hZM1xVf|KdYBtwqv89(N_0P*0f`1(}j58fC6ArJNHFkTy(JI8$ z3+Gya&W-ochl;3dMwOgzABEOltSKui?4S}_?B_v@%X!5Znus>pg_gcK{Y?xv7Rbhm zK)gPLL6Lj&*p&?U=@vq);@i7Ldx61~VirO-aO0Tug?$-^GUt(Q9dSWcw|r;9=kczN z2@gKGfozVZp^2K`N($nOQm+KpZ^r`J+9IoO&Ui6iq)=fsV3p?U+YBeJf6V@oG4@)d zwxnDVQHI^xYGgh2L3dQt#<9}}2~cM8P7^ zv|Cn8K88SoqteU8*KXS6-|u8k*p(Jo2{iTP44Il)dtg+? z^=z4?T>W=LSnO9CDAa(tdr|` z`KMa!Jac&*=!y4I!phyHcFr4P`d_?E(FoprSsz6v;qLmJ+nym9C3reh-H>SC5rsS; zzmaQZO_{)XWQO1)Dp*&AnxD=SD=$0IJ4KYwdywm@fo_dsB%juKWXA>bSPaogrSOnq zr5hja!MUk16vv4roA{#}u>WdWdu-i{To)Kh1R~**)_m*}3B`m&GLQC>oheLV_HpJX z8`4I16I%bO&U%}Z7khv=NXG3)NOSKx#_GSWlfsnJY1E5Mw-m`tC?C7{D{n^>M5qhRqrVkrZN6B+a1<9ttAr$v4#g zcV7|eQ87sIWr^28PYUenhO{hYld`Q4aj#BaHFi#?�Vc7r9jl^Piv-7f)r8BWh=lyA8HVtxGm{Mh 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 Vo1>X2qx43S68m?B|90r~{{eBqog@GN literal 0 HcmV?d00001 diff --git a/product_matrix_show_color/static/src/scss/product_matrix.scss b/product_matrix_show_color/static/src/scss/product_matrix.scss new file mode 100644 index 000000000..d00b3a5a5 --- /dev/null +++ b/product_matrix_show_color/static/src/scss/product_matrix.scss @@ -0,0 +1,8 @@ +.o_matrix_input_table { + .o_field_widget { + .o_field_color { + width: 17px; + height: 17px; + } + } +} diff --git a/product_matrix_show_color/static/src/xml/product_matrix.xml b/product_matrix_show_color/static/src/xml/product_matrix.xml new file mode 100644 index 000000000..6e429b45f --- /dev/null +++ b/product_matrix_show_color/static/src/xml/product_matrix.xml @@ -0,0 +1,30 @@ + diff --git a/product_matrix_show_color/tests/__init__.py b/product_matrix_show_color/tests/__init__.py new file mode 100644 index 000000000..8811bb545 --- /dev/null +++ b/product_matrix_show_color/tests/__init__.py @@ -0,0 +1 @@ +from . import test_product_template diff --git a/product_matrix_show_color/tests/test_product_template.py b/product_matrix_show_color/tests/test_product_template.py new file mode 100644 index 000000000..1555cbc63 --- /dev/null +++ b/product_matrix_show_color/tests/test_product_template.py @@ -0,0 +1,56 @@ +# Copyright 2020 Studio73 - Miguel Gandia +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +from odoo.tests import common + + +class TestProductTemplateAttributeValue(common.TransactionCase): + def setUp(self): + super(TestProductTemplateAttributeValue, self).setUp() + + product_attributes = self.env["product.attribute"].create( + [ + {"name": "PA1", "create_variant": "always", "sequence": 1}, + {"name": "PA2", "create_variant": "always", "sequence": 2}, + {"name": "PA3", "create_variant": "dynamic", "sequence": 3}, + {"name": "PA4", "create_variant": "no_variant", "sequence": 4}, + ] + ) + + self.env["product.attribute.value"].create( + [ + { + "name": "PAV" + str(product_attribute.sequence) + str(i), + "html_color": "#24292e", + "attribute_id": product_attribute.id, + } + for i in range(1, 3) + for product_attribute in product_attributes + ] + ) + + self.matrix_template2 = self.env["product.template"].create( + { + "name": "Matrix", + "type": "consu", + "uom_id": self.ref("uom.product_uom_unit"), + "uom_po_id": self.ref("uom.product_uom_unit"), + "attribute_line_ids": [ + ( + 0, + 0, + { + "attribute_id": attribute.id, + "value_ids": [(6, 0, attribute.value_ids.ids)], + }, + ) + for attribute in product_attributes + ], + } + ) + + def test_01_check__html_color_matrix(self): + matrix = self.matrix_template2._get_template_matrix() + self.assertEqual( + matrix["header"][1]["html_color"], "#24292e", "Html color does not match" + ) diff --git a/product_matrix_show_color/views/assets.xml b/product_matrix_show_color/views/assets.xml new file mode 100644 index 000000000..44ea26344 --- /dev/null +++ b/product_matrix_show_color/views/assets.xml @@ -0,0 +1,16 @@ + + + + From a6c85f889613fa6de94828b654efe027f8edef53 Mon Sep 17 00:00:00 2001 From: oca-travis Date: Thu, 19 May 2022 15:08:06 +0000 Subject: [PATCH 2/7] [UPD] Update product_matrix_show_color.pot --- .../i18n/product_matrix_show_color.pot | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 product_matrix_show_color/i18n/product_matrix_show_color.pot diff --git a/product_matrix_show_color/i18n/product_matrix_show_color.pot b/product_matrix_show_color/i18n/product_matrix_show_color.pot new file mode 100644 index 000000000..3b5381e8e --- /dev/null +++ b/product_matrix_show_color/i18n/product_matrix_show_color.pot @@ -0,0 +1,34 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_matrix_show_color +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: product_matrix_show_color +#: model:ir.model.fields,field_description:product_matrix_show_color.field_product_template_attribute_value__display_name +msgid "Display Name" +msgstr "" + +#. module: product_matrix_show_color +#: model:ir.model.fields,field_description:product_matrix_show_color.field_product_template_attribute_value__id +msgid "ID" +msgstr "" + +#. module: product_matrix_show_color +#: model:ir.model.fields,field_description:product_matrix_show_color.field_product_template_attribute_value____last_update +msgid "Last Modified on" +msgstr "" + +#. module: product_matrix_show_color +#: model:ir.model,name:product_matrix_show_color.model_product_template_attribute_value +msgid "Product Template Attribute Value" +msgstr "" From e206db8a58420dfd0346c75888740c12da3cf2cd Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 19 May 2022 15:12:08 +0000 Subject: [PATCH 3/7] [UPD] README.rst --- product_matrix_show_color/README.rst | 77 ++++ .../static/description/index.html | 422 ++++++++++++++++++ 2 files changed, 499 insertions(+) create mode 100644 product_matrix_show_color/README.rst create mode 100644 product_matrix_show_color/static/description/index.html diff --git a/product_matrix_show_color/README.rst b/product_matrix_show_color/README.rst new file mode 100644 index 000000000..8a3bdc9ba --- /dev/null +++ b/product_matrix_show_color/README.rst @@ -0,0 +1,77 @@ +========================= +Product Matrix Show Color +========================= + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproduct--variant-lightgray.png?logo=github + :target: https://github.com/OCA/product-variant/tree/14.0/product_matrix_show_color + :alt: OCA/product-variant +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/product-variant-14-0/product-variant-14-0-product_matrix_show_color + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/137/14.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module shows colors of product variants in matrix table + +.. image:: https://raw.githubusercontent.com/OCA/product-variant/14.0/product_matrix_show_color/static/img/screenshot.png + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Studio73 + +Contributors +~~~~~~~~~~~~ + +* Studio73 : +* `Studio73 `_: + * Miguel Gandia + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/product-variant `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/product_matrix_show_color/static/description/index.html b/product_matrix_show_color/static/description/index.html new file mode 100644 index 000000000..a6bce5f8b --- /dev/null +++ b/product_matrix_show_color/static/description/index.html @@ -0,0 +1,422 @@ + + + + + + +Product Matrix Show Color + + + +

+

Product Matrix Show Color

+ + +

Beta License: LGPL-3 OCA/product-variant Translate me on Weblate Try me on Runbot

+

This module shows colors of product variants in matrix table

+https://raw.githubusercontent.com/OCA/product-variant/14.0/product_matrix_show_color/static/img/screenshot.png +

Table of contents

+ +
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Studio73
  • +
+
+
+

Contributors

+
    +
  • Studio73 <studio73.es>:
  • +
  • Studio73: +* Miguel Gandia
  • +
+
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/product-variant project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + From aa2e233e32ac0aaf0c97b5c412cad59b458e3f5e Mon Sep 17 00:00:00 2001 From: "matteo.tognini" Date: Fri, 7 Apr 2023 10:01:53 +0200 Subject: [PATCH 4/7] [IMP] product_matrix_show_color: pre-commit stuff --- product_matrix_show_color/__manifest__.py | 2 +- .../odoo/addons/product_matrix_show_color | 1 + setup/product_matrix_show_color/setup.py | 6 ++++++ 3 files changed, 8 insertions(+), 1 deletion(-) create mode 120000 setup/product_matrix_show_color/odoo/addons/product_matrix_show_color create mode 100644 setup/product_matrix_show_color/setup.py diff --git a/product_matrix_show_color/__manifest__.py b/product_matrix_show_color/__manifest__.py index b2e226da3..a9e8141f7 100644 --- a/product_matrix_show_color/__manifest__.py +++ b/product_matrix_show_color/__manifest__.py @@ -6,7 +6,7 @@ Technical module: Show attribute color in product matrix table """, "category": "Sales/Sales", - "version": "14.0.1.0.0", + "version": "16.0.1.0.0", "license": "LGPL-3", "author": "Studio73," "Odoo Community Association (OCA)", "website": "https://github.com/OCA/product-variant", diff --git a/setup/product_matrix_show_color/odoo/addons/product_matrix_show_color b/setup/product_matrix_show_color/odoo/addons/product_matrix_show_color new file mode 120000 index 000000000..e44ad5559 --- /dev/null +++ b/setup/product_matrix_show_color/odoo/addons/product_matrix_show_color @@ -0,0 +1 @@ +../../../../product_matrix_show_color \ No newline at end of file diff --git a/setup/product_matrix_show_color/setup.py b/setup/product_matrix_show_color/setup.py new file mode 100644 index 000000000..28c57bb64 --- /dev/null +++ b/setup/product_matrix_show_color/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From 64fc315ffb00a9f6ef4a5dcd3a374c1ecc890236 Mon Sep 17 00:00:00 2001 From: "matteo.tognini" Date: Fri, 7 Apr 2023 10:19:19 +0200 Subject: [PATCH 5/7] [MIG]product_matrix_show_color: Migration to 16.0 --- product_matrix_show_color/README.rst | 2 ++ product_matrix_show_color/__manifest__.py | 12 ++++--- .../i18n/product_matrix_show_color.pot | 34 ------------------- .../readme/CONTRIBUTORS.rst | 1 + .../static/src/xml/product_matrix.xml | 6 ++-- product_matrix_show_color/views/assets.xml | 16 --------- 6 files changed, 13 insertions(+), 58 deletions(-) delete mode 100644 product_matrix_show_color/i18n/product_matrix_show_color.pot delete mode 100644 product_matrix_show_color/views/assets.xml diff --git a/product_matrix_show_color/README.rst b/product_matrix_show_color/README.rst index 8a3bdc9ba..e4c398d54 100644 --- a/product_matrix_show_color/README.rst +++ b/product_matrix_show_color/README.rst @@ -50,6 +50,8 @@ Credits Authors ~~~~~~~ +* Nextev Srl + * Studio73 Contributors diff --git a/product_matrix_show_color/__manifest__.py b/product_matrix_show_color/__manifest__.py index a9e8141f7..4d5dc09f8 100644 --- a/product_matrix_show_color/__manifest__.py +++ b/product_matrix_show_color/__manifest__.py @@ -8,12 +8,14 @@ "category": "Sales/Sales", "version": "16.0.1.0.0", "license": "LGPL-3", - "author": "Studio73," "Odoo Community Association (OCA)", + "author": "Nextev S.r.l, Studio73," "Odoo Community Association (OCA)", "website": "https://github.com/OCA/product-variant", "depends": ["product_matrix"], - "qweb": [ - "static/src/xml/product_matrix.xml", - ], - "data": ["views/assets.xml"], "installable": True, + "assets": { + "web.assets_backend": [ + "product_matrix_show_color/static/src/scss/product_matrix.scss", + "product_matrix_show_color/static/src/xml/product_matrix.xml", + ], + }, } diff --git a/product_matrix_show_color/i18n/product_matrix_show_color.pot b/product_matrix_show_color/i18n/product_matrix_show_color.pot deleted file mode 100644 index 3b5381e8e..000000000 --- a/product_matrix_show_color/i18n/product_matrix_show_color.pot +++ /dev/null @@ -1,34 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * product_matrix_show_color -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 14.0\n" -"Report-Msgid-Bugs-To: \n" -"Last-Translator: \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: product_matrix_show_color -#: model:ir.model.fields,field_description:product_matrix_show_color.field_product_template_attribute_value__display_name -msgid "Display Name" -msgstr "" - -#. module: product_matrix_show_color -#: model:ir.model.fields,field_description:product_matrix_show_color.field_product_template_attribute_value__id -msgid "ID" -msgstr "" - -#. module: product_matrix_show_color -#: model:ir.model.fields,field_description:product_matrix_show_color.field_product_template_attribute_value____last_update -msgid "Last Modified on" -msgstr "" - -#. module: product_matrix_show_color -#: model:ir.model,name:product_matrix_show_color.model_product_template_attribute_value -msgid "Product Template Attribute Value" -msgstr "" diff --git a/product_matrix_show_color/readme/CONTRIBUTORS.rst b/product_matrix_show_color/readme/CONTRIBUTORS.rst index 628bb22bf..51ca5e606 100644 --- a/product_matrix_show_color/readme/CONTRIBUTORS.rst +++ b/product_matrix_show_color/readme/CONTRIBUTORS.rst @@ -1,3 +1,4 @@ +* Nextev Srl : * Studio73 : * `Studio73 `_: * Miguel Gandia diff --git a/product_matrix_show_color/static/src/xml/product_matrix.xml b/product_matrix_show_color/static/src/xml/product_matrix.xml index 6e429b45f..a35084415 100644 --- a/product_matrix_show_color/static/src/xml/product_matrix.xml +++ b/product_matrix_show_color/static/src/xml/product_matrix.xml @@ -1,17 +1,17 @@