Fixes in plugins

This commit is contained in:
Antonio de la Rosa 2019-05-10 00:32:25 +02:00
parent 8fad869757
commit 44641994ed
3 changed files with 17 additions and 25 deletions

View file

@ -6,6 +6,7 @@ from paramecio.citoplasma.urls import make_url
from paramecio.citoplasma.i18n import I18n from paramecio.citoplasma.i18n import I18n
from paramecio.citoplasma.httputils import GetPostFiles from paramecio.citoplasma.httputils import GetPostFiles
from paramecio.citoplasma.keyutils import create_key_encrypt, create_key_encrypt_256, create_key from paramecio.citoplasma.keyutils import create_key_encrypt, create_key_encrypt_256, create_key
from paramecio.cromosoma.formsutils import generate_csrf
from bottle import response,request from bottle import response,request
from paramecio.cromosoma.webmodel import WebModel from paramecio.cromosoma.webmodel import WebModel
from time import time from time import time
@ -135,7 +136,7 @@ def check_login():
return False return False
def login_model(ModelLogin, session=''): def login_model(ModelLogin, session='', enable_tries=False):
""" Function for standard login """ Function for standard login
""" """
@ -157,17 +158,12 @@ def login_model(ModelLogin, session=''):
user_admin.conditions=['WHERE username=%s', [username]] user_admin.conditions=['WHERE username=%s', [username]]
arr_user=user_admin.select_a_row_where(['id', 'password', 'privileges', 'lang', 'num_tries', 'email']) arr_user=user_admin.select_a_row_where(['id', 'username', 'password', 'privileges', 'lang', 'num_tries', 'email'])
if arr_user==False: if arr_user==False:
s=get_session()
s['csrf_token']=create_key_encrypt()
s.save()
connection.close() connection.close()
return {'error': 1, 'csrf_token': s['csrf_token']} return {'error': 1, 'csrf_token': generate_csrf()}
else: else:
num_tries=int(arr_user['num_tries']) num_tries=int(arr_user['num_tries'])
@ -183,6 +179,7 @@ def login_model(ModelLogin, session=''):
s[session+'privileges']=arr_user['privileges'] s[session+'privileges']=arr_user['privileges']
s[session+'lang']=arr_user['lang'] s[session+'lang']=arr_user['lang']
s[session+'email']=arr_user['email'] s[session+'email']=arr_user['email']
s[session+'username']=arr_user['username']
if s['lang']=='': if s['lang']=='':
s['lang']=I18n.default_lang s['lang']=I18n.default_lang
@ -225,26 +222,16 @@ def login_model(ModelLogin, session=''):
user_admin.reset_require() user_admin.reset_require()
if enable_tries:
user_admin.update({'num_tries': arr_user['num_tries']+1}) user_admin.update({'num_tries': arr_user['num_tries']+1})
s=get_session()
s['csrf_token']=create_key_encrypt()
s.save()
connection.close() connection.close()
return {'error': 1, 'csrf_token': s['csrf_token']} return {'error': 1, 'csrf_token': generate_csrf()}
else: else:
s=get_session()
s['csrf_token']=create_key_encrypt()
s.save()
connection.close() connection.close()
return {'error': 1, 'csrf_token': s['csrf_token']} return {'error': 1, 'csrf_token': generate_csrf()}

View file

@ -103,8 +103,14 @@ class DbPlugin(object):
kwargs['db']=WebModel.connection() kwargs['db']=WebModel.connection()
try:
rv = callback(*args, **kwargs) rv = callback(*args, **kwargs)
except:
kwargs['db'].close()
raise
kwargs['db'].close() kwargs['db'].close()
return rv return rv

View file

@ -82,7 +82,6 @@ ${HeaderHTML.header_home()|n}
<%block name="content"> <%block name="content">
</%block> </%block>
</div> </div>
</nav>
</div> </div>
</div> </div>
<div id="loading_ajax"> <div id="loading_ajax">