More fixes for modernize codebase
This commit is contained in:
parent
e93adee075
commit
aa1ad66525
4 changed files with 109 additions and 127 deletions
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue