diff --git a/paramecio/citoplasma/datetime.py b/paramecio/citoplasma/datetime.py index 4c62b86..d0abfde 100644 --- a/paramecio/citoplasma/datetime.py +++ b/paramecio/citoplasma/datetime.py @@ -66,16 +66,26 @@ if hasattr(config, 'format_time'): if hasattr(config, 'timezone'): timezone=config.timezone -@hook('before_request') +#@hook('before_request') + def set_timezone(): + environ['TZ']=environ.get('TZ', timezone) + + if environ['TZ']!=timezone: + environ['TZ']=timezone + time.tzset() + +def set_timezone_session(): + s=get_session() timezone_local=timezone if s!=None: - - timezone_local=s.get('timezone', timezone) + if 'timezone' in s: + timezone_local=s['timezone'] + #timezone_local=s.get('timezone', timezone) environ['TZ']=environ.get('TZ', timezone_local) diff --git a/paramecio/index.py b/paramecio/index.py index 74b9662..13ad0eb 100644 --- a/paramecio/index.py +++ b/paramecio/index.py @@ -5,6 +5,7 @@ from settings import config, modules from beaker.middleware import SessionMiddleware from mimetypes import guess_type from paramecio.cromosoma.webmodel import WebModel +from paramecio.citoplasma.datetime import set_timezone from itsdangerous import JSONWebSignatureSerializer from paramecio.citoplasma.keyutils import create_key_encrypt, create_key_encrypt_256, create_key #from paramecio.citoplasma.sessions import generate_session @@ -180,6 +181,8 @@ if config.debug==False: def error404(error): return 'Error: page not found' +set_timezone() + def run_app(app): run(app=app, host=config.host, server=config.server_used, port=config.port, debug=config.debug, reloader=config.reloader) diff --git a/paramecio/modules/admin/index.py b/paramecio/modules/admin/index.py index 67a7071..ac851a2 100644 --- a/paramecio/modules/admin/index.py +++ b/paramecio/modules/admin/index.py @@ -44,6 +44,25 @@ module_admin=path.dirname(__file__) env=env_theme(__file__) +# Preload modules + +#Load menu + +menu=get_menu(config_admin.modules_admin) + +#arr_admin_modules={for k, in menu} +#d = {key: value[1] for (key, value) in menu.items()} +""" +d={} + +for k, v in menu.items(): + + if k[:1]!='/': + d[k]=v[1] + +print(d) +""" + @get('/'+config.admin_folder) @get('/'+config.admin_folder+'/') @post('/'+config.admin_folder+'/') @@ -87,10 +106,6 @@ def home(module='', submodule=''): if c>0: if s['privileges']==2: - - #Load menu - - menu=get_menu(config_admin.modules_admin) #pass if module in menu: @@ -117,7 +132,7 @@ def home(module='', submodule=''): print("-"*60) return "No exists admin module" - + #args={'t': t, 'connection': connection} content_index=new_module.admin(t=t, connection=connection) @@ -164,6 +179,8 @@ def home(module='', submodule=''): s['login']=1 s['privileges']=arr_user['privileges'] + s.save() + redirect(make_url(config.admin_folder)) else: @@ -220,6 +237,8 @@ def login(): s['csrf_token']=create_key_encrypt() + s.save() + return {'error': 1, 'csrf_token': s['csrf_token']} else: @@ -264,7 +283,7 @@ def login(): response.set_cookie('remember_login', random_text, path="/", expires=timestamp, secret=key_encrypt) #else: #print(user_admin.query_error) - #s.save() + s.save() return {'error': 0} else: @@ -283,12 +302,16 @@ def login(): s['csrf_token']=create_key_encrypt() + s.save() + return {'error': 1, 'csrf_token': s['csrf_token']} else: s=get_session() s['csrf_token']=create_key_encrypt() + s.save() + return {'error': 1, 'csrf_token': s['csrf_token']} @@ -341,6 +364,8 @@ def register(): #error['password_repeat']=I18n.lang('common', 'password_no_match', 'Passwords doesn\'t match') + s.save() + return error else: @@ -412,6 +437,8 @@ def send_password(): s['csrf_token']=create_key_encrypt() + s.save() + return {'email': user_admin.fields['email'].txt_error, 'error': 1, 'csrf_token': s['csrf_token']} else: @@ -501,4 +528,6 @@ def check_code_token(): s['csrf_token']=create_key_encrypt() + s.save() + return {'token': 'Error: token is not valid', 'error': 1, 'csrf_token': s['csrf_token']}