-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcommon.py
More file actions
25 lines (22 loc) · 704 Bytes
/
common.py
File metadata and controls
25 lines (22 loc) · 704 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from functools import wraps
from flask import flash, session, redirect, url_for
def login_required(f):
@wraps(f)
def wrap(*args, **kwargs):
if 'logged_in' in session:
return f(*args, **kwargs)
else:
flash('You need to login first.')
return redirect(url_for('login'))
return wrap
def permission(permission_list):
def real_decorator(f):
@wraps(f)
def wrapper(*args, **kwargs):
if session['user_role'] in permission_list:
return f(*args, **kwargs)
else:
flash('Access denied.')
return redirect('/')
return wrapper
return real_decorator