More fixes for modernize codebase

This commit is contained in:
Antonio de la Rosa 2024-09-29 18:26:51 +02:00
parent e93adee075
commit aa1ad66525
4 changed files with 109 additions and 127 deletions

View file

@ -24,6 +24,8 @@ from paramecio.wsgiapp import app
import copy
from paramecio.i18n import admin
admin_app=Bottle()
#from citoplasma.login import LoginClass
# Check login
@ -70,11 +72,11 @@ if hasattr(config, 'admin_templates_index'):
num_template+=1
@app.get('/'+config.admin_folder)
@app.get('/'+config.admin_folder+'/<module>')
@app.post('/'+config.admin_folder+'/<module>')
@app.get('/'+config.admin_folder+'/<module>/<submodule>')
@app.post('/'+config.admin_folder+'/<module>/<submodule>')
@app.get('/admin')
@admin_app.get('/<module>')
@admin_app.post('/<module>')
@admin_app.get('/<module>/<submodule>')
@admin_app.post('/<module>/<submodule>')
def home(module='', submodule='', t=t):
# A simple boolean used for show or not the code of admin module in standard template
@ -248,121 +250,12 @@ def home(module='', submodule='', t=t):
return ""
@app.post('/'+config.admin_folder+'/login')
@admin_app.post('/login')
def login():
return login_model(UserAdmin)
"""
connection=WebModel.connection()
user_admin=UserAdmin(connection)
getpostfiles=GetPostFiles()
getpostfiles.obtain_post()
getpostfiles.post['username']=getpostfiles.post.get('username', '')
getpostfiles.post['password']=getpostfiles.post.get('password', '')
username=user_admin.fields['username'].check(getpostfiles.post['username'])
password=getpostfiles.post['password'].strip()
user_admin.conditions=['WHERE username=%s', [username]]
arr_user=user_admin.select_a_row_where(['id', 'password', 'privileges', 'lang', 'num_tries', 'email'])
if arr_user==False:
s=get_session()
s['csrf_token']=create_key_encrypt()
s.save()
connection.close()
return {'error': 1, 'csrf_token': s['csrf_token']}
else:
num_tries=int(arr_user['num_tries'])
if arr_user['num_tries']<3:
if user_admin.fields['password'].verify(password, arr_user['password']):
s=get_session()
s['id']=arr_user['id']
s['login']=1
s['privileges']=arr_user['privileges']
s['lang']=arr_user['lang']
s['email']=arr_user['email']
if s['lang']=='':
s['lang']=I18n.default_lang
remember_login=getpostfiles.post.get('remember_login', '0')
if remember_login=='1':
timestamp=time()+315360000
random_text=create_key_encrypt()
#Update user with autologin token
user_admin.check_user=False
user_admin.conditions=['WHERE username=%s', [username]]
user_admin.valid_fields=['token_login']
user_admin.reset_require()
if user_admin.update({'token_login': random_text}):
response.set_cookie('remember_login', random_text, path=config.session_opts['session.path'], expires=timestamp, secret=key_encrypt)
#else:
#print(user_admin.query_error)
s.save()
connection.close()
return {'error': 0}
else:
user_admin.check_user=False
user_admin.conditions=['WHERE username=%s', [username]]
user_admin.valid_fields=['num_tries']
user_admin.reset_require()
user_admin.update({'num_tries': arr_user['num_tries']+1})
s=get_session()
s['csrf_token']=create_key_encrypt()
s.save()
connection.close()
return {'error': 1, 'csrf_token': s['csrf_token']}
else:
s=get_session()
s['csrf_token']=create_key_encrypt()
s.save()
connection.close()
return {'error': 1, 'csrf_token': s['csrf_token']}
"""
@app.post('/'+config.admin_folder+'/register')
@admin_app.post('/register')
def register():
getpostfiles=GetPostFiles()
@ -423,7 +316,7 @@ def register():
return {'error': 1}
@app.get('/'+config.admin_folder+'/logout')
@admin_app.get('/logout')
def logout():
s=get_session()
@ -446,7 +339,7 @@ def logout():
redirect(make_url(config.admin_folder))
@app.get('/'+config.admin_folder+'/recovery_password')
@admin_app.get('/recovery_password')
def recovery_password():
t=PTemplate(env)
@ -465,7 +358,7 @@ def recovery_password():
connection.close()
return t.load_template('admin/recovery.phtml', forms=forms)
@app.post('/'+config.admin_folder+'/recovery_password')
@admin_app.post('/recovery_password')
def send_password():
connection=WebModel.connection()
@ -522,13 +415,13 @@ def send_password():
return {'email': '', 'error': 0}
@app.get('/'+config.admin_folder+'/check_token')
@admin_app.get('/check_token')
def check_token():
t=PTemplate(env)
return t.load_template('admin/check_token.phtml')
@app.post('/'+config.admin_folder+'/check_token')
@admin_app.post('/check_token')
def check_code_token():
t=PTemplate(env)
@ -583,3 +476,5 @@ def check_code_token():
s.save()
return {'token': 'Error: token is not valid', 'error': 1, 'csrf_token': s['csrf_token']}
app.mount('/'+config.admin_folder+'/', admin_app)