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

[team][api] Pre-commit cleanup

parent b73dee6c
No related branches found
No related tags found
1 merge request!327Refactor update creation api
......@@ -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