Update permissions/RBAC for updates

This commit is contained in:
Wayne Witzel III
2017-05-11 14:01:32 -04:00
parent 0e816a2d98
commit aff084e1f6
3 changed files with 21 additions and 5 deletions

View File

@@ -16,8 +16,8 @@ from awx.main.utils import get_object_or_400
logger = logging.getLogger('awx.api.permissions')
__all__ = ['ModelAccessPermission', 'JobTemplateCallbackPermission',
'TaskPermission', 'ProjectUpdatePermission', 'UserPermission',
'IsSuperUser']
'TaskPermission', 'ProjectUpdatePermission', 'InventoryInventorySourcesUpdatePermission',
'UserPermission', 'IsSuperUser']
class ModelAccessPermission(permissions.BasePermission):
@@ -200,6 +200,12 @@ class ProjectUpdatePermission(ModelAccessPermission):
return check_user_access(request.user, view.model, 'start', project)
class InventoryInventorySourcesUpdatePermission(ModelAccessPermission):
def check_post_permissions(self, request, view, obj=None):
inventory = get_object_or_400(view.model, pk=view.kwargs['pk'])
return check_user_access(request.user, view.model, 'update', inventory)
class UserPermission(ModelAccessPermission):
def check_post_permissions(self, request, view, obj=None):
if not request.data: