Add Roles and Permission models so that only admins can access /admin

This commit is contained in:
Stephan Porada
2019-07-09 15:41:16 +02:00
parent 66d9ab8a93
commit 79cccd36ee
8 changed files with 159 additions and 4 deletions

19
app/decorators.py Normal file
View File

@@ -0,0 +1,19 @@
from functools import wraps
from flask import abort
from flask_login import current_user
from .models import Permission
def permission_required(permission):
def decorator(f):
@wraps(f)
def decorated_function(*args, **kwargs):
if not current_user.can(permission):
abort(403)
return f(*args, **kwargs)
return decorated_function
return decorator
def admin_required(f):
return permission_required(Permission.ADMIN)(f)