mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-22 16:02:16 +00:00
Bug fix for #23
This commit is contained in:
@@ -197,6 +197,14 @@ class SecureAPIRequest(generic.View):
|
|||||||
'profile': models.Profile,
|
'profile': models.Profile,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
perms = {
|
||||||
|
'venue': 'RIGS.view_venue',
|
||||||
|
'person': 'RIGS.view_person',
|
||||||
|
'organisation': 'RIGS.view_organisation',
|
||||||
|
'mic': None,
|
||||||
|
'profile': None,
|
||||||
|
}
|
||||||
|
|
||||||
'''
|
'''
|
||||||
Validate the request is allowed based on user permissions.
|
Validate the request is allowed based on user permissions.
|
||||||
Raises 403 if denied.
|
Raises 403 if denied.
|
||||||
@@ -205,7 +213,7 @@ class SecureAPIRequest(generic.View):
|
|||||||
|
|
||||||
def __validate__(self, request, key, perm):
|
def __validate__(self, request, key, perm):
|
||||||
if request.user.is_active:
|
if request.user.is_active:
|
||||||
if request.user.is_superuser or request.user.is_staff:
|
if request.user.is_superuser or perm is None:
|
||||||
return True
|
return True
|
||||||
elif request.user.has_perm(perm):
|
elif request.user.has_perm(perm):
|
||||||
return True
|
return True
|
||||||
@@ -214,7 +222,7 @@ class SecureAPIRequest(generic.View):
|
|||||||
def get(self, request, model, pk=None, param=None):
|
def get(self, request, model, pk=None, param=None):
|
||||||
# Request permission validation things
|
# Request permission validation things
|
||||||
key = request.GET.get('apikey', None)
|
key = request.GET.get('apikey', None)
|
||||||
perm = 'RIGS.view_' + model
|
perm = self.perms[model]
|
||||||
self.__validate__(request, key, perm)
|
self.__validate__(request, key, perm)
|
||||||
|
|
||||||
# Response format where applicable
|
# Response format where applicable
|
||||||
|
|||||||
Reference in New Issue
Block a user