From eb6df1c9aea5360fe1b1b1e7a469ecfac603b036 Mon Sep 17 00:00:00 2001 From: Antonio de la Rosa Date: Sun, 26 Jan 2025 01:18:08 +0100 Subject: [PATCH] Fixes in admin --- parameciofast/libraries/lists.py | 4 +-- .../libraries/templates/utils/list.phtml | 2 +- parameciofast/modules/fastadmin/__init__.py | 14 +++----- parameciofast/modules/fastadmin/app.py | 30 +++++++++++++++--- parameciofast/modules/fastadmin/ausers.py | 14 +++++++- .../fastadmin/media/images/ajax-loader.gif | Bin 0 -> 500 bytes .../fastadmin/media/images/background.png | Bin 0 -> 332 bytes .../media/images/background_title.png | Bin 0 -> 476 bytes .../media/images/background_title_login.png | Bin 0 -> 5126 bytes .../media/images/languages/en-US.png | Bin 0 -> 562 bytes .../media/images/languages/es-ES.png | Bin 0 -> 539 bytes .../modules/fastadmin/media/images/logo.png | Bin 0 -> 16678 bytes .../modules/fastadmin/templates/layout.phtml | 10 +++--- 13 files changed, 51 insertions(+), 23 deletions(-) create mode 100644 parameciofast/modules/fastadmin/media/images/ajax-loader.gif create mode 100644 parameciofast/modules/fastadmin/media/images/background.png create mode 100644 parameciofast/modules/fastadmin/media/images/background_title.png create mode 100644 parameciofast/modules/fastadmin/media/images/background_title_login.png create mode 100644 parameciofast/modules/fastadmin/media/images/languages/en-US.png create mode 100644 parameciofast/modules/fastadmin/media/images/languages/es-ES.png create mode 100644 parameciofast/modules/fastadmin/media/images/logo.png diff --git a/parameciofast/libraries/lists.py b/parameciofast/libraries/lists.py index a5220b3..d4d4e23 100644 --- a/parameciofast/libraries/lists.py +++ b/parameciofast/libraries/lists.py @@ -244,8 +244,8 @@ class SimpleList: options (list): Return a list of basic options for items row """ options=[] - options.append(''+_('Edit')+'') - options.append(''+_('Delete')+'') + options.append(''.format(id)+_('Edit')+'') + options.append(''.format(id)+_('Delete')+'') return options def show(self): diff --git a/parameciofast/libraries/templates/utils/list.phtml b/parameciofast/libraries/templates/utils/list.phtml index f0386f9..e8e9402 100644 --- a/parameciofast/libraries/templates/utils/list.phtml +++ b/parameciofast/libraries/templates/utils/list.phtml @@ -27,7 +27,7 @@ % for field in simplelist.fields_showed: - ${set_css_arrow(simplelist, field)}${simplelist.model.fields[field].label} + ${set_css_arrow(simplelist, field)}${simplelist.model.fields[field].label} % endfor % for extra_field in simplelist.arr_extra_fields: ${ extra_field } diff --git a/parameciofast/modules/fastadmin/__init__.py b/parameciofast/modules/fastadmin/__init__.py index 25affab..c8eaab1 100644 --- a/parameciofast/modules/fastadmin/__init__.py +++ b/parameciofast/modules/fastadmin/__init__.py @@ -19,21 +19,15 @@ url_app=config.apps['admin'][2] admin_app=FastAPI(docs_url="/docs", openapi_url="/docs/openapi.json", title='Paramecio Admin', version='0.9') @admin_app.middleware('http') -async def check_session(request: Request, call_next): +async def db_connect(request: Request, call_next): db=WebModel.connection() - try: + request.state.db=db - request.state.db=db + response = await call_next(request) - response = await call_next(request) - - except: - - db.close() - - raise + db.close() return response diff --git a/parameciofast/modules/fastadmin/app.py b/parameciofast/modules/fastadmin/app.py index a1062f9..ada318e 100644 --- a/parameciofast/modules/fastadmin/app.py +++ b/parameciofast/modules/fastadmin/app.py @@ -140,6 +140,8 @@ def check_login_admin(user: UserAdmin, request: Request, response: Response) -> db.query('update useradmin set token_login=%s, last_login=%s WHERE id=%s', [remember_key, date_now, result['id']]) request.session['login_admin']=True + request.session['user_id']=result['id'] + request.session['theme']=result['dark_theme'] error=0 message='' @@ -212,14 +214,34 @@ def logout_admin(request: Request) -> RedirectResponse: return response @admin_app.get('/change_lang') -def change_lang(): +def change_lang() -> ResponseData: - return RedirectResponse(app.url_path_for('home_admin')) + #return RedirectResponse(app.url_path_for('home_admin')) + + error=0 + + message='' + + return {'error': 0, 'message': ''} @admin_app.get('/change_theme') -def change_theme(): +def change_theme(request: Request, theme: bool = 0) -> ResponseData: - return RedirectResponse(app.url_path_for('home_admin')) + error=1 + + #s=get_session() + #reqi=request.session + + db=request.state.db + + request.session['theme']=theme + + db.query('update useradmin set dark_theme=%s WHERE id=%s', [theme, request.session['user_id']]) + + error=0 + + return {'error': error, 'message': ''} + def check_login_tries(request, db): diff --git a/parameciofast/modules/fastadmin/ausers.py b/parameciofast/modules/fastadmin/ausers.py index 0088338..9c616a4 100644 --- a/parameciofast/modules/fastadmin/ausers.py +++ b/parameciofast/modules/fastadmin/ausers.py @@ -44,5 +44,17 @@ def fastadmin_users(request: Request): slist.fields_showed=['username', 'email', 'double_auth', 'last_login'] - return t.load_template('users.phtml', title=i18n.tlang('Admin'), tlang=i18n.tlang, url_for=app.url_path_for, module_selected='fastadmin_users', slist=slist, session=request.session) + return t.load_template('users.phtml', title=i18n.tlang('Admin users'), tlang=i18n.tlang, url_for=app.url_path_for, module_selected='fastadmin_users', slist=slist, session=request.session) +@admin_app.get('/ausers/edit/{item_id}', response_class=HTMLResponse) +def fastadmin_users_edit(item_id: int, request: Request): + + i18n=I18n('fastadmin') + + db=request.state.db + + #return t.load_template('edit_users.phtml', title=i18n.tlang('Edit admin users'), tlang=i18n.tlang, url_for=app.url_path_for, module_selected='fastadmin_users', session=request.session) + return "" + + + diff --git a/parameciofast/modules/fastadmin/media/images/ajax-loader.gif b/parameciofast/modules/fastadmin/media/images/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..55167070d03ad628ed3317a034970a208f07e041 GIT binary patch literal 500 zcmZ?wbhEHb6krfw_{6~Q|Nnmm28L6oP9-HJ2?+@S*$|-kpWDwhB-q(8z|~04fSC~} zs`yXJxhOTUBsE2$JhLQ2Au%hlA}2pFMK3ciEuTU0CkrPRP?ZiyKge(fW;u>kMkYy~ zmR+*O!qFb{u734AE8Ls0YF*CjeFZwFIk9Px=h$`UT+#$ZIcZh?-5z=@%M)gCxCEy{ zw4C>2!lp+SsOO)-DbJM>DIJzw^1=^ASbtyXdx(4&}Mf!P7n5o~xu;Br9EVV53O!9`1tR4&*?$c`>FJ0joU)iD)|KVnp| mxk?V`bFF5chqp8;Lfi@zZx^LL6!uMp2Cz9NgEc5FzyJXBM2(mL literal 0 HcmV?d00001 diff --git a/parameciofast/modules/fastadmin/media/images/background.png b/parameciofast/modules/fastadmin/media/images/background.png new file mode 100644 index 0000000000000000000000000000000000000000..5660f223daa9ccb72366c183bb3202cb788b0dda GIT binary patch literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^7lBxxgAGX5F4AuUQjEnx?oJHr&dIz4a@dl*-CY>| zgW!U_%O?XxI14-?iy0XBj({-ZRBb+KpdfpRr>`sfEpBOXLBlE6AMFGR$!3N`lsM<- z=BDPA0J#hd&PAz-C8;S2<(VZJ3hti10V#T^>_G9wo-U3d6}R5rKFHf*z~k!Z@a6u5 z*@enxFBRA=7HAl&D%k$5SZb^M$g<(O-h2iZmi@a{p9*L2W>I1iJh;s~u>3byLZ^d^ zf>MDn<1`KzmU+bqoeYAF9SLh^pNLmHAOvK+d_HIXj)Op!gUbUoCLO^J4x8r(gcyMa zG|uMG5mZq6Fozjro(oH!(gvVO2a5SXidBKn}2@wBYwuY%(D2SNVuboFyt I=akR{04Hc_KL7v# literal 0 HcmV?d00001 diff --git a/parameciofast/modules/fastadmin/media/images/background_title.png b/parameciofast/modules/fastadmin/media/images/background_title.png new file mode 100644 index 0000000000000000000000000000000000000000..c716ff396db6c0e8eb54c3784487b5ec0a78f883 GIT binary patch literal 476 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 A2mk;8 literal 0 HcmV?d00001 diff --git a/parameciofast/modules/fastadmin/media/images/languages/es-ES.png b/parameciofast/modules/fastadmin/media/images/languages/es-ES.png new file mode 100644 index 0000000000000000000000000000000000000000..1c12d917499fe837ff088d57e515efc038ecff7f GIT binary patch literal 539 zcmV+$0_6RPP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX0v!S~EyJrv{Qv*~tw}^dR4C5{ z!AouwK@0#;+vTe2?wLs#5=1}=?BEF8fIa8nOq_r{>^J}mB-TigNcc#Qkj$s6r^_yz z_wd7deTG;7`WR~|z?@n;xC2q=zDMj3qw2_<-AA+7_q+fYm~EOm)rHxt3Pgh$0tA5A z_sd!vK#lW*%UYkVgNUYJ$p2(U`d^{aUgT`m{FS& dwB0x|{|AKN2~aD-i`@VK002ovPDHLkV1m#m?AQPR literal 0 HcmV?d00001 diff --git a/parameciofast/modules/fastadmin/media/images/logo.png b/parameciofast/modules/fastadmin/media/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..89992822563fe283c0bb1d3268c7f96b53516153 GIT binary patch literal 16678 zcmY*hWmHsc*FHlxNH@~m(v5U?w{%H&42{yQbaywBib!{Zlypl=zvub!{rF%Fan`Jf zbMJfatIm8 z$%pQOV z-E#Hiw}v}~B~MvaNm4xy$xm-yA#r_)n9n(Q_svR`uck1{qmYM;bcg{Ri&tM;Npq?$ zV+tugZxV}<{X5<_>;jA?I*&ig1^<>~s&x0m0WwE*CGd`~`;c^eThe=%q+nQDM42O4 zR*U*a zfEG2e6KaH-cft1CDwccGIayNtzL`y?OfD;hzEnm{8F&N)jO1aoGEthm^eEf<{?HWo%c1QuN&_~{hbO41Yq>9tL5@mxywvx z*RCp8#79$n4rfZ#&wC!vVs&Z^ZU$X{*D49}^TR=)(aGqkv-F0RJFgM*w{^tS#I|HG zFfc1c1atN+*Z>VK8xaX}m=v{y&OZ z5}eP@sN;s0nCuuQ{Ou`@4&+xs)u0?+0Qx>pG%#SH z&b0R}Kfe!dq`A*~_M~CU+*DzUI^g6r!*VAW-RRZ$^0UEbBLK_S$ER8PBLnzVj2lij zZ2q2@6#;lErl7KJcB0kOy~2vWKmy3~fCi~(|BjKjOhYMR&AQ=mqC{u4BkIJ?q@DV% zmWMq*9#eHHtsoNPm6UjYwhl1Y{cF{iY{fr_r=Kb{;C(l{XU|e%5WfJ#JsjR=HB8r# z@nZ4Iw)=jYoJeV7vN=XecLT~TAqYpD15VJ<-b&M>W(ZJh*yc>e;dQdaBUv!j(Gzv! z*G5){#cp zID&yz79O1MUjm-n2uV>ohiz)oZ3hM!n}6c3kjq#0vei5WqXd9o~Wx zKU_5Up|%n#Eu?qM$tb5|d_QO3k67BaqV!yg40#OBSj?Oqk`6~#!}zq?FXnViZ#1^m z)xNhk6u7N#txUTSC-1)^5c%RY-e|by zy;AwgK8uyVzuus&JAwatzO%CvWfE|Gpia&asK#D1?FK-<@Xf4c4DJqPX>RMVb@2sd zZ$B!2sWaOp@V{hNM_1D%lVTy-o{sF}Bo7RhPLt0uu~d^-n_@F0W*asL`L{5eGr~`b z0RhY!3|RfB^)fVMl@_XP$PrsWSMPWy23;?hcX|OYxb!&ejAR=Nm+=yFSTdz;#2(h33?znm* zpR7ISV^`j552&fXevH)_Z73-D3lTR^S5H#b#M7yox8NZBtf-*ioFnXenPD}WF5)-N zbt(8ymX|ivJ`7zT#Wdq~wBaJd@`m>4^$iTP|K<4+QA$Pz!`0RG@GTZnHU#Rx^|g6^ ze%=>sdkO3&UH=9PrDMpuV0?Gq{hSsQ5cp)t_0?Z_KaqxrfFJ{2X+yIJ$gtfUj5ax? zd4m>TIHz`Y^?mjk$WQw0^1i+dN^&-uaT}lduk{KCzWIuv`OT%PXrNeL%%{Dc?bZh` zH|@iV)k-+~sVWF`QB;obQ;(3WotC&$bult$$aFL!P z&gjYg{Qcc~5BrZxe7Om zc%H|jP*y_{f~)(0#Vo#$&bL=r$NfDWU0q#nS9|01yiO|~hyYWfUp^|7{OIx-J%ssz zvV53@TE4MVnJ{t-+`6NalOL~7mYZa+kLDe8>rA?Nd+3O^pr@8-UUL}BvEDNVlr=;% znP!2md89%yPgRce3b6ICFNe~4jTQr+<0*pvZ5hbQ4szU%x{!L~BEiMGb#xiKxcvR8 zUL>;?8y9EX>VJ2(&%4vYsY7LWNU7f*1#aZIa`h1Y_(cX^ZEbBl0RaIfDdYggxOB?w zn(U5(gMlAz+#+vM?Q=?=%p-MPIo>-w-?#~200A9e5}mToo^SoTb0U%2*#X_Y{&2-# zzA7R?hBtUT`T&5$PR|yW7ieO}Pzbjw?n#Oa{5wT2_^4OC*%c7{($q`t;HmXqJq{KT zV6&r@?>lDGf}8m6AEhYT-dj;4dtEkc+Qg5a$`@n|FFQsBnK`E`_aw|r^0$L{ED3GY zskZ0+b-zV@ZP#`^U;D_F@RhYV8HS1(_{&yCP*{{^v~igJ=<@P%{k!vxyXg3Mlc&#Ca5aeNkChF z7r#jQbF#Aq5fBh=XKdeTM|VNy#(gZ@^VzG6xqVd1<1{2gD9X=E9`DX6L@b9A>s-5Z zB&zD#J34OknykmqF)%PR`97{cAtmXeI(#orz^`At&1^pdpWW*q?viKzqW4^&FrVPG6&6I`ub2*8c#`XMnx#>5Xl%>`{dVEisvl|~Ag&N%kB&7- zc(ixtA^R`%53D-k#_?$v?6!;jk#(zHO%*1t32_VEcJ;Dky5@%hc;I-t1QO^ctH8^L zZ+S?CkFBy1bnuu4jqz3ArVcl#V=5zZ`h|r)b1_$;$t@`Rga0w@OeWz5**q*&gUFYTT`qu_?;tJPw{K}AKa+uhsC z4f?zJJ;3J;`7Qv&8@4(Uae*uD83(^iY?`Qc&}jBOl+~hP>C^m2BmCag#DJlS2c)E1 z9H0*!4ei>7;cG+$JQA<|sh*0mSEMTd5TLsLO0dcxR4hkU!vGYHHt34orGflqR|8+q zL;gDbYj-M9wgO^$Sb#Ya!iKjMn}6L)UgfUe3<0++gyI+pfVy)i(ExdW+){98zZ@Ld z<~DNr|J{Xap_!A#`rR8wV{dCS=$r&8#Jc8tkRG<^$=&(-?Rv40-wdHAD>GlZo($vW zD+~L>zz^5=z3&X=6x}3Ra4aIt0O-bJ?P+_t_|~EkOv*CNg&c;K?YN&pjJ764V3c@) ztz7fAV0Qo3%w6e@woTw`8Q04knYNcnh59zj0Jv!fRQkX1N5-Deou4sLXCL?*TS-+p zH3i7NIw{`P&2^$rT^9owF_>x9Mjeg13FIQyP2%al>&^SOcpMh8VWE<6dWY?H+=}i4 zSkOK=7|6kmAGgJgS#--=gHA7}N6Pn+vF`5f$4s~=-5hA!o~J7<#%^wn5CDynlT#B1 z2j@S48t`~~N+RgERIiehl!O*R#l&^1PFx8qfD$<|G7@0-%viASZiXF#H&( zj1?|LmE^I~?SEJQmD}d!?^);hiw4+4&(=E6BOaPKNj{5NC-kQFZ#C~- z_)G|sPZ9z7-@bh#1~6ctJRBTTRwqjhRZ~lc&CSi#BL25VF)=Zt6O)sR!@F+IWhyzp z5zq*+F2S1haP{=8xgZ#}Y=q_ozxe*>Jn!j5w4eP@0}}#utPHq5UFG`+ZX!IbPGn%y z-^Yi8)LdU*U!a<^fM**aB{CX8M^TccFK`;Q!uP>KVRY&(1ZFV-wg+_(G}J?RE|G%PI~U1M4}xtx#PGs5ZAXQ>KyOk(BjQi78erR z!vOta>={-7RMR{{-v8cCdm=e7V$o~tl8oy^^s(*A_wg;j=GNs-zjHE!-U^RI?R0qt z>TAo422X76We$jA8U4l!{5tK(13*#dGX#On-}hkcsnn45loX*j;<0`I{=zwKQ$K(b zVW^s3Je&Di+xr+t@b@qApBMRbw(kDyV$&L$^75b=JYBt5`t!>A6mRXj^fP9Df13}h zlQ6>ncmh{N#tMXhY?(1{*mr?-pNO5nDKWU+k16()oD*K}uvp9Ouu$D032{W0CbGpE zpGO&s#%2SM$Vf>^|7>sD2nh;CKHlFemmS%Z)J^7ziCH{cAI5-Cz^{S1Wbv4+{ILa` z@5=DN;LOa-B{-F>27mope|$KudklKI7!2b?E7}R~Clc|y{sY#?dho-wT_Bf*LmTJJ zM8F?d=*el@#(Jp9&V^4hSTVu5sj2Vw{#|Sz?~i?TPddWPAydgT@d*bueGaAyK7}Em zKO~3giSo>;Rp}J;{pJfr1^(P^1iy0RP1YsJC&|sB1Mw1TwiMV$31YQ%H5wt}n_(te zRr7QTG0oMcy)S`DayycyiYh8W>qW8&=dAdOv};}^8lQ4R{CT%QxH73zXA-zw*ZY!5 zgo~?nHPPy{dW#6f0iehclB45Ud}3~1Ue2pp_i7bdT;*}LTQI=n@^S~B-{kgSLX*B; zl(UbeIis`XhYDDgXg*zUkBp~)6nqy&5MW`%b`!w+pCY}89n4p}+@`?n#5L4j0O znhQ#|@m97Y12VKR?hzzuo|Jgd<3 zW~$5YrFDNx>OFChB?rmD-BLcScy*jrmC7{KwDjRGmy8M6N#Bc?p>8!^vfXZC4r$F$_(-VlzpUoYxA;1?UItUM>IW-m+MqKnp zx5MLb<~SHE8RKgraG4sx`z?D}hJOf4*rCG3nsD=*pF+45RAWj*P|6j)e=II8UYjjb zO(4-d7c!>fmr=_I{ z952?1#fxt5?BF5+Y+yAb$tx)d6XN1t>$~stn{iCZYrp|6#>U2EAWdMlkH`@X6eNM@ zBLXg6p2rLHU@P+1=hCoQH@mrToL%?2k-e7)TeepinoDaMBW4~wX5@d=K7R8(7e)qY zvcO?imEfmOGrh~$-ba-CFJ>C1`wLoDb{Nvcn-l(F1?u}GD5r@_&0$LK?Ocw=xdXyb zZd(lBbya=%czb^1On8=P+&JjX6N5st}|Zy_X! z0zfbBS@L<3Wx`dl$B4FgBNSc24@B-uA{&(lV_q}6srL_FMy)QaV_IaYTyb$4wQ)o? zN)hy!@HrTBx$oxhack5RLY&^*RNUVsWu@H_^-=YaB_hv}#?s6iUrl+(X5XL7f$!hH=i<;Q>BVjH69m5eh(Nsn zAEC--BHQ;V@Ab)sNpf&%k4=n~l{E&w`Q_~FOht{vG&&<4)@^$ZkP~pu>L`e zym54L^1Gtr^1I19@C3ndR^wMOF*A>XBM*Jf^8##ptEFXS6d0(ehX2)>`_WtlCRQ-& zx}FUo0-z@aO-#ZosD7uLXi0X4B&#EMn1k*l=GWQnL00*-gy0aB??wH|!=;&J#DqCa z7{2xqAMUBPiM;xwbd2b%b$;~g z27Z&d#syNWp1^kpILXMXV^=scps%xy(Q#?a+!>P^Cfu}hBpO2QcDDHs-6_~3X%mv_ z#nRAFX$}sr4pQX)R2~ELgQN4^vGY$Ry$@13M|``7s#jjS#w%~ix{Q0W1*1#TvuKgroPe_y;I}xRHiN@?>I0etsJqjKt=0lMUa) z{r&v31{W8X8z0D6U4{}V^Mr(iFvmwntC|Z$aOhQYNqYnCFY#VpUP4;28IVFZLAk-3 zi;5afl5F}kja9#q=HX&{aDxf=vp;y}fIPRS&u{94GR1!|`1<;$=~ShW&HRjsjm`GE zzuaw#!XSHq9+42;sBi*9Ugzu2-iU~Z-n>KcMBLU1-_3@~Y`-dm=hYC^b$Xv$HwIzm z3H!RiRmIuD#d?4p^7-NR^wEE@*0}Az7MKA7x!}Kdciv@v>4?>FWfm3|25;cL>%lp% zeM?guMadYoV!&r(W3vnd+tbR_lo|rM6>pX@@Rk+S^n&E?)g+t|#8>jpW@fgpo3RXBl}Hn|STvO(VlC}VyW?}&&$gb8V#@G z+-PcQ3N{5RS0Fg}br=*x>b%d_4Y9GYTV-Ws5!Fzmkdi(Lu1r+xH%%zz2;P`^dA0tC z^j`A>N0tLvu<_L<-QNhvU?J3j0?Bij%JrrTKPd%8o_9Qj7jJK&CeIP#uf6La;$XNl{v{Z+y*z%7+zl@MXxxFGn~Wl?Uis5Ml=Ok zOuBsDRgR~prB#4~${S>G5BngBrUl_l)(7^C(ben2S(|yVk<@}fyN*~aC;)CekW4gy zKQ1tMwbhA;bDcO&=I&yU;#{vM;GPi}Di!suJ|H9oq&^JBJ8^@kMY?r2yu#S6!)RL9 zG>|9!NGO#V4}caKv7P@yIEF%@lwdOw?lA9hv#mN8Kpq7o7kXf+&SVq$|9 z4RbVkmR44rzdUw^lFnx&bQJBFSWvY2$x7B@q0`iCu%~1vB8C?)* zYfgBIexv!@ogAj#%SyV9w>Xj}hB9w)$Pjv%<$m|#QF|>~k~STWDBUt`@Uy=mbA(t4 zf3!jf?@+L)MB;A__wVlDhsig`xz3n|xBZU2l+JEH(6A^96DYU;=S zXS=w&0)8G1=YyWEK6`q{=heS7IAVcE8}fahNyQZ%*d=yyl+7KCi@&g2@p36ClV?;+ z>yXHcjBq;K&=i^UvLN{gEyb{x(%iH% zec841LPACTKtq=e;#y}jrL|XB zCOY51N%&%JZccsD;=WXGKAYG&e;wD>)+QE{ryQ}OB(}ER?f)v(Vjud}hueBgFDWzg z;R-xNKb|enRMiVwph`+gkD6sF&w-%#*I>lfW({f6V@U^*;xjyu37%ctuHu0Ft&c`t zKSN}Sw%AR30*EEB_({45Kx@Dbq`(K{E1r9C-D4bRfXf?-JBu$j7LsnPydG}*YEdpP zs7@o+!z>E~-MylZeW$p}f|Ay=oyn-Bm~L^_)gD%RBi=eT+3v}kk?g;G5aNy~&#`uf z?^^DH$m3n9pQP7J1Kgq5p-(Tr;(CF(N%3-&=CmTIcDv${NeY+r2ukUW5d^&bU#m-2t ztbvB-Uik3Kj!o%R)gXjxwie@SnVynT<;t0!<57N+d!hVO#nj!A{NBR)Q}lLdQ!94Y zwcc|$vC;T~=16$bS~kXATypFOTgJ1{R!u~t6&12g19pwvZ-%bN){S&oGfxNn6TeEs z7x+=5(1`x*|M`O*Z6fS-q9AL%gMLp2u4o!Dzg~x&N01cztGT$uCMlRNmc#f&NWV6}3A* zKcB4c0l{=tsnXZR^UK}Q2tfSj;2?cecz8SI+d035YW*ZoC8CF! zwfe&VRH~|~!T9j+Nrk)|n-dZemd3}&^_kNA>Qev@L1S`&wCv%>HP{AYZ%` z3v9x|#QZL1zroiR)c}Yw(b3U?Hw23hA5L#iO@p6r2&9P)0C5ci1B2g6_w{enna@s7 zS(6k>*veZtz!&Xo#FkMo%#=3r*>1Mfsn_e&00ys6FM^+(1aEx+0!R+^3s19`VY;2( zTZb1Hi6ru5*6ei?q-Cs5$o=*cl1@=lX3I=1gPo}of{!7TOs<*A0L1lu(`aqBa-TH6 z2m3#0_m(hjr0Ra1N3YNj%VAe8@L^v5k{eIqmdJY;r!)JwVNKR^sgh1Q`O8@->2b5iYF3_Q1fL|CH8p)e>@p#n4V z$x4r)_&MQmy5hMultjH~^38+Mq;8R9iXbCBeeYzYg_!_gL5V0_T1XHJe0b+OU#Y!c z0pA^N4=co$5g(nXlnu_gqkmk)ais}jFaOF$GuXvScUqPP21+K*yYANgi}WzqR=TWl zV+J(JUO{W+352J_ouCsOX8hUzq)h`@d1WXDA*g)lHkgsMkQZ&2c!UAXDNg|3@N9*rfT+E=vf`^A6 zDR>{{{9l<-(XN(6Q}oT~4ftP(W%;BNA8RmGy!OR3*Y4M zV#MT>V8ZX}cJH&02Z8zT5r7&t5d(_FVy^>B&WOjIlRr)$9- z!U9c0UuHiZUY&wWhm$$9aP2hC+##ogC%Xo1pF>$GZlW-1rDg+-52p%ck%G~nrfyJO zE<=bhvzU*dkP4 zD5Zg-47dz0^2l`s`T6-n_<8@$xuQ8ZCTYt!vV&KP(aHR`iwiY|y#q)QLhgI^prAr+ zAOncw;o)J#j^wtwViima1#C zJ_uSx=4*{R?MwqM2J{sixLoVzRgd3-Zs12yeBwKD3 z%ctD3>D8NQs;H3_!5NIpt2>u1p;jc+7@SV)5i8LG3 zm{e%ZWV+IFG!fUtZP{`HeGgu#_dM2xqDqU_v4$BPouf}X6d!5qDKvj1h1oVT!CA@! zeWU|${UrA^O@etQTjlb4!rtLoaJ#N?_%kb3CNm8f?#V$9rv~@)mrR-iDb+`C3Ub3d zDP52G*+mm(oD&;q{%L+?*Z|YsKzpY@|K(A(H0_@cPdqr?h>}hwUBE?`8~u&zQGyJ| zPAVa81^fdHz@ReDSBz$o)cUP`Mr#OWHCkvRBKVYQ`vC%F{_Ym3O=J&ES81K970qvN zI*Ya_>VBEfIEWEj`qI&M9GYtEtDs5O0-Xx0DO8?X+Q1`tE)~uZa`&I8yu#EDwqitE z))tIeu%u+2mx*a8|E=eD+jDdlJ%5;mSSPpY@Gj{@S{*ZP!#xGk?C8u4Ru3NXY{7f) z%JL0$su%}+z%n&Gy>u*#?_3-twfo>odmVaRlxww1VuiK=~?qCh9iHw|_9Pihc z=O_>r3iG&d*1$TP6G$cGDLQ&Cfg(W&M>3E1c0f?Qs`BkWrfmLo9+7l-iihM6l8tzQ7?3&B?Y6#dYo;9i^Zj4m zb6Qz9x_NdfFRoIqS4T~ij#7pd&=se%rAh$=fRq%mRu9VEp4FRM>7ImK4gn^h@fwi} zS;>aR`Q`5j7@5Yc&Ihd5w_L>c_a|C3dL2&Ib!IX+>+QaIl#EFFn^ggQ93R6Uwfref zslN?B%6aYOR9Cj9QrrVB_GVG)0U|CB!X?kUv$eL9jb5=*kc=3gcp8D)8zV;( z)8S7T94;B7Vsv~Uktt0fLXXAzB+3;W=W}3&3?xA%yK5cpW%=#xdeYkN1t_ERaQ&XC9D&|b2 z_Ak(={lL;luaYhI&FA9J6)3iZCjG-DBqR(1)uptLJ@_~uw29(tmL zg0IB{hiS(N3}=s>7v}y(7w>aIs-+|o4p>Nd3Okm@rcF4%b0f_Q&(B*sxz&b{2lyEZ zQ%&Ve@>lIkWb)$JYtk#qV>d6Oq`U#DO;p;$I%rXmSrYTos6eSH0o=9Y?#Qu| z>gKM6WUHrjmAPimC}Zi01stF#1(n-l+2s=Ml6BUiqk=U-0TvJs1=oa3OId|)td8~g zWSy0pWgI?AWM#b~J*UcYc+XV^K$;JNnymqj)+>Tr>uDydkL)TU*~S)QGJmKK$>u7t z%!(25L|DZ~Vc2iIJU!BJpDSdt%>ZSgZU7Oem7__nCw(h$6CPWDGY*}LB8wS<2XYN+ zYAs%UOiWD3sod$(t-s6VczJt!Ute69tC4_mi(jM~?N5*t`2DA^wl3;5=$$-0-);2D zI$6SaL0fSFEx&H^U$I0@{=><%M0r6EhlHYeru6z-;4)$6pH0tuyc)jg8z|t#>=gu? zCga<;&^J9&SmD0?k?0rEY40g0OJv*C-}x2@^6>D~fK!quUgDD!l?a$hoCB!}Sih!% zAkj8f;BF>FLs$db44cXq4)b?`s-X6=0Xl@D&*1zFkCvihEJWTn?et>Jh(JBaMM<|F zs>0XjZ~-{LpoKEdZhtyhA+D|$<{_T9Ah-U!(&{uy!D%6-d!3n=XPN=xgWBVnl2PHX z@6a>UADeck5#C$zRAVuAt;7mJz3La&6oa_IhiI09T|*M3SBdV7+^w-NZ?#0|-xPj5 zz^5{IJjv3vki1jLKZO4+|3g^uMCUVa3~@Mix$-bG1kgUw%Hv>j(*P~-Wke>wP(xWy z_ey7^M(gCm?>QTf%Nz7T02`Yy5#P(=ACb_a^ERp# zCmxOuQQFb;i{)TSg%^_Xho=)|LqCi(v48?O8}EL;#pq^ENmIb0->i% zOsuR{L-ObA-GkmBnZuha-EEA?JlciquqbdfC1h;@z}cx}vlWEjuQC*jTj;iH9YGx@ zZCjFEj^deOh>>^-B^-dhDN4EDNfKHl)sa<`l?o7G1@TjMQ1b&EhTu#qX zUc^OgyR0bNgI(?hu6Srk|C1D&=2eh^CvhQ}?VA^Mcwpp_Xl2fvnM;(tmSb-|N})vC zT85Mr5GVNHuR4lvmy+D=UD(6|k@EOjR5M*iShps@E^XW3 zU1P{1%ouvib-5!LZnbs#n`mH``_@cRa|;HV51v>uy{GaQ(4eOU`ar|wdb#1lph1D! z5MdaY7cH(aY&)YH^=DrP?fOAAe*<^2qqJmATJ+Zcw3=Bk)xu5z8n*SIDtZJ80|fpz zM=d`bc{3XDm3Sv*8^sp^UB=h6zB^Vj{V+Zg@2@o6_tjKUR5uFx1>FuLj%|UTYjX9O_DAJ9@yMApE#X$_(VYR$A-dix{ztn~9Jg=zukyK&zsOd9!HSnh2TJa^n=8U}OWC#NU|SW^^bxC# ztAYegjm%p0;tm2eAB7$%Gjk^*2UFJ;34y;u?FVl5VHf+BM%Ub2Y=R-NF+p;_q{Z@I z=+rjKB%JoJzhS#)A~k;@^R=KbwWv$vg+^R3GB8XvP$;OXvO9_6)Va?2`uTBXliuIo z575Y?{KsHjLFV$&*vRNNf1>~%O2JG70+#Kn(fsc>RIcP3>x0Xz6kSq~aa59&X z1%Ygt@niSRLM0gHS0)p1+wlfD#qyl+48ZNRYO*o4QiB0#fpzmVZ~HD&Z!XdUblo;I zI&};7`21PM0JC>lUQ8Kw;l>ZNIVr zcVFMuLfrr`V*p9$k9JY@ ze{)fqG>>`ksfv3-T9_=bDSv$tw?=hg z3nJsXY-10_7f|e2KT&JuLBz93zCtGg5?=>$L%Ts~S*Cq6sv!!G5$H1%U2n=sG|fUU zTkyobJxHN zFnL7kXnq#r@Fur+J5US!&dAbdt7Hz#W~WNh0ZJRlOR5CcwhC??zoVp4UH<&}Q+fuv zO)V)YDSSdKwxFCQ3r0aTfVUr)8?6w>t(%CpPR|_Iy95RnLf=^qVd;kJ7W>Njb&jwk z({MAy)Fau$?jO&#LkE_Rfc#6)!XE}xN6$4XxN&kchV^FO)Bh8s4^~>L#OBUkq+!`l z8TnwuJ-xiVN^2-aL6r`?QsTj!hU$Ho9*H2JR#IBJ2L_@x8g;k8hgq|-o3$lT_f6wf zuRU-==1d=Zr!7ioQ`=%c|G8la9~XCr@`D})Ti~EZ-Xkb|=}*Y{B@?Yx}7gixk?wiy0HaaF;imhz=PH z(Ee0>G(&Qg+*VapV-M7$9kZN%FPF^~Evn4aYJx6=0uWe794-&WuynCkBX#o;s~O0z zWSA25Pd?@j*^&elmGK34t#-6X9vL_mBzxF%{XDK&49#5S!Bs=QLW^3EH+orYd+X6s zN9;*ZF|!(f08q18n1X_W9#D@wiQe`h6SxNGM27SJ0hp?>S(hFQAXlc(M<&H(wChi%~UHYWMvP&h%2!{slg@SsAKk z^P3KE-4xY=V;TLp6g58&MYgK&YKWfbe`qf&qo-a0HDP9w2AX*-Q{1mgrN6-hqvNN9 zgkD`6_(TQRad}yTd_n zDh6?bkxpeAd8RjmXhqF-v%j*mKcW`G&kSN}ORT90HYPor74N+#0vOhVU!S`XF-ZCC z8uX5?IWtB*kuWjynytq(+rb{pV26P*ES8lwoZakKfu z8Uc+r&U{(#jh&|JUTn51(1UR|U}zL$?NbKq;crsU8!^l9gVmoiQZ1gnN@1+E3vkqu{=`FP03X%@u7|NYb8BY&D`cPsL2ofVnVh^ufUZP zBvI#L$1gsuU*8=jWH;KigVs#}0dm!{5Mpz`h*Oh4aeJaHRSilj6;&p%#lQQqL-gR&0=y)RC8Vdka!KIP%HOx2A)JV{{RRWZSgS3LnM)>5IHO%@_30 zwDqI+ql6J`wl*sb*F|Ze-@C*zD{K-vU`6l+HrxGc&xb0WjoTXd{(-^#oj57wkys~z zGL0*A54ukeDYkOGD*8_BiuQenA^;%Z6qju7)APzidP zKt+J|1ign9AJrF>#OT2>CH;226yR_lZtj^?DF znrHqY5&B%D&Ga1Xqi}mhn(jjmKP`o*aw6t!_8awcmy#FkxurD8Q&9vzIFf%_8>8id zG35@#X4dvA@CF!ES_cRV)@G6BJf1)D_c1OK|04QXy`zFrhUE%W;zCzqSbXoWgAKSm zKgU2Zqde0l8};NFD&A?YE6!Uvix>yI$`taF*yErc{KcKar7AcJiJ_645mKWFfrUATzxr=Rxf$3Ji7STtJ@!$?V~NnYDg_rzQu*^8Hkt5>g1@AF>!wK3?14 zX~c^>2KBieZnMOp6X}jggWK{C;bjf^ng*+!nzaWbu=Z*Ms^Wd#v!%-0pnNHo`#GV; z=jq?Y6^Odl+Ce+-if#l65h93e5kG5?i*U5edrpf=;uwLX_YDTB_+Mg(U9W!g)TG@5 z0`ZTE9a5+hM?z*dSskMJ@FXzvMk*COcWy@)_$#nZrD5 zNjKN92AJ{aL8T3QJdYc%pRYy5R|_u5m352}LlvPPHc2Cg73$Zl^~||6m@q zkQ4{_|CSM}AIx=>63S$%`-_6_*GxvJh}_J#A;5CKQ-Ac!mVFvHTwglR`t#22V1rbr zpa14}Ol`JKxZ#ha5E*Xsr5xjpA0Z22v(bLb zfYdz25WN?x>@L!yQ%+KP-DnmTIWZmI{|iRop4ck9-@Zv?V9PUv#XoyGNRpcLU$r#6 za)eWC>)I3##>}fV$+I}`7GEZHU3Nwyrs1h=b$_xYW5~@d$ptYzMc2>G5cEXaJF3)8L8cY3n%rgAw=DE`oWzwEiDgXJ|*p=W5J%!%puK0_m z>VvLvR0ia7k(Sz$IxRZbYNH4$>mI?+HOV>@dRfVU-bh}P7ZA}tMcCp0HKM2Es$1QY zZd0r?aU7S+Ct_vbIQJbPu&KLz0`>r{?2m<^PXbrCByi@RFTBx-v+ZXr~b=Y2_5l=t53(k%3UI=%(J literal 0 HcmV?d00001 diff --git a/parameciofast/modules/fastadmin/templates/layout.phtml b/parameciofast/modules/fastadmin/templates/layout.phtml index ee3fba9..de19bea 100644 --- a/parameciofast/modules/fastadmin/templates/layout.phtml +++ b/parameciofast/modules/fastadmin/templates/layout.phtml @@ -8,7 +8,7 @@ i18n=I18n('fastadmin') dark_checked="" dark_css="" -if session.get('theme', '0')=='1': +if session.get('theme', '0')==True: dark_checked='checked' dark_css='dark' @@ -20,9 +20,9 @@ if session.get('theme', '0')=='1': ${title} - - - + + + <%block name="extra_css"> @@ -53,7 +53,7 @@ if session.get('theme', '0')=='1': % if lang_selected!=None: % for i18n_lang in i18n.dict_i18n: - ${i18n_lang} + ${i18n_lang} % endfor % endif