mirror of
https://github.com/ansible/awx.git
synced 2026-02-15 02:00:01 -03:30
Wiring up team credentials service (WIP).
This commit is contained in:
@@ -557,8 +557,9 @@ class Credential(CommonModelNameNotUnique):
|
||||
user_obj = User.objects.get(pk=data['user'])
|
||||
return UserHelper.can_user_administrate(user, user_obj)
|
||||
if 'team' in data:
|
||||
team_obj = Team.objects.get(pk=data['user'])
|
||||
return team_obj.organization.users.filter(admins__in = [user]).count()
|
||||
raise Exception("FIXME")
|
||||
#team_obj = Team.objects.get(pk=data['team'])
|
||||
#return team_obj.organization.users.filter(admins__in = [user]).count()
|
||||
|
||||
def get_absolute_url(self):
|
||||
import lib.urls
|
||||
|
||||
@@ -214,6 +214,26 @@ class TeamsUsersList(BaseSubList):
|
||||
return base
|
||||
raise PermissionDenied()
|
||||
|
||||
class TeamsCredentialsList(BaseSubList):
|
||||
|
||||
model = Credential
|
||||
serializer_class = CredentialSerializer
|
||||
permission_classes = (CustomRbac,)
|
||||
parent_model = Team
|
||||
relationship = 'credentials'
|
||||
postable = True
|
||||
inject_primary_key_on_post_as = 'team'
|
||||
|
||||
def _get_queryset(self):
|
||||
team = Team.objects.get(pk=self.kwargs['pk'])
|
||||
if not Team.can_user_read(self.request.user, team):
|
||||
raise PermissionDenied()
|
||||
project_credentials = Credential.objects.filter(
|
||||
projects__teams__users__in = [ user ]
|
||||
)
|
||||
return user.credentials.distinct() | project_credentials.distinct()
|
||||
|
||||
|
||||
class ProjectsList(BaseList):
|
||||
|
||||
model = Project
|
||||
|
||||
Reference in New Issue
Block a user