mirror of
https://github.com/ansible/awx.git
synced 2026-02-22 21:46:00 -03:30
Moving more logic into the models, more view cleanup
This commit is contained in:
@@ -46,5 +46,13 @@ class BaseDetail(generics.RetrieveUpdateDestroyAPIView):
|
|||||||
def delete_permissions_check(self, request, obj):
|
def delete_permissions_check(self, request, obj):
|
||||||
raise exceptions.NotImplementedError()
|
raise exceptions.NotImplementedError()
|
||||||
|
|
||||||
|
def item_permissions_check(self, request, obj):
|
||||||
|
|
||||||
|
if request.method == 'GET':
|
||||||
|
return self.__class__.model.can_user_read(request.user, obj)
|
||||||
|
elif request.method in [ 'PUT' ]:
|
||||||
|
return self.__class__.model.can_user_administrate(request.user, obj)
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,10 @@ class CommonModel(models.Model):
|
|||||||
raise exceptions.NotImplementedError()
|
raise exceptions.NotImplementedError()
|
||||||
|
|
||||||
def can_user_delete(cls, user, obj):
|
def can_user_delete(cls, user, obj):
|
||||||
return user in obj.admins.all()
|
raise exceptions.NotImplementedError
|
||||||
|
|
||||||
|
def can_user_access(cls, user, obj):
|
||||||
|
raise exceptions.NotImplementedError()
|
||||||
|
|
||||||
|
|
||||||
class Tag(models.Model):
|
class Tag(models.Model):
|
||||||
@@ -88,6 +91,16 @@ class Organization(CommonModel):
|
|||||||
def can_user_delete(cls, user, obj):
|
def can_user_delete(cls, user, obj):
|
||||||
return user in obj.admins.all()
|
return user in obj.admins.all()
|
||||||
|
|
||||||
|
def can_user_administrate(cls, user, obj):
|
||||||
|
return request.user in obj.admins.all()
|
||||||
|
|
||||||
|
def can_user_access(cls, user, obj):
|
||||||
|
return self.can_user_administrate(user,obj) or request.user in obj.users.all()
|
||||||
|
|
||||||
|
def can_user_delete(cls, user, obj):
|
||||||
|
return self.can_user_administrate(user, obj)
|
||||||
|
|
||||||
|
|
||||||
class Inventory(CommonModel):
|
class Inventory(CommonModel):
|
||||||
'''
|
'''
|
||||||
an inventory source contains lists and hosts.
|
an inventory source contains lists and hosts.
|
||||||
|
|||||||
Reference in New Issue
Block a user