24 lines
663 B
Python
24 lines
663 B
Python
|
from functools import wraps
|
||
|
from flask import redirect, url_for, session
|
||
|
from SWSCloudCore.models import Users
|
||
|
|
||
|
|
||
|
def requires_login(f):
|
||
|
@wraps(f)
|
||
|
def decorated_function(*args, **kwargs):
|
||
|
# Check session
|
||
|
required = ['email', 'password', 'user_id']
|
||
|
success = True
|
||
|
|
||
|
for r in required:
|
||
|
if r in session and success:
|
||
|
continue
|
||
|
else:
|
||
|
return redirect(url_for("account.logout"))
|
||
|
|
||
|
if not Users.auth(session.get('email'), session.get('password'), 1):
|
||
|
return redirect(url_for("account.logout"))
|
||
|
|
||
|
return f(*args, **kwargs)
|
||
|
return decorated_function
|