Skip to content
Snippets Groups Projects
Commit f15af3b1 authored by Samuel GAIST's avatar Samuel GAIST Committed by Samuel GAIST
Browse files

[team][api] Pre-commit cleanup

parent 1723c46b
No related branches found
No related tags found
No related merge requests found
This commit is part of merge request !327. Comments created here will be created in the context of that merge request.
......@@ -46,20 +46,21 @@ from ..common.responses import BadRequestResponse, ForbiddenResponse
from ..common.mixins import CommonContextMixin
#----------------------------------------------------------
# ----------------------------------------------------------
class UserTeamListView(CommonContextMixin, generics.ListCreateAPIView):
"""
Lists the team from a user and create new teams
"""
model = Team
serializer_class = SimpleTeamSerializer
writing_serializer_class = TeamCreationSerializer
permission_classes = [permissions.IsAuthenticated]
def get_serializer(self, *args, **kwargs):
if self.request.method == 'POST':
if self.request.method == "POST":
self.serializer_class = self.writing_serializer_class
return super(UserTeamListView, self).get_serializer(*args, **kwargs)
......@@ -69,13 +70,19 @@ class UserTeamListView(CommonContextMixin, generics.ListCreateAPIView):
if request.user == owner:
queryset = Team.objects.filter(owner=owner)
else:
queryset = Team.objects.filter(Q(owner=owner), Q(privacy_level=Team.PUBLIC)|Q(privacy_level=Team.MEMBERS, members=request.user)).distinct()
serializer = self.get_serializer(queryset, many=True, context={'user': request.user})
queryset = Team.objects.filter(
Q(owner=owner),
Q(privacy_level=Team.PUBLIC)
| Q(privacy_level=Team.MEMBERS, members=request.user),
).distinct()
serializer = self.get_serializer(
queryset, many=True, context={"user": request.user}
)
return Response(serializer.data)
#----------------------------------------------------------
# ----------------------------------------------------------
class TeamDetailView(CommonContextMixin, generics.RetrieveUpdateDestroyAPIView):
......@@ -89,15 +96,15 @@ class TeamDetailView(CommonContextMixin, generics.RetrieveUpdateDestroyAPIView):
def get_permissions(self):
self.permission_classes = [permissions.IsAuthenticatedOrReadOnly]
if self.request.method == 'GET':
if self.request.method == "GET":
self.permission_classes.append(HasPrivacyLevel)
else:
self.permission_classes.append(IsOwner)
return super(TeamDetailView, self).get_permissions()
def get_queryset(self):
owner_name = self.kwargs.get('owner_name')
team_name = self.kwargs.get('team_name')
owner_name = self.kwargs.get("owner_name")
team_name = self.kwargs.get("team_name")
team = get_object_or_404(Team, owner__username=owner_name, name=team_name)
......@@ -106,21 +113,24 @@ class TeamDetailView(CommonContextMixin, generics.RetrieveUpdateDestroyAPIView):
return team
def get_serializer(self, *args, **kwargs):
if self.request.method in ['PUT', 'PATCH']:
if self.request.method in ["PUT", "PATCH"]:
self.serializer_class = self.writing_serializer_class
return super(TeamDetailView, self).get_serializer(*args, **kwargs)
def get(self, request, owner_name, team_name):
team = self.get_queryset()
serializer = self.serializer_class(team, context={'user': request.user})
serializer = self.serializer_class(team, context={"user": request.user})
return Response(serializer.data)
def delete(self, request, owner_name, team_name):
team = self.get_queryset()
# Check that the team can still be deleted
if not(team.deletable()):
return ForbiddenResponse("The team isn't deletable (it has been used to share %d objects with its members)" % team.total_shares())
if not (team.deletable()):
return ForbiddenResponse(
"The team isn't deletable (it has been used to share %d objects with its members)"
% team.total_shares()
)
team.delete()
return Response(status=status.HTTP_204_NO_CONTENT)
......@@ -129,29 +139,34 @@ class TeamDetailView(CommonContextMixin, generics.RetrieveUpdateDestroyAPIView):
team = self.get_queryset()
self.check_object_permissions(request, team)
serializer = self.writing_serializer_class(team, data=request.data, partial=True)
if not(serializer.is_valid()):
serializer = self.writing_serializer_class(
team, data=request.data, partial=True
)
if not (serializer.is_valid()):
return BadRequestResponse(serializer.errors)
db_object = serializer.save()
result = {
'name': db_object.name,
'url': reverse('api_teams:team_info', args=[db_object.owner.username, db_object.name])
"name": db_object.name,
"url": reverse(
"api_teams:team_info", args=[db_object.owner.username, db_object.name]
),
}
response = Response(result, status=200)
response['Location'] = result['url']
response["Location"] = result["url"]
return response
#----------------------------------------------------------
# ----------------------------------------------------------
class TeamListView(CommonContextMixin, generics.ListAPIView):
"""
List all teams of the caller
"""
model = Team
serializer_class = SimpleTeamSerializer
permission_classes = [permissions.IsAuthenticated]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment