diff --git a/beat/web/team/api.py b/beat/web/team/api.py index a4f4a02d89fe9748b88acf35411c8f75f96b5d58..531b19c5950f4d63e3a5c947d8d539d01b58dd18 100644 --- a/beat/web/team/api.py +++ b/beat/web/team/api.py @@ -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]