Wiring up team credentials service (WIP).

This commit is contained in:
Michael DeHaan
2013-04-04 12:38:41 -04:00
parent 5087db5a7f
commit 2c2c26860f
3 changed files with 26 additions and 2 deletions

View File

@@ -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

View File

@@ -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