20 lines
735 B
Python
20 lines
735 B
Python
from django.http import Http404
|
|
from functools import wraps
|
|
|
|
def admin_role_required(view_func):
|
|
@wraps(view_func)
|
|
def _wrapped_view(request, *args, **kwargs):
|
|
if request.user.is_authenticated and request.user.role == 'Admin':
|
|
return view_func(request, *args, **kwargs)
|
|
else:
|
|
raise Http404("Page not found")
|
|
return _wrapped_view
|
|
|
|
def both_role_required(view_func):
|
|
@wraps(view_func)
|
|
def _wrapped_view(request, *args, **kwargs):
|
|
if request.user.is_authenticated and request.user.role == 'Admin' or request.user.role == 'Editor':
|
|
return view_func(request, *args, **kwargs)
|
|
else:
|
|
raise Http404("Page not fount")
|
|
return _wrapped_view |