From 0f462ad21a3c87a12fda2b134c77cbc61e0cad0c Mon Sep 17 00:00:00 2001 From: Alaguraj0361 Date: Mon, 28 Sep 2026 19:43:48 +0530 Subject: [PATCH] add TNCSC deployment module, community add-ons, role guides, and website navigation overrides --- .../static/description/banner.png | Bin 0 -> 19693 bytes .../static/description/icon.png | Bin 0 -> 1701 bytes .../static/description/banner.png | Bin 0 -> 19701 bytes .../static/description/icon.png | Bin 0 -> 1744 bytes .../static/description/banner.png | Bin 0 -> 19191 bytes .../static/description/icon.png | Bin 0 -> 1757 bytes .../data/mail_templates.xml | 74 + .../models/membership_tier.py | 6 +- .../models/res_partner.py | 21 + .../static/description/banner.png | Bin 0 -> 19152 bytes .../static/description/icon.png | Bin 0 -> 1723 bytes .../static/description/banner.png | Bin 0 -> 19671 bytes .../static/description/icon.png | Bin 0 -> 1664 bytes .../tests/test_portal_dashboard.py | 4 +- .../community_school/models/school_class.py | 8 +- .../static/description/banner.png | Bin 0 -> 19467 bytes .../static/description/icon.png | Bin 0 -> 1808 bytes .../views/registration_templates.xml | 577 +++++++- .../static/description/banner.png | Bin 0 -> 19619 bytes .../static/description/icon.png | Bin 0 -> 1747 bytes .../static/description/banner.png | Bin 0 -> 19918 bytes .../static/description/icon.png | Bin 0 -> 2006 bytes addons/tncsc_deployment/__init__.py | 2 + addons/tncsc_deployment/__manifest__.py | 2 +- .../tncsc_deployment/controllers/__init__.py | 1 + .../controllers/membership.py | 295 ++++ .../data/mail_template_overrides.xml | 57 + .../migrations/19.0.1.3.0/pre-migrate.py | 16 + .../static/description/banner.png | Bin 0 -> 19886 bytes .../static/description/icon.png | Bin 0 -> 1792 bytes .../static/src/scss/website_navigation.scss | 26 +- .../tests/test_tncsc_deployment.py | 43 + .../views/browser_branding.xml | 5 +- .../views/website_header_overrides.xml | 144 +- .../tncsc_deployment/views/website_pages.xml | 1300 +++++++++++------ deploy/odoo.conf | 1 + docs/role_guides/admin_guide.md | 67 + docs/role_guides/parent_guide.md | 49 + docs/role_guides/teacher_guide.md | 41 + docs/role_guides/treasurer_guide.md | 49 + scripts/check_brand_leak.py | 4 +- scripts/check_manifests.py | 4 +- scripts/generate_module_assets.py | 175 +++ 43 files changed, 2405 insertions(+), 566 deletions(-) create mode 100644 addons/community_benefits/static/description/banner.png create mode 100644 addons/community_benefits/static/description/icon.png create mode 100644 addons/community_classifieds/static/description/banner.png create mode 100644 addons/community_classifieds/static/description/icon.png create mode 100644 addons/community_interac/static/description/banner.png create mode 100644 addons/community_interac/static/description/icon.png create mode 100644 addons/community_membership/static/description/banner.png create mode 100644 addons/community_membership/static/description/icon.png create mode 100644 addons/community_portal/static/description/banner.png create mode 100644 addons/community_portal/static/description/icon.png create mode 100644 addons/community_school/static/description/banner.png create mode 100644 addons/community_school/static/description/icon.png create mode 100644 addons/community_theme_base/static/description/banner.png create mode 100644 addons/community_theme_base/static/description/icon.png create mode 100644 addons/event_qr_ticketing/static/description/banner.png create mode 100644 addons/event_qr_ticketing/static/description/icon.png create mode 100644 addons/tncsc_deployment/controllers/membership.py create mode 100644 addons/tncsc_deployment/migrations/19.0.1.3.0/pre-migrate.py create mode 100644 addons/tncsc_deployment/static/description/banner.png create mode 100644 addons/tncsc_deployment/static/description/icon.png create mode 100644 docs/role_guides/admin_guide.md create mode 100644 docs/role_guides/parent_guide.md create mode 100644 docs/role_guides/teacher_guide.md create mode 100644 docs/role_guides/treasurer_guide.md create mode 100644 scripts/generate_module_assets.py diff --git a/addons/community_benefits/static/description/banner.png b/addons/community_benefits/static/description/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..73fb7a1d82dfcebd41ebbb896e0cf50ff03fd6be GIT binary patch literal 19693 zcmcJ%cT`i$_daa-AXibipuhzwUMxtB4e3M$R78S;^b!;m=_0))3L+p)Kt!cPR79jV z=|p-HLXi%k1PHw(5CWw9POx4QzH7aIylc5!nmOl8+p}ly=XquVuR$*D+rztO+qP}{ z)Gn)NZQHi<(6(*cpZ&E1_@(Dkr1`dOS98@=&fjp0ogHxX`nF8|vbbWxQE@SRU-p4J zPknrZe4grm>(t@Q{|r`5^R%{|w#m!ue3a8!l;$Z0`J4H#2CZv{W)u(HxO@4*$~tD~ zFL!7}CAaB34?eSQ5;E$99G?Vrd z3f~qB(*OROWiz+<#!n?@uq-b&9y5K7XKMWZZqusI812pY=y9)d+{U}=jtQNm&1&RG z<%Ba@*|8Xnkp`yFu7p~L5;fz(FN<Mu~cc+6pJN9}YA z=9{Qj6nCnjv)rSnL0G!?{)YN7rEtYV&W(%|K6r$2o^ar^=g^b9U&5*gNvjslGwbMW zKN-g0MLuY~k4~dz?Fq^F%{9uHit1;QoKopO8H&Li-Lj}Lx6)@U$()lL6~)4rp&W*B zi!AujBt&NaRpdFY2fzCJM?X2APcwcAYAHg|m>XYBl%g9G8KrtRmKRXNUlsi9b0{X| zfMq#O-TKEEg#I3DuRSNZ#F4o_hgAlBB;9z(jo*W>Hp#e!n{kO=&XA=3d6~H97`o97 z#k6bv&7C?F3)$na_+u9T=#{0oK8tP(BX zR-Hsc=qD`{b?*g>?t*5L52F{wZ|9g@hX~&^R`@>ufA+nzf#6du7k7$LYYZekS-2LR zMi`YHyJKEH5+C}EK@X2rkG?X=EJ!+ho4&phwZySkhFcaI##5MrJmoIbIDR+rKjtFl zM!Z5C3)hO%<6t^t50y^7pQ4EaU*Lw1Ku#OO7;Fe9-C06OLjMi%HQzBAqqo@m(_qBOdJw`On%6 z1+~9aM~aeb_of*n*Qb0oyEDt|V>y`enB-hfXX#LfMGdi1d0pqxdP)5rWg+gZrvFICh^NjgL4Mt2r+P8N%xo{Y$$|6&Xf(ZPX)VHmNY~sc^jnc+5tgoYY`UGdl(3`4ghmZm^!Zb(pcsuS|OlfmoQEq*I z8LmV0WdhBq{jnTGqQAb@L2IPW)H(WkIm=5Kj-}|dT=0+z0UO`a8dJT%eBpy#KnEgK|llqpJCHFNLNX_2(W{cxLq*p$WFJuaz4 zB;=kDDvk7S`SF)sQm=k`rr(Z3BRh(D@zUcvc2Fi4>-019HHyEtzr}Q3U_xGhJSp-4 z{ahSlx+G8_uMf<^`EEt+AUdzAv|ep@i|L9$mAw8Vxi_P}+2)%^=@^r?z#As9m(0(v zGWxuMKme0i9rFzbMukwj5;G?1!v^|#(MO&t{Oy{le_hhHqGiM3{c<*Lk@^pOnSz|p zC1N)3EWqR)M@{*tD!kEWP@Th=0kFK8>8+bKo(9 z(iaDjk7z#i=x#4wz=v%AVJA19u9P;gKoF)UWeFE~rPE%M$p=Si?lq!D&-#zrGIRy< zyFchONu}I{Q+LS%yJocLNTmpJ*HZA0Zbp=^yNod*iTlz%>0*%Zodx>-YQJ(0YFHxw#*%NL#05unbplv?Nd` zr3}84wi&A%E{;j+_wW1>bf|5g?~A&Wu@tJ)R|fapPkUh3!fu#KfD*s;g{cjbyjOzN z0Wal0q-~x@&58VTW)7~JKL&Pch)jsmJAGvpWOpK?lTulGHr@DCFe(Ij@rmi7_8)`# zW-(r`Q5jBs0QB!R6Qc3wwD6rNlhZIUo{tYRJP`f3`5;O8UD46qgGwJ8*SdY#O3YCL zw$f@hI=P>qz(oJ^CY|=)VF3Yq(dJ}Ja@XDhbCjvAwBm!Bx83q=WsYH*>G7pxM|DLl zq%dLVWDYOcexzCGl=F3RX`lUp@Zt4z+hWJoy4I#3^$W7Y6Cp^0)@+CCGy9qQv#@U@ zr{{^YZQX)Yl1EIK#aUk00daPBN5e>NWUnkp*zg92T;X6Zbbi?}mYqXHbT@xKN)tIr zcC@@bnXis?^j}nel;ZKw^vQ)EU1Udmrgl4?#j78TZNa=}*CeeD#m(oJkcoGer&TU0 zbd;IKU9QN-te-c9EDc(SbA8<^%PFg$+4&YZ&Sy?fpX%2Qvhd2lr1u zQ|#i;#>%nF5}OrA*kqPlAuD^K{cjx>Ctiijt$wVYtp$Z3`zr*eRo-&2s@=F<-&-Ol zd!3yJoL_!W+tp)YsXAopMQUHHV-L%$;Th4nE=y&Ssx+rxhFgM3sa$wvQJOj~mBS~+ z>0xS(sgmWwfOi^a)F^e~WT04dDn^^6Ii^1bp56zUaA+YqIpbi~ebNJM?@jBUNDSl9 zorsRaJ2xS#)NUF3g{ez5XVo(to1Vm0jARDv?KLN>t*1+n6VlV9QTn=?Dt9wJ_5n}N z#A(8NmfHSJ;q8!M55MTFF3F!g73iR$4%aO$sXMBy3(Ozu{MCeStSu?9iFqh3E~{ngsVNs9%}V@`K<8-zf*U5q}K;7$j4_abSSc# zF3)iAuup(h4L|eJnL4J6L;5Bf6`!fh{c9HlEA$ z@@SD>Z;kFpg!EXhm6q}NcIKJS!;eljt-1D6-c_Dv(|4S&l>pp<>g|E?*!7F~GWds5 ziQuv5CfSt`J6PvKLDl!3F-_3szBT0<0b8xrKvNyI7Imei6%fs>eOWkP;>#J^o@{08 zUeSViv)D5Ovi}Sl`c}<}l<0$9i1nrDly}wj5C=S9ud}PuImif?*$2Nr_EdZ<1B}aIo+h?ao zRf4Wus9Z7X%V>WhbNGlB-|jdmGmROjbIINAhCa02aus)RKpg^BD#S`b3d>ia=LYOB zfbr{{xDdfSp(FC6>4z2*Ts#pLxQhMhh<}C1_VZbB9D4#U`|lFtvb%TZ!Y9b~lH88n zilLnGL}@8E(~7;+&|OsjFknA;ULhS>2(GicqqMeIyaT^*(8F4HKhZc{<7)Zrx= zz_)kcS_YA{Ea6e@L6H7-aNJYnjmdIDrHp+ye&a*Lhm;7-Z}~L7hZSegcq{iG3-^#xifiV%pd?n>^4Tqpw!h`R zlzo3)G; zJz}jS^e5WS(?;2fP3ao=OsZn70I3D@BSDYQJnhSSW)qxAODs6|IGc4f+1Qzo5olBN8Gm&v*_?AMKG~=%iROef}d~vLM4j6 z)rhzPp$jYTe{=co5p%j6=7|25jY^@&$Zy@KMC;i8C8anu#?>x`Mg}SI)28n?2J&;9 zj@793!DnO}R}=R^{>U!A=k%wfS?z(;|6nZLDBSVjYx5b4J}V>pJL&&E7LCm^!Ay<7 z4nqe`L^nD3l$kNCC>sp9PXi3f>wkeX-y2AL{Oam~DyEbtCWimXe!jQQrgnEH<5sX# z$ecIG^tsPvxtGB_3JfYG`15AKTDg9|@TZAX zElwI_wpb+m2Y33J-9dP~oVmr93?>+KML8_;Z^W99pAriV3)(ckz=9S1l9X+hfV%K! zWxrNo?3G0wqphorAl}}(TJ57=W5C)Jclraf`@IU)wnJODZj@FHkn(TYTdBo6TUQ&& zMIvlHjPKbIG3X?g3yj+&uf*-mcjp4Vr2%N;lZDCEFvS>bbf+jiq^jE z8XKtQ?-3LqDyKntDfEz5q?Ez~8kWZZQOpkZm(Yh$AerzK?oF8|7(lRcjN6CZ_>{0v1n`OS; zFmoZAiLPmE4u~qqScDJh?WAyD%Y17OdFgZ>veT!Ll2nNXO7yKRlxrBb;c2*n| z*MHOAO6TsB!+a|(oXacXAd_@XGNJa-NKUTVc}?LLzd_SqF5{k84Pa7}zozZ?O3~iA zz+;?g^=0xLJxB@(Dfd6Uw4;CLZ}&P`;X2oHt7=l2S1Q$roODHLuKtHfd^_Rwnmd)( zMefb_9+^})JP~yKa!}KBxnG$Z?9mm_DdE~s_DLP9nr6g2!=J#TG=gsOQ}tz=AgqAnT*j-}ZujV(uvaZF;mpcM$zw7v#jkz* zx^sm1_H9Hvs06A~G>0A^mPhfBSA(BJb9*F1;yos{*(a1n5M2FJHV7vtCjLf#M_2QZx{GdPwP5iu0KhyHpz5tW)TZ!4}S{&W-;NM#r+hi z2s{|?K9=L{>1y{a6J19wSt;+f9}z5F>OVZym4UA+H ztaN3#+kUwcqDc9&YZ;GlA9~BKr?}R0Pnbqek zbDry!^<5@j!2zRKEMh;Vuxzv=ESYYp$cKgD#I zdVjziUPL0c2^OuiUOy;pC%fL}k6tswwUm1Tc66TEX?-ZtzQIOMC>uT~2`|OwSxc@p zwS(X;ok!VBoZC<5n@D@DO+kG@1P!1}Au{OWG=Rkfhk0DNTc8Jt zn(G=MfZ5$w-ihc@hr5J00#%aW$busP8X-wDts@+1M){DLa-e_1EPj;+nd!{q%j=xKj zx!@{>nLvz zbc`uQHxBaVhbz|Mwt@#!|?rBvat6e?``hsHz^#N_?N0DZ>$XY&C(X z)lqP>w4@}Kh=Cg*MF=jhX9?3B8`B{BdQr*1>ST&;FGa7u!Vq=*xc44+<*QFi3NXm22f*)#AmC zwByt1W?%* zVNkazn%{uR^{%CF@ls;qESL~GMrwOakAfp^mjGEs+D~@(k5onHX)X|*&@-BE7H^GO z(4vz@x(Mn24}y|8B>Lg1Z=M;`)V)u<^kE4fg5Z;F#)Nl@2xi1WUL&yRKGRHUqmMi= z#NfN%d5FfbW1Hy>gSxxrZ(|`9j9yEPngw_WxjPI3I!ul+flGX3vWh;w0K(;l8UXd@ z{};2F{RWDj)}JmmbI`n0N6)glMP6wT#BFBa)dsWmEg8yVxLR8t8O_8 zBBi*htqb?#vbQdD#LaG9*pBNLFS&S;@l=N@bg>;@|G_c*8HzsFaQC2?qYRpXHAjak z^h8%~5dWLaQTNr*NuVKZ4>n~aKxlhgj9DB=FElnYlp1?{6k1qx|7Ja&$AH_~6RPlr zMfX1I$4~T4G~zt&1;_=?@n6H8@5!R0;e15cT6{Ra?!0nrBMPX-1ebbgbsmYw9<>1g zyfN>;$YF;gGVyvT00$w5em~S00*Da=ueon7`49PLqEpM` zvD^aY_F!%tkAp~s_i%D_B$omP=2uQ_Pf9X zSo9VoVInPS*s5?3A{;Qwb3c9je?&1_tV&J5v~58yUhwMugWUVmMyjIJIf!R~#rcy6 z`>npA^(6ZJV#n5$rcPB-!Ir$FR)yaG!Ak=4-qw8qn7u9ga#VwOW$V8Dm(<(Tm%T&# zx9({0u&e%-BhOQVy*n&*ikE>QY@+i1o3PdkDcMr9ur}iW%C;HW0r;ewK#Jcx^msE^ z6uj_q1AV*jr&tI8ZR`%3m0y4wG5`U0JY-w)xdW5y*iDa>Mt>RFS!BjE>ZHZOpzz_a zZvn91J^XY)FaE@4WQyam*F&z`rC(5+LE>G zPcGN{mvPae8GWx8T;daxRU6JK+ZRp=7fUZ0dPx)n@h?te1q+4zudqLEYJyx8<|fYb@pEt!|&}tQHRZG0sWusKz1NVRMN8Vlcfyb zQ9DvSJ^IV0G zkgi=dHP(87i30^(UUzAt+$UsC+j)Mdu$W$1`&fl~aa+fuaF3|>Omw{Gw>Y-4ESu`r z{{!h6KWL8w-B_~$`ZvFPeLpv7-C;3XP#q~OWrVAS9zC!}gL0R`u1o-60Vnq47(`d9 zCB{!(S8t(E{RO$;c8p6>&Ay8v@j^m)uJo(p&SA2*kX?f@`fEI&BB_@SC~5{8AINu4=Z$>{>?M&L{N);U1|XKb#mP$BX**qVI+ToCVd^J+P1ObEBMGa4pq z=@O>s>TUk5D%~@8y2!K775sXslNnkYk4+u+pJ^?0J|lWq(9^ZDros_&Fk3rvSD~z| zW*MO`R#`Y;BLT2W~WVF&MIa#>|t~d>p%HrRyhw`;yTOO6Z z6+)FLxS%Vdu!!Z9i~FXyqMrA!OvnSgOT{4nb!o7@h$*`zt- zXlbi{vv3uVAu;|Mo0A0!~qTw+1i7z4xS$T~Kzj zZ2aA)d82@=-ljL0DJ$%vPcrgch6Yw@-$@+2VfY}`-F@K6~hsi-|OYGYFm7@ z2RbvaDSL#Vy1dkAgupI(f?{RvH2bKg&|W8&a#QBom{|q;i%kdQq)naM1}~KnTEG`c zz^?$xBRvwFuP1{Y+x<9*dCxUIShqRqjk1 zB+b=EvW!dEcjhiSNAtOMXlOpY3_QoZ-vSb+1pe22IHDuXaOMCNvl}TpR52}JTjW@Y z3G0OeS$ZvC&-mSgf~PXOXcnjkq5}U5;|H5BY*%cSn;h~K^cEi8KR!N6%7(Q=DHP<3 zCfB0X*O9_kCEb8FhVu5VbQYVg%`0-(#FO$b@h>#FvH;Y5hTSZ;xT)eyi+8-|SWa~# zjMycC43f|{N_v@fP9;&ciNXM3Zn9D(4*rin(;D)LtpnZhw+v!|1Z6i zSdd~5%l?Wz=2duGNlaQAn~jH&iTHQX;?%_tDgIDWE%nSm^031tLKsMYMQN=WaJGFRzrx6yQ^0q->p({Y3ma;pdYz=ipVs6fjlJ)IUX68Mc%%qX@OT)Yu+nP*_)8)x zrr87gP7PEFH2L54DyW`Hvy9~eFumSuW3Il0d00)L??t7vqSDe918Ysv1FN@a{Vc&9 zDK%RKdtKd#T@&4ZvYFbvWJUp%K$1DBcx>{n7GFc zP|zePC=a*1L?JoDqf+2jnV5NbO^OS;8q2p#c_{)o>in-s*zwVRujTu@{m$BndQH@? zbY%=WnIY2w5H=kOfPve?FFU>Nt-k<#2J|7QuAu{53(GHZMTMqu#D57z7>$qFl@dm; zfTv^IS=YTPzVhU71=T&b$C@myA4XGePm!toobWG!m)P9KW>?I4d9Fxt!DE7!5$Bnl8_UwdV!+F;IckMNrs1r@4wWsDLAPYVgH(tIiJ^Jr`Ir zjKJVw*Yfw4jw^FL4&$+jCUSWc)M-H|asB3EWqn2t`F?{@IA(dKlLA2G2f_gyP1*q$ zd+&^#8B%e5E|2{BMRKjctN?7po1KTcoT?orcpQ)xPDDENAcKVV{;*xXRd#>MFyqV_) zCHT;5SAg-xe7N9kx43fVBLY}s`z>s`^$VheTie)RL&$mO!FL1K{g)L#!tBf&VA8{6MzL=7u1v`4V9YDtI7Dm(tsv@_B2gi`d>qdaUvorI;OqM_B1;XJLC)D zzF_8^`!>GB(~a!&?b|h(g-r*rJl%@OPNc66T13YfB17u3ZBFltt*-7vDqIOOK>JGD zi1&Yv6NU{~p623n)<=MZxxYe7J{{qxuis6bMeF4&q2|=QuUCuWm+`ggVTcojL%@#g z|6)aKc8bNuU%Qv^VEZaXL*fTR;Sqa=Wb}9fin~M;G59<|;ATm{gxpwzeEBM?zP>Uk zB;@VktVH=pRtL)@D8%lcYfs4u;L9A0Z?}*XU7m~!?OSZ$-wAAkry>9FQT-OzmT~rl zgy+ESHn4(lU0a$mJ^^2atS$ zu-Ya2C{#@<)o!Ny;I|A3Ceyu2^p3Ps#OpSGUMhB;W=p^DzAV7~OO^>NUHNmsjWef@$&;Qzv5Qo1FN#4W z%()JI^k}$$yc?K8!I4x|tJmj?Yfo0L*>>L`4q@gy>KkR}Q=$B@g^kA$Uf|)RfXjA} zW{Iv?K2E?CkV;k;Y>YUadK0mmxZbSHQN&W3Ll;fk9c zHCZUW>CZM->aKo$#=?*4J%fpx@H^7L|&q<*#sz-E>7$DY!pc$Y^^ODfF~)=fJQ#3~l^W-xvsfq9-k z@P^Y4HJI+J7(d#+2F(E54oB!jmc3fZ2gmd7@iTQ_ZzS#%fKBkh2;Bs?y6wQ(o<0YqA!Cv?0BQB4ICnSz!mSjKz;pogNKt5C>G{+!5rlkpx7 zGpiQ-6d-9r7dSKmp{*!@o_h?`vvAuZKin~0c@+&-q^4H-v-Vo!U%d54bPxA3;n$^q z9QOd!K9A*QqZ6iU_L9^k=?1!YL+@)Zhy6?7M_%39bmw zYC9;b$>)e)LG2$YZ}e9govo!i>af`NTmaL%VRe51*WWcPpX4A%x7HIShiK3JiuyLA z=_bxKYMEP$oX8F?|3{;`WC|y}xb zi=NQ^sf=5}{n&v9&<~5Z{lh@CQqEHgE8o*>@c!s#oMT6=u=ut8JRsl%LXg#y_-eXI zI#HViD3RQ`MCbqufSi0*TTk%e9L>4>Fa39?eZUX`SLzT#HEJ`O1JLWCryys!#2XBb z@Gxj@s>7*bv#jQ~Z4A^oheIQinS$K7IO(t>;Ov%b>=H=7Kj$)|F_>_;kZ=tE>bDa8 z?5|C-0OCPE2Ff?U-QHOMkoqn4H5a_5wifOrZ$mU}E!+{U2C(`qt5q9`{6DIVT8IMa zPvo?0#@99u3<@)O0cib}Y9bzl+t$@~R7L+E)fz7JZ9R;U7rpE}5R!i}ZqqE$c*)`U zZpEO@W)BQ8Pel?IOt6V(Ed9Bz0NYCX^N<iQI7R1x#^!JI(5Bk0SR zg;@~yj4>}Y#V#duGViSnNAtc*rqmD4Ge<{CVRKdHg0s=1#{2L=pnnR?%&=0m3cZ>t zhEkFxGedyrBwRyP)-?oeJ6lsiJUpmmUy-V_&)hx?F}O6AoYq)!tM)$KIZ2vGYVW*1U}^4vWc3J}x}mm&GLZWH6tsdCAGh zx#{45Imn^!`e}1ec&~B3fRy7*>|JIT)BWq1F=iC410w3LXWHkmr&o-;=DV90FL7PE zpjX!UuHx_~q?rb}yH9wt1_N;lDj zC8$#9l*2G&r>jxS!O*kmMqbM|@l#__HlhuM_;=0LXU9w3(Orlp+uq_P5a_C1drDK0 zKw4Mn*|d&EZKJ@tPPRPqSarRv$7j>7cgsaxWtPhg-#UeGH31o+t1B>?K8g(d8%_M6 zgE~9SJI)Q3N*KW6U)O*=bg4&|aYAtL_{H}^_V7i#E5%aVbaK*k{X<6tVrqO`Wx7Me z-A=3Tv3+zIm+)-P%pgXt3Ods2z~4NR??wq*&XBonS4je(>8=pPR7>((F}65u5GXtO zxL4Q2fa?1t!7iI(Dd%ZV&-9*`t}ay7Ebv^XS7mNui0bX$wwma@@p|Q|J%zCAuk@bV z=4UrgQ5(L&r2;@IOiHL5cB3XN;%DuO;( zAOVx%JZ3%MKcAE8qxW^+B{(|PvpQwK-pc~T!Ypx|oB*u8z8eS12qAW~O3bi%LTwq9 znh2CFFDH9ALEip#PSJT%Ia3O+)4d`!6@m3^@&Gc+A{PIVy$``SmN?spie^qOJa85w}HiWqI;k#cUOpd ztpPi+VIucjs;w1k51cu8((F9xafVkZw&`6F<>nA+k7?ceH{L8aL}+YJ(u*N&KrmT9 z`9Ip(`{*|#mBSxlShQ`Iw^qvy6(x~-MXtqAl_MNc24V+O4fT==jwo2`R7OqXrpHxp zVN~9pvexm{nZ{uR8&E+L*kDZoR@(v37u1NsHxRW89TPoGtP{BxRdzWU%6kwbcMI;{ zqZUk|tTa*Qd(iFC(rcCHSpbt$0pq?vtVfV32R!9nB!Gw4JC}6F5KW!Y-6^vuM6<1^ z5LB{TmV=Xha)1z><>rkr+coL0yUaL+s^^_VvM|ih~y5;a|4--S10Px+F@q=6> z{S39zw}6{S6Z`5tzdo*qM9)eq>P=Z#7q^dRaLpZnuTQHQ!Ba|YBQ+LR?BRjq@+DOj zQp*?|vE`2B-H0y2Gf8kipw(m#=byRg||z>G*1Z%#`+?hgYAmB*u2pqtjEbNq@&IJ znI|Y5Sb@w1zk1ud;`V3E`oajeJ}0a5vh~`A0H^qDn*iU^NXjZ{CD>$@!Ts}ua4G32 z7rD=*4E?<%_Cjg({yqOhtEsjc=2^nK0KVM5u=W>HT;Y$UOH=ny^3O4CP^EcXh;N`m z#~&(NK9Vp~ac-X_zEW6|>aLCM4RK!ynLREP=7pwA{fmdUJ9dn}jg<$Z*FeRICt7zR zTuAuL9uOpE$}H|;KED+HNq#X*&LSG{6~uX>2}W?u<9g)XeJt~GbH#5r zcKBs`Lk)vA6_q)GfmP6@uV^j4P!(kd+sSl(Ic$-1aV@%RJk#f~eeLU9x1{lX`6PTd zk7^&~^%GzR6Q?H5Nhy!>wOd!ait$!|Ag&a!>IulLd=wCq=JuzqF4`qLdrmQTe@FH- z_P2iWl?QFnGo!N){W`NU?3g)ND7ch7@bn@Zyfq6LCD~Q`XsNQXx_K(8xf9-l2i!g2 z=bJM;Q-i5B-sj$Wu^jon1jdLhc4Scf1k3ZT?ndFjx}oCr7w+(sem}9N^6$rvTG0gU zwDZ9hQV{$TqjXuDxsHq^qU*(~3s9C{A>IE5KQ0tIuMRYp;0M?dPwT>|0?+Bibd?Uk zYWD>8xZU=bj`FM--UkeF;|`M0|4Qjzg`KveG-Jl+V|%f$F)2UJOaaF$h^J;V%~mJ% z>9zcPKz1qJ4tnOtAns@49C0 z8XVA50nXuy5Nb~W0d7R7gd^9>FIva%89CBlXdqX1eb{w+nsAxe>e|dNCUi+rPNw){ zS`RfKvqU|pJBz_h5lOp-4%)?EN4wlH&4j7we;|hDWxs!SQq_<0Huu>3|ELUrBWl~q zhR1n?IJyB&=R)y3Jh?o@t~eKAOvnr1^Fozzf|agWbFEBAY(At91osgsQL`xKqwB7j zTE)3p9il|=$)%FpL54d&?dP3$7brP2m?vsNm@|vYH$3XTzwzu`1Kp7btAEiXLey<+ zbiWuys;JwF(B6n#&G&2=;l!dHn`Qyy}@3Uy%?v~72MG?uC z#+hvoEF1f)8hSrelZ!?-U!ai31s!MhF+it_z5tMhE9;5->QH+WY4--Pz#bW zeyflITnhB?7QK=YI3Wj|-QDUMj)2D(5`uw=-9luiMcn(xRTO^?9B{{zAF6IkHK7PI zVti{E-M>n@nK8u^jPMhGk|OzhM()|36;= cMg}ttJkWn5wj@Jyh0Zh<809%oVkPu^VW#U$x z0XK{@3^CD-EHox2E{qtL7=uV~QKYC_UEN);u5-Hje5-qFYQFo`ce<-j*FCqoc=3&c zpr9xUD8bn1)VU>w41^7^B!)BOA#70p=R5{US=b=G#Bhe3gbibHEua3;*gs?J{&Wzmi|EJu3=YzX8Li>O{=f{lgjR&_O05g)%OC?#FHy5z^WBCaZX*ST za-$XrH4Hv!D6spEjoLNf#f}Rz zkev_)0CO{o<;I5PXwEppX^mNs>}wG&H9{QWj=jj?Qe5)P$+9%7UV(VfT%&4M4XBiB4P7 zuEGC4fb1aAX`MPZtcHfGp)g3w!mO$ya3$s~tZp?ln?X_*)=(8eL1KQwRMb^P#BHR& zKtY&>L}@4m1`5K;NRft8U?3~3IRNMq!x<kYQh;hCu|s3;;j?k8~>CUM14aP z$A+%|R>ie&@`nnw8A8;Rym@&-Yxg*%BBY_vGxsH~A6Zb}`b}t|X(;s7eE}H*oHP{r z?Y_YEBMUfbsQqX35cbY^rlHWMoTm|A9loW$bvj;SZdt|v_uGhQ#kmadx`~TZoXY^; zTj&VIxeN$!EVMY6QG*os0gNi3Ek`rJ#j%FfP$#a$7(e^!hL`?<$8i6_;ONf3cC5RP zt>_7yR(I-FL!G$NLM&Of%hI1u`n1Tic0KkWD{edm#DbT7S5@Yf7PuLO+ za9vxAQ=H2XK&y&i0Af`H0}!hs7*$A76~U-NqN)f7MSTKSMPP!fA~2D? z8JuWi7Uz;3BxPYEX{fAe5Y;8w43dbjFAvO#x9?n=mW`>OCmha@nXt;Lh&CjKGi2sI z)Levb9$!wc28A|_FggEd&;zjN{8$?j!x=j5zKVB0->1GE2|yl$BrD7aLmDbi0x=79 zYmhXB$@xb+{Pi@njPjKrTupc*1qKiIjXlk2Xw{Vb^Yu%RTh~ zXg$;zXkV~U7-ZMo2Y_Pz#Hq#))~uhpxQ)UfX}YgXJN52^<#M$8)e4kO1sewMMhXn= zxnC5;lQY2bgUi-WUmACno}c^Wi)~fTQ)VdEPn>d6GdHtnq!Ul~vth7oq`**5TXlzJ z?>+z&ukCo>Lrql}dXDl+gRz_1ZU}(=vA|)F(5wgRlTr_W_X#eZZ`muT-z;jdpAts` vKxcYIWJoLwrz(QomyOZ3ETcR~%EJB!dXg7?R*&$700000NkvXXu0mjfd-^Y7 literal 0 HcmV?d00001 diff --git a/addons/community_classifieds/static/description/banner.png b/addons/community_classifieds/static/description/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..01bf820eefcc9e88354e0131645eacd4e1aaf38e GIT binary patch literal 19701 zcmdsfcT`i^7w*hhP*D+77^NvHh%`s(C8)rlA|N8YDk366=rv_Tr56!}k*bJ-^j-rI z1ws)*5s(^4fY2eKC6MxNKu3k}`{TX;-de7u=G=SkIs5Fh%eTLC0P4w(Zz&zy1Dn*B`(y-RhB6zx{R%aYgmwP0zULevi24i-jb@{O4wUZ#~rm zqJJK{e~3LaDR7?#hp2GspC*#Ix1L#K3r;nZ9 z)%LvXL!R5{GU`Ll)JxvGHa4S*iT(3l{mN1O)}zo$^nSVJ?!&&MSvC&zydv;N!b2_N z_XNBb@W)=vB8Tx4dfqus!f^dJxn?fWwVx0?c-E-3$IQd#cQmfQiz54uFy2gv#zCrx zYwtEXwVF%l-=W4nI#zf5?FYGmlUb&Np1j^XsMzWktUTE&;q6*;tq|plyIc@gOiMoy zMQgTd!X#&MiYoJ_mw0ZR9gg%|ZJxS)M;$@XY2**oWD8FAhX_)HCzyW<*_20# z?Q5FXu={UZ->2;a@gs1GA`6&wSA4q7cO<%VlZ0_3(c7YiFx&sS_#tU@S&jtr7O?e@ zSW%FPc9Yj+HX2sbAx=^3 z_(^7ppn0a+w?>KgIBv6!XkM+GFSm5kRi{4AMwvdPvU$SdyvH*UtA%V{rb^_l@_Tc0x2XX7uVcMS`7AX%|}_Cb>G7n>jK2RDPD!a+b4*c7^3( zqAN#nwsQ&d=S(baqwcqAW+b9fXy z-A(M0e0*#2L00ws#Ve?ZQPAY)3k^3Z0N<@>urlU_Y<73^MTa{&xI-|+=4;QukVghj_{V2oC6>;#r*367c4aL+hNy8U+ z%lFiWw_3Armd}0@gqaRjzf)QS(f6S0DxF$2T9lq+*7F&+NvF{2w(c3jaIJd+Xd1td zxZ@Ba>*Y7Q`@>lBfS+Y5hF}C9IIo^5FqxO$+>OMA6+!(!hhJAdvW5W`VWYJLw9|9= zb@`(gCD6lu{pZWS8R4Ilh}8lssGmA~3-Rc1+O`J8(+ccI0n`8U5N^nh95>GS=yieF z_-_0=^4c)xBjm#P=CR2LQ=D--L?|p@OgCE;L7m~(C68)?oNaaeYJWApvDMGGMGZ5y z-RIdPVZi-*UE~tQ{(kD4ulaeG28u|u0EXe%CQHw7KJ2@FkIe!b{GZJt0QCDUJ1Bh1 zMzx{&JWD6GfK8T<;V)vU@Saszz5`5#YFe6HgMaX&QA>~{vERt-w?O<`+mtS!(ea30 z%A`yI!))I92VM1J=yCQ~Xg2XXYReKEtnZQmwO=xD%2 z0mh>AZsBwn_+N&tv^@@bw&-#J{cW&92N7TcbCSkD%Y9pW+9G!k!w%WuFl>&~Se~8`Dw?c$Kz25Y`z>ClBp)QO4~hRGN8JpDTUQ!Do&f3JJzH zyzL-`%viqGM#VgZ-UGb<{-d*AnQT-JM~2lL-h~WRFzoA({1z;{^+ZBPoHV=+rkhp3 zR2UvyLyOQP{$nEbf6Vs2P|qfWbqoOg2Lk<{Vj~^G2&g88NgZEZ+mez4^Tzxurv@2o zS!Fsd`4JckY>=EJ8-pOWA1(;jnj z4qziMvq;42IWL<_@dgk3%tpDL4oZQn)|qpw4I@Q@`7HD$ZB^ZjRLzZbT!%hCLoH|8 z&fKyf<&90z-00-AvE<4{fpar&p7}3lb-xy+eI_QQgM>?M&_{t8&58w9)1?sdBcCSN zPGNLAj#;I=&_7gzEH+bdVKYA(h)&;g6no>)Wz#zs^^zqyxFQVnIWmP5D@U$l

FZ9DHf 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 literal 0 HcmV?d00001 diff --git a/addons/community_classifieds/static/description/icon.png b/addons/community_classifieds/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..11404c2d86af17444a68c5c2e7bc8a709832ecd8 GIT binary patch literal 1744 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 Ns>&KlA1<5t{vW_tul)c3 literal 0 HcmV?d00001 diff --git a/addons/community_interac/static/description/icon.png b/addons/community_interac/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8c442c6c00b69a0b4f7b90d7d14f3bea85992932 GIT binary patch literal 1757 zcmV<31|s>1P)F)krgD6P#im^z;WWFh=>9W!A@ur zMS_A3BpM_T5)D5cqM-l+NJJRNagYvUiiw7~+1cIsyLoSC=d13<<8QzD-tO$%xp#Bf zGkXR=K$c~YgR;@6bB`Dz5Z1zy=*|#_uvYn>;}|4mVXg2I-5FvM*7n8q!MRao|A;Yh z`Y-XVT~MYg$Nglz5>gm+rWQE>mF^c=KYsG2 zCWFUDT!#1G7*P_kFlf?t1;E06?z<*~$3_YatnupH4ypanncKPyJOJeqCF>>Mbr}3M zQeen8N|6x5V3USIa^J8~x(8f2HC)M%9oRdl@BZ`Czn~A20z)M&w;livpIs~I*-GyB zf>xY-mS=}bdbU7?iU8!flKXbF`N=2WQw~5r<4o?m(DE28&kiYjs+Xh1 z$%p{xU$jRS@37b6MZh|@N{-PZHNj|W zAxwS_C|TyL?;uIhF3og3`Kq4-Ag!|brscDcgu(#yR83E5DGSR3ttuk9&(M{I^3Qb} z_~}XjVK1LsXRqHoIlvncsv?@{eofAKXDv^zH(+5rWl~96f(mYPYzgJfxw}F!wnwPxp&&?ItwWG!&ZZJ_C;d zP8tf$cAw$$bU#iSs(*|ILf;w7G!&YY^Hk#96WhhNM(3-~Ez1(X{4v5?ac%-wJ;eDb z&P@Q@M`#blxe4Ilm}_xvLJ2}V2P6~$Z853zZ)+WUZs)H1wjiqFFk0OyTMaeh3Xku8`1|v3))$XI*ta$N`un?=Zrqwb_5ijh z=(E)qpC0MkngPI`NBbYTzrC@si7UxsWwTvV_W|Ii-#d?t_3^h;<2w<> zfURS$#kq*s_!nD&0JP<3M2zij|9G>*UT$^F2U=A`FtCRJ02tptGQMBEgEkgS z*VgZKRuyq@enp=lN=#koxSX#ZzNFXW7&y8QzLuk#83R-Ids`K8aDFArvZ7!2 ziwrJzU8&JqRRnAF@(Zs480ZK~Tb3a+q%F%37(}Ek%R)0qNL!X+x({i~GIWNtWf`)t zv}GBxu(V|vvaqye84d$S+OiCRK}6cJ4AXr`Tb7{te zqB}!m?nB8<`0Ct_@M=(K!wBQ^j|4dYlMAc8km$}(YxhOG_D+}QU2ozTBw1lfDAG`V z5wKaPUW245jL$#P=`W|DdF1Z|?rPi{DKJ>Luk5K#LyPVN?rPi{DKOa0JmTqJorWGd zbDO=ma%$M48g%ah3sX)$)oG~2#bQ8qkYt4^Cm*S&A^^MxzX+iFIx z&-auAAoUPqAbr3>VUTrq9{{q6eWR5JmaIQ~c8$UyX}T{>JLT?!=5n<7(F)`)1sw+K zMhXnQb3eg>>D*wvotfPq+`GCr^BGxNP(f8 zw&)2<-+chcCZ8O$P*W6!h9keypzJ2LD*~W@E~GGUNY;b)MJWfs`T}RaZ`mk_pDaqy zpAx$QKxcYIWC$z_rz#@3&l|mMSw?w~l!g5VOQ|K~qkt?300000NkvXXu0mjf*~>cR literal 0 HcmV?d00001 diff --git a/addons/community_membership/data/mail_templates.xml b/addons/community_membership/data/mail_templates.xml index 77f6f43..1eadbbf 100644 --- a/addons/community_membership/data/mail_templates.xml +++ b/addons/community_membership/data/mail_templates.xml @@ -65,5 +65,79 @@ + + Membership: Application Received + + Your {{ object.membership_org_name or 'organization' }} membership application has been received + {{ object.id }} + {{ object.lang }} + + +

+

Dear Applicant,

+

+ Thank you for applying for membership with ! +

+

+ Selected Plan: +

+

+ Your application is currently under review by the Board of Directors. You will be notified as soon as a decision is made. +

+

Thank you for your interest and support!

+
+ + + + + Membership: Application Approved + + Welcome! Your {{ object.membership_org_name or 'organization' }} membership has been approved + {{ object.id }} + {{ object.lang }} + + +
+

Dear Member,

+

+ We are pleased to inform you that your membership application for + + with has been approved by the Board of Directors! +

+ +

Your Member ID:

+
+

You can access your member portal and download your digital membership card by logging in at our website.

+

Welcome to our community!

+
+
+
+ + + Membership: Application Rejected + + Update on your {{ object.membership_org_name or 'organization' }} membership application + {{ object.id }} + {{ object.lang }} + + +
+

Dear Applicant,

+

+ Thank you for your interest in joining . +

+

+ After careful review, the Board of Directors was unable to approve your application at this time. +

+

+ If any fees were paid during application submission, a full refund will be processed promptly. +

+

+ If you have questions or believe this was in error, please contact our support team. +

+
+
+
+ diff --git a/addons/community_membership/models/membership_tier.py b/addons/community_membership/models/membership_tier.py index 8ed1e50..746839a 100644 --- a/addons/community_membership/models/membership_tier.py +++ b/addons/community_membership/models/membership_tier.py @@ -88,14 +88,16 @@ class CommunityMembershipTier(models.Model): def _membership_product_values(self): self.ensure_one() - return { + vals = { 'name': self.name, 'list_price': self.price, 'type': 'service', 'sale_ok': True, 'purchase_ok': False, - 'invoice_policy': 'order', } + if 'invoice_policy' in self.env['product.product']._fields: + vals['invoice_policy'] = 'order' + return vals def _create_membership_product(self): self.ensure_one() diff --git a/addons/community_membership/models/res_partner.py b/addons/community_membership/models/res_partner.py index 9ba2e66..09744cc 100644 --- a/addons/community_membership/models/res_partner.py +++ b/addons/community_membership/models/res_partner.py @@ -128,10 +128,31 @@ class ResPartner(models.Model): def action_approve_membership(self): self.write({'membership_approval_state': 'approved'}) + template = self.env.ref('community_membership.mail_template_membership_approved', raise_if_not_found=False) + for partner in self: + if partner.membership_state in ('none', 'invoiced') and partner.membership_tier_id: + partner.action_activate_membership() + if template and partner.email: + template.send_mail(partner.id, force_send=True) + if hasattr(partner, 'message_post'): + partner.message_post(body=_("Membership application approved by the Board of Directors.")) return True def action_reject_membership(self): self.write({'membership_approval_state': 'rejected'}) + template = self.env.ref('community_membership.mail_template_membership_rejected', raise_if_not_found=False) + for partner in self: + draft_invoices = self.env['account.move'].sudo().search([ + ('partner_id', '=', partner.id), + ('move_type', '=', 'out_invoice'), + ('state', '=', 'draft'), + ]) + if draft_invoices: + draft_invoices.button_cancel() + if template and partner.email: + template.send_mail(partner.id, force_send=True) + if hasattr(partner, 'message_post'): + partner.message_post(body=_("Membership application rejected by the Board of Directors.")) return True def _compute_membership_org_name(self): diff --git a/addons/community_membership/static/description/banner.png b/addons/community_membership/static/description/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..d7b29ca488a838dd328a1e04cc1c58092ba23f5b GIT binary patch literal 19152 zcmb_^2{@G98~0niJA4+xHAwjsNw1*Y$OEU3JZQp7We@pZnbBzJK@cKK{4Vm6`S&+4I+5e=(_C zSJeFLuN}w!`fJ;(f3^d^^eBg!{q@(4NEO8^cidv<1}tOmEOmUvI9ggnT7}HrHaq)S zZ-46B`vDK{XZZU*JZSc@mo4ZB+qZPRzdUXp6xZ`R#s1R!pHqH2**pUH_|NH>y7uDk zn;u%OZv_6-7s3Z{#L>!Z^LaeU5^)sG`*(tTx3WwV4)_bhvSsaZi=P0+Pvqu-%dl&| z3ObgW0zUwM!!Ma+u0L2CE2_8l6Ue-gLumb7u?fZq+EXCoDBR9ET6Z!T^*dAY`$`u@ z_j!wHCdZ=GMrwBkcO@e1VJe1&UoldPk~V+yq%7{d`X9ZfJ;>ReDQa=*pGQUt9iF0` zC+&~g9nckd0^296&iPHktjx*>%KEy%E!}X)jm!NgBIa8-OtF%(feSnwp|%-y!u5t zZG#`Ig!KB`Sj09j&)|nZST-X&-sxH3W(ATst!tdLGr&XYYL(;0a{gS1m=9xPCYc4$ z6Aw1)7fdCnrmoP`UPHNhlRg7;-BVYWvt{GU(0r$|Tf0sjN2aWA>g+R*^&5;lZrsgGF4SL=6fqt|*bPXWRNy=U z?4Vzyi+syrm()Zy_w7t=9c?hkOkUnmmW|fFN+})Pw0%SkUE0o|gF6m@vKS*Wbm-_J zhsoit)QGwhm4-gWM%vp<62GhO_l+HliZO7>uv&OuVWBMoO5B-J3)LE&dr9=H*}U!! z!iBEd#vsbhlxS#Jp{I5g{pXNaF=?F~+xyyA2N&?B+A9yEbB&z)Tn6?yu1SK?IYF3I z`kzLfke=FLb8>%g4vF~)Q$=TwUQ~zGFiez_`0Ol-5wYp>$kdCIdD#a`EZ9D`VoigV zrS)WUEBi~a9cN+_X_oDm-NdI`AKlTdmO5Q+cF)VD*rqr=L+2i2&~Jt?*zO+iJs(>^ zi5VRo@i8^(IVK&p?)0nJzR4SY-?!xtiIxU><}DEG(^C0UO8Xy|ogv}Ms`64Yfe~yT zsEPlcS-l==Y_lS_^{Q6+ZOMeL`m0rAEkLK(Q_u3;8s0oMwLS2Dx3WFdZQ|^kEH_N$An4S*Y1TWLT#&+V zhX`Qa@7FM~3w3TAtJ<`@b_Z@7ckB#syBtO5b0f7WUrgG-r>Is6Fs9ygLI!os-80k&O7XI0IdY3$Y z`OIZ~&E6xo91KCZGtM`@Tn*`;Hi0M7tmMakz=wbN&INyFvhi4M;&`Bn#o#H_r;Z{M z_`P7-a}U7*zdT2<8ndr^tS@YsqmQ4FsJF)$7G7ZGIlXeE`TWM9PVYkZg>z7{CB8%( zq(I2eX{I&u^+H3bkFOk;_0_4hjgdBj*9Q$^qdf#uI^bRkoPbGJWn5?|@TnY--8ko8 zej~b!u?UXq=oq+>pP#4o!j1|k`n8vbu!&rmMb)pgb5oNa%<7t1P%N^!R2o_IVY^He= z7Y1?q+^c*;v^7gQ`-&}4K6-(U-6QmyMRYA z>$FRsl*8QD=z7s6PSymHgVlW8oZ^FG`A%o#!zt)omfC1HQZa@!>ZI?bAItqj?=e2@ z1gI3;Ga;n^S`KRRxY#x{UtZmWdW$#o%|k^I>2rCF(`CWX_J$*EBGRhMkv$S(%m@B{ zeZBe;`M!be!3&qF&Dz578tR?jyxn*Q?9h`}Jl_?DuxeBf7c1}U<%{+RhebAiQnsGY z@(|ulUL6DcsU+Ug$B-UJaUArbOd{g+3Ar!wJV#f$zIE)dlFExjDSwmB3xnCAJ994L zYQ)8{n8>L+H+Wf8pkp~1A1$U{@`|4;^w3kAKf!^kL4%{Yojk$#G;17qB^wXJ-(BrL zhf#jsMVSgF2wS$Nmbfp>)+Je2@ueTmET5PV#$Ta0DU+VcOPs5&m(UE6Nhrd>dc&n^ znFAht&Bf&EGP>Kb)W|iCNF8?ageer8qPboUcr89`kX_z?(ZlH-KItA6!a#iy0(d-k zxR{B$r>J-B+^&ZBR7s?Gc_>R53h3oJF0_qYLpIvvm?*M?|2q)soA61Z=dJ$u*UiM?Om~1WR66L z7M;M<7AM(Uv>B9-9*0HsI#qmPSeXoP%4dp{$6CPszyzhDG6kFLD+^OyOvs-8XpdRr z&_okB;H=piblYtYK)%|mHEG{WV81vQKFZ>8jS(LA2s$6iz>m<7Jt;Mj*3RM~Laou2 zIgSYNvmE4JEq)l19?CCYD0iGu?&eajOg6ETg*+C8KlvKl!jXiy*7>sfO0goon_tS= z7+VYHTkaQe=slj*pHVCG*hehkm3rL`uCZ2D9Rl>OSsq($zA|6f0qe%O9GE~@62S}~ zy?0$gySK@;Ge)dTeK~mnaF!W@L{$^O;oMIiepu*>(wRDW<(P?Q7<*_VR|H%hjlKY^ z6_P0AIlHh5Gl}~%;bH03Sk@Z1Gj748CQq+B5M-2~$zaJ^{dOGA-4+PFOf6|j0W=I`s zb+zr`!;W~r@dNZhyH{f|+Icp9--dh+%LTe-mODx{1PL~A($r{{i8H2PE;hQ{&ayAp z@lK$ol6Ph``HR2;Ky?n87A;lG; z_+bK52hmj;ce>c)KIb|?t$Wt~`YNG4@8qJS4xyQ%!W7@tzn2=gYklL64t4c?z)hej z-9zt1`@bkEuI{xmvC+9cZ<-qn&2xSRXva^>d%zur@n*xeojyu)YkjIbj5(RtCH8bk zVKt^-!T7Tmr%|0k2rD*k$rt=KOunc0ZaoI z)PE)d;yB7q13)a>J zdJ1*Ntn6K^QYf9_B91@-0ANNadhcePk{Xc=*U$8`ynT#Lrv<1tkg}0@rNQ6Bo(-pz z_3tZ}ID{7OPSR}+tBkY+bk&!R9s`18S`aqMY_?4NEp-1LQ>z<;r+_UY5+?;K{P z?R0vd;&-d3fp(if%G_-GWOmcCtMa*uEBh~X)7C6|z)A2cs(v($E!a|-FbZEM+N>45XSLf5&hJWkz~jsz}awDmLJLc?l) z0M*{W~^98Wk+(LRD!RknOaOo;>gsjXaGcn9ZYajX(gEytK^#;btFCIlQ-p`m-r5Zr+kZ?+sBT7_ziQ7 z1{+xRnd9g7Nj+{-@H(HFp6(S=T9RHo20Otl_rCVID~A_pzC7f-9rGcF#Wab2WVdB! zSEa=CD(>Nh*Ec_TAM4Jnqjq#vR<0ISFGcRhb8g_lP&QOurfKd-+iuVrstfi}KkW2P zI}&+YS67s`jlXGS$;9vdg-Vm zZbu(}x^!TlLBA*Qy=x$)*zX{vncZl)$?z0$Ifh4#R2LUwgG?dTrZ|;SYCYoJ?_XPf zZyD)JYN%Wlk$6H&+XsR{Tr_<1SDY`d$m?Ow*DcqMgd#C~-pcdQWF~MzS=Wa?I9LOK= z3hb5Csyae)S=48?!?7M zj!L7mjOyK`u6S)-qp99dS9$U`#wd+Jhxa?g>;j21tUbz<*)UPYqjEpR*?}@xJW;L# z(qLv;$Fmu|O~Y)B*kKssW!Z^1FB{%?LYp~M&CP9kn8+Npu+YvZDyyy7o10RCjz@$@ zKAc=gc`@kOR{@uvT-4gd6}s|zJ5Q~Fn$2ts)eGOZ<9V#xtZ$^@xwCkMt{|94i$(yE z%Vk-fI|@5PUiGWy_ViG52VZk3J`g$qErs=Ec#K7I}hgw%f>6 z#9s6k#r&eoGubG`_aF+JH9}6d=?M6v-_6*wbEE)`1EF`MmR3{HC&QB5JV%yvkt!cs zxum`{fgPSQr#-2xZWX-dU9Erzp3{)0IE;l$PmIxI`8kUtuwNZCC3(g_VwXXujp3JFs^XQVD~_ulCNz*e2;tx79_vSp#C<-d+RA45ws+J zaH+e8BlcEb`ZdLUGK;#ox#GOokw9I%^b-k|9`x4%i;@Ma8eP&bF#)i7j4YQ%7fK)9 zEeiOcwGx^9vHJRc|G#;$1hY1gBJfwoFq2lo1Qh19yi)+SK!VNcHpJx&Nf4Jvj3Lz)*V za?%_ST2jUyu>xP}ELt9S1a`5I^>th=W#UangC9b8v?zxLiBmrlcMJ_)Qk{9niJ}l2I#DdOwc62MbMdOCvcN zB@b;Lxm?-rL^W5XUUv=CFT>wV*$w!}oL|bl$Dn3xbdq-o`FbBkZ~4+WdhNka?|Vu8 z9LGXj^qNKQGI6|g6QOU&-fZJ-kLYGl z-yIg!8l2TZIwn2e z9>E_<2UF>YtXSKOSO0)+(!|OD#Cu+=Zgbl0b=uKPQ`*k{6DiU>G@59fS^nhm$2HvQ z_efXMZS=SifPY>F@XtT_6objPhARsGZZ}IBcioEn=12GYTRUrM4$W z<{+caf6Sks(87Qsor}Q}xk&(+iHJGqRS3WnlpR(=H1lXA$ce!9-kI#mK&ic}Ri$n0Fvs~^O7YROf3>JtA#_quu@cQ7pM|-`%W2=RrAkwYV{qX;f23JM(<$BjO>_y z#puZXTQ~qRZk0>)`}@i*44~ED^G?6mPXOY0?UOOIWsdST;U&O+*do(-ZNVJS+wYmQ zpCS923Ezn^H`uaKX$XiSw#u5mtjd45|C;-LVVWndT+Jt|pp28g0&%Ej;Rr%siP5_Yj_QNFV zWnT4=s@y~v02(JTRg5~-8qg=3jE`aA<%ProA74gHJ3G%W^su#wTp4C!Pc?^zrBgl{ za8D))^KSx#zHML$bow>jz!KH~_@^VT{m#WcUU*KH9&m~p(w)r35+#cYck?9GAowFm z|1waPy9${lF~gRYa(K;^YF=JujnbKceEIz>p+g^|GGvyAK9na=aUwG|E${n2AU++0 z_+y#|SLXY8ECxl!4}db3zJAD3o_BQ6ioCA;K1vIoeX#}u9pvmn9h+zlRg*t9;Av3yNTtXQ3+ zE_kvoO9)Nt}lKD(r6L z^^?F)kt3qx`cdd8MPB=|S1i2Q!`C?X%ArFnq|4+j-`Xy?u5_U7BU zma#!a?;1+r3L}p=jt4(+JHe=9YhZ`;>?)Oxmsr5A7OmR2+lUijtfEq=+K3>{lJyi5 zkSEdF37~{iZ`X1kY}Bt>`CKb8VNx0GQ=^H9^t`I%EWO!ugZZZZbM8Y)eHI!C#IoXq z>rw-*@BzhEd?4rvMb++L!L4Bg2ux~YmT~S&otUug$>}?RitmOI`D2`sqZmxnO}B@w z+g{AY;SW50mjGFL^+*GL)}sox%@PlpS#td(D~o%oVwT`VDpZp|M@K9&RUjxcbr4HC ze%Z5+W>cqda$qz{7T>c}8(_PN#X+2B+lN=BMWn|jbK0h^L8xO*#i(T1fyj1oD_IuvV9w7Lu)g&F2h=X6V}$L_K)^W4+O5ZCwNNp-W`xwDzeP zQEHA2I?W66^-=chu8tNmvkfv4h)iWC8e`DbmuuxXcpVm4h@`n?cvn|PK((NwF}kEK zuSL(PWU1@YQYs1hNu-&2)U4~I zu_t~&JWd_y(Wj6h!U=87?d-CvMghT3ldz^g1Jiagv*k_N&Q&+~ikF}J?9VLkINU6l zUNYPHbRzZ@$Wl$MVX-EMhljezg5UxVeyvNV;L<#1OB_|Xl@+b5t>dH5ns*NkL*woH zQK*E&7u^Vn%4h-J)dN8_c5qCFGPi4W)xbr4$24(ZiM15(i;JU0Nt3Xrk+S5FM*@3i zBZ)Ox(b0#sEM(;UIfWMiL*aya)vIa=u zeL_%0r~ZT`N8q98E*yp-A+4CA-($iJ>AijaQ{yGb&{)nVcz>w^vA+pMO;-jif&(T> z_mSrOyW%U6OAh3GV@Fr9(0+V#DWqf$U9pQ<{-m^$+T*G>msokcmI-aa;CsEXI0mK! zT)Ch)00cOE%VJ;xMpjgJ4PDx$4r&-n6NY&y9HO0Z>GiIe&B_~TLsDl+p1vzN_q<)c z9a7|g{|C*aJ7>fp^PIe5uASDFhHlfWA#xrAV`lnTN#57$ACU%x+h@XWoIHRo!QGPz zx9uv;E8{y-ZI;#TcbntEV5#e@4ScB`D4h;^B2ZMqJ%Z1_)*_dK*=N`B~b ze}>veP27aY{?Mr~%LGtMQi$BbgABPo8L@f)U9#my+s@dS0x*)o-q)yKGMa-HbGfXe4cNuhtdmE?tsR+6Q2&~VH89mS+% z{Ic{?y|JL5;wPC)MvA4YBQwEqQhwF2o(v`~7c5}%`_F`VpNCZAz zLJpSA)&k_FJ0ZM3RM^9%u3p-;vsJJ$j@;XPPe9H6@ify3+d9Tmx;7I_oXKmWUY89={KfCs{5>W_7nhx_5*ZPtA&^$4U# zShpWMTrPnup3iRSTbeH%+%@xNS#sxedlITTM%0kdN$fI_vnU>v-D7gUgsF2XYk)m6 z-ec}Glqcr!#Unws`DV;4J)jU{yLw1UmT2rb=jGiyhz&7h{qZY%4DX|CjVx})X=xc~ zX=$~?iQJH`zK7q~G60#m-SH{d+$2^Q-;W ziVk^UF4sPxTOwxXH1MU4v2A>m{My&9G+!aXCR=y5JE>xU^Mx=NN9KGUGLWasOeP4Y z+LU@V&}0Uh_slPau>bnZ`5etBIgjzY@G zaDbo0p{nb7c4HREtQ@damt_Ul0S79udFNaoA^}mFORJq}AD><5W2ir?sPf~;6Bl~xA>hipF5O#){r`vnHWqSR#_hQ0C8&i>_)zqIob z(sHX_;WS7<>O{5RS^C#3>f^Ky1>y^iy_cvTb~CH35`3C2&gb2xZc{d=K4F6FUc(kO z?~(M4dOgXvD0@xq#T@_&>f_Q4 zig{1uiC$s4DGXB_Hft)m^-m0;`n&+MY+kyEu@) zi~&|qO1~s*Ei~NB8fitnS|clNrl(8?Rse-C^yn$cm(;sy`Efd&mgx}ILAqZ858mY8 zgYxdEjo054n;~W%BX)NIX>c32O*w0h=l122oLUNKr3S-Le{WII9ge{_7Z6!bq>DhEtv zx2B6k``Wp0Js-XyM&YelDi6Svt>^P)Kk~`e9h;W{aO#$6d2pz(Rz!$Z-bwlkG9EEC0()s9q!ma+Ya$h$q&JC*LudJS9 zurlwRQe1I#)<_bp%^}o3H9Edo0{ae{eB8ya6+#(+t+7 z6q5iMzQ8u~fjc24pSV4a^Yg-yf|z_uPO@@sX-U|Nxz~OIANkLq5<=A6PoLq9dHhOh z>|ZybGc|7v?IAYlkdz?J9sB$dybco|xW6=S~eBF^|BUa3__HPeJxGbo# z{T~+;u%+sdzP7&)weWtb^ek)k|+4yd14$ z2RTp!lXbi@TlT0iO_k*Zw*NW6_xS?|4^QA!D` zf^9n4-oCj|VKq5yhDtU%i;t^bQARW!HXx$yd6XwS#i7ybMrBIia1BIaL z10zMp(0x%m1$~f-1`hB+|3r!WI>V9LuxSd8*26<%jj$k@B->t6x5z+P6hJpuBzuOL z;Rb_ji&e6zau{nK{rQ_Gy~`wWMV%B)l;l>eR#*lk3iI8~bcz3+i z5Exxs#NCkgc>gS_Uk6ZLU;$_A$yMGTP+J?<+OCv2zR0Qum!XtD zA6*2w@i@igQ<1Am5JWDzum#($t@;VhK38aO)&E8hAEY@@{Gm!CME1=}bGWLP<9ut$ zapJO;t_bMCH7DRbDc4uU@qua(*=X|QZeo@67gZBi{efh`8YR~b3J!S%y6k}HQ4KDI zc}fW@qoWF(uQr4P>|j~3w|_G8EShyWsL2yLU?upmufvZgjE%zM&O zDMTUJcjs+wBxtJGgf3XEox%m{zXoMr3%15L;LE~JaL7uX==6MlXJX$}aYAw&#@(Os zz7k`T>f2}Q?}P`=GZ=? zDd({P&aJ#+%a~|`=k0N>PGlXfu`B=pFWC*Wz)fD^yi;%Qc4gGW3^x}+LloGt6qMf4$Y)McP2F?ulBDKQjvWN_S zJm~!u%(D-gyu8l#Ds_8MCl6d1S6IRv%N;3wW0WlAdc8}?AZ$dXhO}2*@njrT4>0FI z(M)v8hpxM_aU~xYF}h{^GomIE7kiE^wM3RB$F&)_sE{*HxjDEvO*Z5*EY;*7Q{fiw zjeV-3@G||WNOlpU2a z)bGq{Dm5Oq7K1Yg;@}eUjgFP(9JRQhHxo5CcGYP}9`#+}Yksg6um4_;{|`agQc8}>{b|M{)r$PCKq_=A9cDb!N==i7kN{(ucS5U zYRG=Y)=)s%Y6V-KzNm8Kcx$g^r7nFczHq7ou-xrCP|HW`n+*)feyIAE|~|3L%)!EZKOTMRdeLk7$b zoHYaKhNp@SpJJ)TPI&I!EIlQN z))XiX$^PXuN%ZOVwPHpac9V8HhY9W=$-z_UhLVKS8H!yd=RLbFIU^~DNazNu$ zXawT^1P_<|XAK9HxWIypYY~(?$vvzCXG_OhQ8QG$!ospZsN1{GqL4YC$?C9a;7F3T z@p7uZhv^d#q1vNV8BbWJA1Qux%hU6!)jKgS_s4_9EG&iYh7IQAnVD(6@Q6_S*a~Je zA=p2`-nzKHkAqSw2b@~Q#)pioI~G4bbza(?Yp#+Kd<_@+z?7>$$VS-gq^1M86J&Zh#Xo=xT zGxDl@P!R?p`&9d}M#j4KwenDcD9Uq%%AH&Vj`x8{9?dV8%)4#8eZ6v~S5i(7k~?t5 z{b^OStkiMd5)GSzVVi=LPW_p3h`++>j2%JKQ?ruZI+ z&Pp$zljovC@(>(h!aIU(wzXY&OMLGh$frw|GVEZax-6D2<#(YCA*ifFjyugA04q#Ec9ED z8Tqk!pbTJ8A}Jzxe)g2Jj~g}dKTexPrCjiE_ z=RIqb$wfUGc~4?-f?a1IoYd0@ zD__)LD=y)ox-Ml_om0 z!wCcF$q?d=x;m;yroO|4o}G2m`41A|r_*+S{5{_un-`dGl!k@F0~vMh#`o@$$V$$8 zWDghplWnCQQz=1sY8sxOQjWz6>6t^U6tFp0*RFvnH~FlS@-d;Ud}m6lL5`jN+AT3- z!ZPyv>v2(hqQJE*&p+7wNu{SzyL63f6Gj`i;&!PG!nS5;(e9hr>OzjBF)UDpvIW^p zvvAaRYx)*wjE14mr>SZ3jRG|&TQ!c2)@|MRaV+bM;rn+qNB{SN0zeAd%G|ge$zJqY zv}p3NjR&rH`SW@Ser=O|v}zIYH9o?x7-7wg;Jfr2boSApy3KE#-iy5jluSv!ZQbDe z{@UGX87xpKGJNUnIGy_vG`mL=4KmAJE^pq?N9{Bv#{hyyIp}ibMzPbcydlm1#sGpx zIry^gS{~pxiz{)OC2;kZA|I)on;v)+<3Q(6VI7(N5uy@Nw z7J}H;Os#jAth@PDf@+wxdrqvilv1~?-`SKV{QrE9(~9@l+8t23;}o8M%L=4ke_de& RZmRlAMM+&T{i><={{g#h(5C6a@oS8Y_>b=w3?|tW-nLB6hJMT_5Gw~cq z$g&JH7>!PY8)E2yupCQbI72st<<)=ghLe@7cGjvJVSS+q@K77D9J{Uu5V`?0D zV^V(Wm(*)-IA)~$a;5H<{Ci)zDBa}4QOf6~xYNKBk`e$F; zv}A~A#AW#W{eO&vMH(z=M-t!>eGzv{hKNQA42ALP@*TxKe`1R*gGfNNL?!e}+-(@* z8YwX7MkNz+8hpx7;OILVm21G23%6?-vaOT*?4!Tu)ql~Qq`**1D?$$dhfYpajLbRu zP0-4d&)U*P#mF2?;OK|bmgPVhX-I(1#nJbp)h8c)q?!P|;^gRu(25+aEo~S_nwO*H z$%np^tq=wPtBdQpv1U1%E6#9QV-+L@8}0+d;m^^JMSJ+vbn#j~35vma#b-36CK+uj zgsJxd70aCMb&?eA>f*X=H{S;Uud>Ca6|<0n(gZZBrcqkT!gQc@MR4>BjFh3`d)*#> zyOKcI3vWJLy#DOHzl9N@E25v#FEf^wp|m!VFB`xgDi%g}H&;S8-4=F3eU1AK3xBQ)nSARuC)&AE&Uq__`YlmTryngM>x(c#Om$*}k6-P0HEiMMB0?(IE# z7g3J_r`4Tk&ABNtJ`TV9J{$}H0ER>O?GG3q$5nJ6u4`*?nsd|R$;b2We;xq9PrnX# z?<64!yw;T?H0PpVZZ`ko#t;Cm-5AWxI@EH_!7pN=&AC|EKbwE`!vFxT|2TO5Df|SW zEk|SF(J9C>xcTQ00H)2`HY20^W$1yY^W{%ADIESf(7Ga0Vt!A4>DuP}GvpG0))kQq zU#?65!0w&dcOOs477B1(TZ_}2%P4@>6~O?+t_TM7uneV-6kQRFG9>DXa8T4Ia90E- zxGMq^sk1TN6JBIb@!Sp&er!kL+n<2AyM^!l8G!01D)<>-Fq zz%}|tW6f%)J=ff^i7d;?p6=H%gj{tMW7TiOT)8096J8TA&=JO4mLW6nmSqSGGI-0f z)C>xE%QDR918-S|&cIuiAq(Rz%aDcfmSxDoc*`;z1_9o(41qxgZ&`*Jec&z2(1r1q zWyr#!m7x?E+9)hqb1phVONGU0&P8WvuduP^B(5!O7{|91FP+;~ydYGDhJ0{K5xop8 zeSWqLSM>+W53}c)rwoysb1689&fr8FvpJWnlaz&xl%b-hq3AB@jFUu!U3%wc@%H7n zb_iqY=Lv^1bWB)jS40yM!x=gjeWqHi2&E9p_;br4$D6J0FXVgW5GjBSsHo{eWk%TOtu>mV1F!d8U&Qk zgY`+NCcygyFP?ANE6Cq0DzKjtM-o71dPQVNEDWbBf}<~t(Y7q3>?CDj{{flx6*V59 R*4Y36002ovPDHLkV1kH;M3Ddh literal 0 HcmV?d00001 diff --git a/addons/community_portal/static/description/banner.png b/addons/community_portal/static/description/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..1e3e76b08581ff70cde0e645c521fc3fe37fdd6e GIT binary patch literal 19671 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 R@L<_G%?mneY3D5b{s$(a{n!8i literal 0 HcmV?d00001 diff --git a/addons/community_portal/static/description/icon.png b/addons/community_portal/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..31688c18286760a58199faa4ee82336a72717f64 GIT binary patch literal 1664 zcmV-`27md9P)Z1U5UpA70p|)q2pq3%0ty%VUvMG6fJ7W1f?&rci37rL2wVsvv160O=HPG$|A1ct z95_ITV?c@kfsi;LAsKUMtLg3Ondz_Ts_ChB+HJSrzJ4{+Q`1}9Q#>*K5-2E&0!lD8 zI(2S|Ap>CpEQ#R^c?cWS|2dCAQWiEyFEN}UCt<@_T=TnY#{L=Ohqpde-}(i$I6gXU z`9J0Mg}d+B2<-zNT)bs$Z#=jS0kCnOtv5mogU!^U2cXgYD(k;Fcg>O^Vk0iYvs)`h zLJEfk8CRZ7yr=dzWt8GROebOVq5_e79kU+em?-+^9uD4TDb_ z3hcgPqjn9Ly?LRLp*TJ|ZSVfquYH6*ND2&%w9Iw<`&R{di?Zyq>=C zrffv0is+~NRgINtXikHqEX=$do!KC%2~%N}1w~QA?i*nnfNl*EowlZ3ga3U1*+HVy zI(2SX4GmXAVUU!CSye^gO3YhW-D+qygQP61p(=uc#QcP*sH=*I+em?df-nt<(ohNv z6oi$LA`PX$Kvr0D0MI3dGf)=h^CP{^4U)1j=jG@w4w4|l|7mDME@}*9g{g2@j_%eV z$qLgDKMi&2+;jIKdK&7~xo_^bo`#0231{e>uwh(@r?yv(f65G^z9EWZL)U++;(B4{ zN`=}CA?iwgdiyi2-Q$#skcL9f+?P0U{k;0tZ$b-AL!qzk3&69BWt&b>d2luU@})Z0?x?;PBwzsh3|oHv2TTq9Zu1?$oV@ zI&q~(F){J{yRQJi-#`DlfA`B%SI=Q90&rj1j8mM8i^-`c|M~4tY!v`r>&g*|bJ6kF zw|kS*PhqR@bZlsB?S%V>2M6DMd=Cx}Cng^oy=vHiIVHRuGY7zrD>39XfF?K%#ROVa z1Opr$i&mVQ9t%6~U`sH-b!{z9aV|puttx^6h*c2`K&*;jR3SxG1fvRxsv;Z|^$A=R zfeEgPz(ne*i0_v--9=`IM{B#lRS~#AtBSb4vSrVZB_6Hqh8(XEex%pu7zDZxv6iFz z83R}M+pUVYzp_;nMb*>&GDFB!S8I$`6(Jgz##@%*Fi7y0We5x^c*`<(|v8)sdpbN zm!s9MR-kk$*f4lEQebG${h}z2&H&2~E?d99y6q}GKljTQ+p3(W%ut-1KjWlkw7zJh z6HoWEVX$nZz)(+Hb%$l|J^&QYEu8gGQx%4uqrB2!?54IG0$_hEa2O;s>%sb@)C1ss zf{W){_6q7ZiyG{w#IXR-nO+eY5(~qrieUF;W3(;HC=Zgdu>Sz-Y6pKTCMiq+0000< KMNUMnLSTZ%IuO(V literal 0 HcmV?d00001 diff --git a/addons/community_portal/tests/test_portal_dashboard.py b/addons/community_portal/tests/test_portal_dashboard.py index c9d4308..904fcb8 100644 --- a/addons/community_portal/tests/test_portal_dashboard.py +++ b/addons/community_portal/tests/test_portal_dashboard.py @@ -14,7 +14,7 @@ class TestPortalDashboard(HttpCase): def test_portal_home_renders_without_error(self): self.authenticate('admin', 'admin') - response = self.url_open('/my') + response = self.url_open('/my', timeout=30) self.assertEqual(response.status_code, 200) def test_dashboard_only_shows_cards_for_installed_modules(self): @@ -25,7 +25,7 @@ class TestPortalDashboard(HttpCase): ]).mapped('name')) self.authenticate('admin', 'admin') - response = self.url_open('/my') + response = self.url_open('/my', timeout=30) self.assertEqual(response.status_code, 200) content = response.content.decode() diff --git a/addons/community_school/models/school_class.py b/addons/community_school/models/school_class.py index 4e568df..9787b27 100644 --- a/addons/community_school/models/school_class.py +++ b/addons/community_school/models/school_class.py @@ -64,14 +64,16 @@ class CommunitySchoolClass(models.Model): self.ensure_one() if self.fee_product_id: return self.fee_product_id - product = self.env['product.product'].create({ + vals = { 'name': f"School Fee - {self.name}", 'list_price': self.fee, 'type': 'service', 'sale_ok': True, 'purchase_ok': False, - 'invoice_policy': 'order', - }) + } + if 'invoice_policy' in self.env['product.product']._fields: + vals['invoice_policy'] = 'order' + product = self.env['product.product'].create(vals) self.fee_product_id = product.id return product diff --git a/addons/community_school/static/description/banner.png b/addons/community_school/static/description/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..ab166198c327761502010dd3798a74115f8e1d82 GIT binary patch literal 19467 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îdsl@dVI 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 du~sAxt7%kTd~mIr{~th~t*`(9 literal 0 HcmV?d00001 diff --git a/addons/community_school/static/description/icon.png b/addons/community_school/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ac423173ec4a19b92505be3b47a90273f1f73c9f GIT binary patch literal 1808 zcmV+r2k-caP)8#r6AJyQSkR zjN_m8y);W|Fw!1V{GYh}kGF>vbk+hVmJAOmNdi=&??W$zkOq~hMNB|u^piqA_R)We z3=WOB3_qTg^6jKSk+v@Z2GM76S7dN#q`(jvZ=Bf{>?bdVNrOcrOF+6rA@oArRT$hF zDKNy1LMHe$n3SR5qpxWc&H-x+y-bE+q&=n{{i7eQqdQ4~A(NJc9snjTHBv@~KKgmk z@{`Z%d^csJN28Su1k&~LjXiFhX zybefN<}9z1q-a;>ws^bzIsp7Cn`>G&3kgU}K(1e@Whnbyw}!v2 z6d-K!N-O&Nhu1cl5uq!hp3zS-CYGU9a+0zz`Eqo{oTMgfM2(NW6sid*my_tU zDRu$o*8yamM5omnoUs~euZDt?l!YmEMc_)Twy?C-(8@STSy)C_1OWntRO(Pea!Aj5+))FBr& z2C~9vU%Sp1r1h_9lwFcKb`ry0_)f!y4=;vOB+N-f=D4noo`UqW#KfT_PzEvQ^ z8y2(dCW!hQoJ6dt`)^5HKff`MptgdD`bwU@D!OcNNI57&p=Qx%xPE$re`z+M*_NSD z*XT!JIlw7Hq2AGtaQ*ZKP8q8H88w7@WDLttpi=XY!1u4-=U-}lUtMll<^lSb5zd-( zJ;3N9&P{W!2bf+$J7~`J0E>v(Hs^Yzpor@Lk0hWiM|*%y#4=VxwYUnvcegf|e%kA?sowIo_)Oa@F1o< zgO$x@*`p5t=Z^1MSYDqTZOuH<8b2t%A-w>YMa;H2mjY&w41B$?=cxmY_f|R|-0Yxe zKwFMR$L)LDzy96b`%o}@WZ=`6cVGQ;Bl~{}L0!tw0N|Z(?*6mh1Asf7?Z@^Ymp~Cr z%20bQ6zm@i-hF29+_k&A8bKJs`Kdu{MR;8iMdIe0d)eQUqs_@tD!aMsuC2Lg&h?0Z z))nCah+PpLQ0Fp~EQ;ug@JK>IT@f0J>IB~vfeGIgfr+BKBE~=KNypR;Q_Dl(yCQIb z))jGV(dCT~WyI9-kj?ki!A*K~&Vgn0!PRnfJ#(NN{d~J3jxBBnL6G!xzly=;tScCu zbwxx*Cr@}SfPs!MzhxORgWs|Yfq{qLvaDzZ0e;Ie%;%NM>JVaB4LCv4A9F=2^a5qU_oXQ){8A>|}| zgxCa_myZ=}Fr5Pj)Lc^R5?Ca_myZ=}FrHuLab|LijKw`Te8MX(L&3sux*~k^nbFynWt5$yEbM>KJSK+_Vpg^Q0000 + + + + + + + +