From 0a306ee0ad1233aaf87b8c3f594b4559c86fe627 Mon Sep 17 00:00:00 2001 From: Michael DeHaan Date: Thu, 4 Apr 2013 14:41:31 -0400 Subject: [PATCH] Team credentials listing. --- lib/main/models/__init__.py | 5 ++--- lib/main/tests/projects.py | 8 ++++---- lib/main/views.py | 4 ++-- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/main/models/__init__.py b/lib/main/models/__init__.py index 63eaac4afd..9d5bd0fb91 100644 --- a/lib/main/models/__init__.py +++ b/lib/main/models/__init__.py @@ -557,9 +557,8 @@ class Credential(CommonModelNameNotUnique): user_obj = User.objects.get(pk=data['user']) return UserHelper.can_user_administrate(user, user_obj) if 'team' in data: - raise Exception("FIXME") - #team_obj = Team.objects.get(pk=data['team']) - #return team_obj.organization.users.filter(admins__in = [user]).count() + team_obj = Team.objects.get(pk=data['team']) + return Team.can_user_administrate(user, team_obj) def get_absolute_url(self): import lib.urls diff --git a/lib/main/tests/projects.py b/lib/main/tests/projects.py index 94af25e100..93094a2981 100644 --- a/lib/main/tests/projects.py +++ b/lib/main/tests/projects.py @@ -308,15 +308,15 @@ class ProjectsTest(BaseTest): self.post(team_creds, data=new_credentials, expect=401, auth=self.get_invalid_credentials()) self.post(team_creds, data=new_credentials, expect=201, auth=self.get_super_credentials()) self.post(team_creds, data=new_credentials, expect=201, auth=self.get_normal_credentials()) - self.post(team_creds, data=new_credentials, expect=201, auth=self.get_other_credentials()) + self.post(team_creds, data=new_credentials, expect=403, auth=self.get_other_credentials()) self.post(team_creds, data=new_credentials, expect=403, auth=self.get_nobody_credentials()) # can list credentials on a user self.get(other_creds, expect=401) self.get(other_creds, expect=401, auth=self.get_invalid_credentials()) - self.get(other_creds, expect=201, auth=self.get_super_credentials()) - self.get(other_creds, expect=201, auth=self.get_normal_credentials()) - self.get(other_creds, expect=201, auth=self.get_other_credentials()) + self.get(other_creds, expect=200, auth=self.get_super_credentials()) + self.get(other_creds, expect=200, auth=self.get_normal_credentials()) + self.get(other_creds, expect=200, auth=self.get_other_credentials()) self.get(other_creds, expect=403, auth=self.get_nobody_credentials()) # can list credentials on a team diff --git a/lib/main/views.py b/lib/main/views.py index 6f3d330caa..056d43a22e 100644 --- a/lib/main/views.py +++ b/lib/main/views.py @@ -229,7 +229,7 @@ class TeamsCredentialsList(BaseSubList): if not Team.can_user_read(self.request.user, team): raise PermissionDenied() project_credentials = Credential.objects.filter( - projects__teams__users__in = [ user ] + projects__team__users__in = [ user ] ) return user.credentials.distinct() | project_credentials.distinct() @@ -370,7 +370,7 @@ class UsersCredentialsList(BaseSubList): if not UserHelper.can_user_administrate(self.request.user, user): raise PermissionDenied() project_credentials = Credential.objects.filter( - projects__teams__users__in = [ user ] + team__users__in = [ user ] ) return user.credentials.distinct() | project_credentials.distinct()