forked from AFPy/PonyConf
decorators: redirect to login if not connected
This commit is contained in:
parent
d6da137582
commit
bd53789ad7
|
@ -1,21 +1,28 @@
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|
||||||
from django.core.exceptions import PermissionDenied
|
from django.core.exceptions import PermissionDenied
|
||||||
|
from django.contrib.auth.decorators import login_required
|
||||||
|
|
||||||
from accounts.utils import is_orga, is_staff
|
from accounts.utils import is_orga, is_staff
|
||||||
|
|
||||||
|
|
||||||
def orga_required(view_func):
|
def orga_required(view_func):
|
||||||
def _is_orga(request, *args, **kwargs):
|
def _is_orga(request, *args, **kwargs):
|
||||||
if is_orga(request, request.user):
|
if not request.user.is_authenticated():
|
||||||
|
return login_required(view_func)(request, *args, **kwargs)
|
||||||
|
elif is_orga(request, request.user):
|
||||||
return view_func(request, *args, **kwargs)
|
return view_func(request, *args, **kwargs)
|
||||||
|
else:
|
||||||
raise PermissionDenied
|
raise PermissionDenied
|
||||||
return wraps(view_func)(_is_orga)
|
return wraps(view_func)(_is_orga)
|
||||||
|
|
||||||
|
|
||||||
def staff_required(view_func):
|
def staff_required(view_func):
|
||||||
def _is_staff(request, *args, **kwargs):
|
def _is_staff(request, *args, **kwargs):
|
||||||
if is_staff(request, request.user):
|
if not request.user.is_authenticated():
|
||||||
|
return login_required(view_func)(request, *args, **kwargs)
|
||||||
|
elif is_staff(request, request.user):
|
||||||
return view_func(request, *args, **kwargs)
|
return view_func(request, *args, **kwargs)
|
||||||
|
else:
|
||||||
raise PermissionDenied
|
raise PermissionDenied
|
||||||
return wraps(view_func)(_is_staff)
|
return wraps(view_func)(_is_staff)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user