diff --git a/accounts/decorators.py b/accounts/decorators.py index 8618cf2..fb769de 100644 --- a/accounts/decorators.py +++ b/accounts/decorators.py @@ -1,15 +1,20 @@ from functools import wraps +from django.core.exceptions import PermissionDenied from accounts.utils import is_orga, is_staff def orga_required(func): def _is_orga(request, *args, **kwargs): - return is_orga(request, request.user) + if is_orga(request, request.user): + return view_func(request, *args, **kwargs) + raise PermissionDenied return wraps(func)(_is_orga) -def staff_required(func): +def staff_required(view_func): def _is_staff(request, *args, **kwargs): - return is_staff(request, request.user) - return wraps(func)(_is_staff) + if is_staff(request, request.user): + return view_func(request, *args, **kwargs) + raise PermissionDenied + return wraps(view_func)(_is_staff)