Skip to content

Commit 1f06068

Browse files
committed
raise NotFound exception in permission, fix UserProjectsSerializer get_collaborator
1 parent af712f2 commit 1f06068

2 files changed

Lines changed: 8 additions & 3 deletions

File tree

news/permissions.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from django.contrib.auth import get_user_model
22
from rest_framework import permissions
3+
from rest_framework.exceptions import NotFound
34
from rest_framework.permissions import SAFE_METHODS
45

56
from partner_programs.models import PartnerProgram
@@ -42,14 +43,14 @@ def has_permission(self, request, view):
4243
if request.method in SAFE_METHODS or (request.user == project.leader):
4344
return True
4445
except Project.DoesNotExist:
45-
return False
46+
raise NotFound
4647

4748
if view.kwargs.get("user_pk"):
4849
try:
4950
user = User.objects.get(pk=view.kwargs["user_pk"])
5051
if request.method in SAFE_METHODS or (request.user == user):
5152
return True
5253
except User.DoesNotExist:
53-
return False
54+
raise NotFound
5455

5556
return False

users/serializers.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,11 @@ def get_collaborator(self, project: Project):
220220
# TODO: fix me, import in a functon
221221
from projects.serializers import CollaboratorSerializer
222222

223-
user = self.context.get("request").user
223+
user = (
224+
self.context.get("request").user
225+
if self.context.get("user") is None
226+
else self.context.get("user")
227+
)
224228
try:
225229
collaborator = project.collaborator_set.get(user=user)
226230
except Collaborator.DoesNotExist:

0 commit comments

Comments
 (0)