forked from CGM_Public/pretix_original
Add a view for GlobalSettings
This commit is contained in:
committed by
Raphael Michel
parent
02fd0a8e06
commit
c647aa9f4e
@@ -81,7 +81,7 @@ def organizer_permission_required(permission):
|
||||
|
||||
class OrganizerPermissionRequiredMixin:
|
||||
"""
|
||||
This mixin is equivalent to the event_permission_required view decorator but
|
||||
This mixin is equivalent to the organizer_permission_required view decorator but
|
||||
is in a form suitable for class-based views.
|
||||
"""
|
||||
permission = ''
|
||||
@@ -90,3 +90,33 @@ class OrganizerPermissionRequiredMixin:
|
||||
def as_view(cls, **initkwargs):
|
||||
view = super(OrganizerPermissionRequiredMixin, cls).as_view(**initkwargs)
|
||||
return organizer_permission_required(cls.permission)(view)
|
||||
|
||||
|
||||
def administrator_permission_required(permission):
|
||||
"""
|
||||
This view decorator rejects all requests with a 403 response which are not from
|
||||
users with the is_superuser flag.
|
||||
"""
|
||||
def decorator(function):
|
||||
def wrapper(request, *args, **kw):
|
||||
if not request.user.is_authenticated: # NOQA
|
||||
# just a double check, should not ever happen
|
||||
raise PermissionDenied()
|
||||
if not request.user.is_superuser:
|
||||
raise PermissionDenied(_('You do not have permission to view this content.'))
|
||||
return function(request, *args, **kw)
|
||||
return wrapper
|
||||
return decorator
|
||||
|
||||
|
||||
class AdministratorPermissionRequiredMixin:
|
||||
"""
|
||||
This mixin is equivalent to the administrator_permission_required view decorator but
|
||||
is in a form suitable for class-based views.
|
||||
"""
|
||||
permission = ''
|
||||
|
||||
@classmethod
|
||||
def as_view(cls, **initkwargs):
|
||||
view = super(AdministratorPermissionRequiredMixin, cls).as_view(**initkwargs)
|
||||
return administrator_permission_required(cls.permission)(view)
|
||||
|
||||
Reference in New Issue
Block a user