diff --git a/bugsink/decorators.py b/bugsink/decorators.py index 274fa23..a27d393 100644 --- a/bugsink/decorators.py +++ b/bugsink/decorators.py @@ -16,6 +16,8 @@ def login_exempt(view): def project_membership_required(function): @wraps(function) def wrapper(request, *args, **kwargs): + if request.user.is_superuser: + return function(request, *args, **kwargs) if "project_pk" not in kwargs: raise TypeError("project_pk must be passed as a keyword argument") project_pk = kwargs.pop("project_pk") @@ -32,6 +34,8 @@ def project_membership_required(function): def issue_membership_required(function): @wraps(function) def wrapper(request, *args, **kwargs): + if request.user.is_superuser: + return function(request, *args, **kwargs) if "issue_pk" not in kwargs: raise TypeError("issue_pk must be passed as a keyword argument") issue_pk = kwargs.pop("issue_pk") @@ -48,6 +52,8 @@ def issue_membership_required(function): def event_membership_required(function): @wraps(function) def wrapper(request, *args, **kwargs): + if request.user.is_superuser: + return function(request, *args, **kwargs) if "event_pk" not in kwargs: raise TypeError("event_pk must be passed as a keyword argument") event_pk = kwargs.pop("event_pk")