Fixes in language

This commit is contained in:
Antonio de la Rosa 2025-03-19 20:56:53 +01:00
parent af84f4acb7
commit f6907b7c55
5 changed files with 49 additions and 8 deletions

View file

@ -24,11 +24,26 @@ class Session(dict):
self.update(*args, **kwargs)
self.changed=False
self.safe=None
def __setitem__(self, item, value):
super(Session, self).__setitem__(item, value)
self.changed=True
# If use redirect or abort, you can save the session before of redirection
def save(self):
if self.changed:
if not self.safe:
self.safe=URLSafeTimedSerializer(config.key_encrypt)
#if not max_age:
response.set_cookie(config.cookie_name, self.safe.dumps(self), path=config.session_opts['session.path'], httponly=True)
def get_session():
@ -53,6 +68,8 @@ def session_plugin(callback):
if type(session).__name__!='Session':
session=Session()
session.safe=safe
except:
session=Session()

View file

@ -188,11 +188,9 @@ def check_login_admin(session={}):
for v in modules_admin:
if v[0] in modules_priv:
if len(v)>2:
modules_priv+=v[2]
#print(modules_priv)
modules_priv+=v[2]
else:
#modules_priv=[v[0] for v in modules_admin]
modules_priv=[]
for v in modules_admin:
modules_priv.append(v[0])
@ -208,6 +206,7 @@ def check_login_admin(session={}):
session['theme']=result['dark_theme']
session['modules']=modules_priv
session['privileges']=result['privileges']
session['lang']=result['lang']
error=0
message=''
@ -277,11 +276,15 @@ def logout_admin(session={}):
@admin_app.get('/change_lang')
def change_lang():
db=WebModel.connection()
error=0
message=''
return {'error': 0, 'message': ''}
db.close()
return {'error': error, 'message': message}
@admin_app.get('/change_theme', name="admin_app.change_theme")
def change_theme(session={}):

View file

@ -1304,6 +1304,14 @@ input:checked + .slider_grey:before {
}
.bi {
vertical-align: -.125em;
pointer-events: none;
fill: currentColor;
margin-right:8px;
/*border: solid #f00 1px;*/
}
/* Media queries */
@media only screen and (max-width: 800px) {

View file

@ -16,6 +16,8 @@ if session.get('theme', '0')==True:
dark_css='dark'
lang_selected=session['lang']
%>
<!DOCTYPE html>
<html>
@ -38,6 +40,16 @@ if session.get('theme', '0')==True:
</%block>
</head>
<body class="${dark_css}">
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="home" viewBox="0 0 16 16">
<path d="M8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4.5a.5.5 0 0 0 .5-.5v-4h2v4a.5.5 0 0 0 .5.5H14a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146zM2.5 14V7.707l5.5-5.5 5.5 5.5V14H10v-4a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v4H2.5z"/>
</symbol>
%for module_icon in modules_admin_icons:
${module_icon|n}
%endfor
</svg>
<div id="layer_loading"><div id="container_loading"><div class="lds-dual-ring"></div></div></div>
<div id="languages_general">
</div>
@ -56,7 +68,7 @@ if session.get('theme', '0')==True:
</%block>
% if lang_selected!=None:
% for i18n_lang in i18n.dict_i18n:
<a class="${select_lang(i18n_lang, lang_selected)}" href=""><img src="${make_media_url('images/languages/'+i18n_lang+'.png', 'admin2')}" alt="${i18n_lang}"/></a>
<a class="${select_lang(i18n_lang, lang_selected)}" href="${url_for('change_lang', lang=i18n_lang)}"><img src="${make_media_url('images/languages/'+i18n_lang+'.png', 'admin2')}" alt="${i18n_lang}"/></a>
% endfor
% endif
</div>

View file

@ -5,7 +5,7 @@ from paramecio.libraries.sessionplugin import get_session, session_plugin
from paramecio.libraries.urls import redirect
import re
@get('/change_lang/<lang>')
@get('/change_lang/<lang>', name="change_lang")
@session_plugin
def index(lang):
@ -14,7 +14,8 @@ def index(lang):
s=get_session()
s['lang']=lang
#s.save()
s.save()
redirect_url=request.headers.get('Referer')