Skip to content

Commit 74e3160

Browse files
committed
Merge branch 'dev'
2 parents 5f6c99e + f090af9 commit 74e3160

3 files changed

Lines changed: 22 additions & 10 deletions

File tree

chats/serializers.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ class DirectChatListSerializer(serializers.ModelSerializer):
1818

1919
def get_opponent(self, chat: DirectChat):
2020
user = self.context.get("opponent")
21-
return UserDetailSerializer(user).data
21+
return UserDetailSerializer(
22+
user, context={"request": self.context.get("request")}
23+
).data
2224

2325
def get_name(self, chat: DirectChat):
2426
user = self.context.get("opponent")
@@ -42,7 +44,9 @@ class DirectChatDetailSerializer(serializers.ModelSerializer):
4244

4345
def get_opponent(self, chat: DirectChat):
4446
user = self.context.get("opponent")
45-
return UserDetailSerializer(user).data
47+
return UserDetailSerializer(
48+
user, context={"request": self.context.get("request")}
49+
).data
4650

4751
class Meta:
4852
model = DirectChat
@@ -87,9 +91,10 @@ def get_image_address(cls, chat: ProjectChat):
8791
def get_name(cls, chat: ProjectChat):
8892
return chat.project.name
8993

90-
@classmethod
91-
def get_users(cls, chat: ProjectChat):
92-
return UserListSerializer(chat.get_users(), many=True).data
94+
def get_users(self, chat: ProjectChat):
95+
return UserListSerializer(
96+
chat.get_users(), context={"request": self.context.get("request")}, many=True
97+
).data
9398

9499
class Meta:
95100
model = ProjectChat

users/serializers.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,10 @@ def get_projects(cls, user: CustomUser):
104104
def get_links(cls, user: CustomUser):
105105
return [user_link.link for user_link in user.links.all()]
106106

107-
@classmethod
108-
def get_is_online(cls, user: CustomUser):
107+
def get_is_online(self, user: CustomUser):
108+
request = self.context.get("request")
109+
if request and request.user.is_authenticated and request.user.id == user.id:
110+
return True
109111
cache_key = get_user_online_cache_key(user)
110112
return cache.get(cache_key, False)
111113

@@ -240,8 +242,11 @@ class UserListSerializer(serializers.ModelSerializer):
240242
key_skills = KeySkillsField(required=False)
241243
is_online = serializers.SerializerMethodField()
242244

243-
@classmethod
244-
def get_is_online(cls, user: CustomUser) -> bool:
245+
def get_is_online(self, user: CustomUser) -> bool:
246+
request = self.context.get("request")
247+
if request and request.user.is_authenticated and request.user.id == user.id:
248+
return True
249+
245250
cache_key = get_user_online_cache_key(user)
246251
is_online = cache.get(cache_key, False)
247252
return is_online

users/views.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,9 @@ def put(self, request: Request, pk):
317317
request.user.onboarding_stage = new_stage
318318
request.user.save()
319319

320-
serialized_user = UserListSerializer(request.user)
320+
serialized_user = UserListSerializer(
321+
request.user, context={"request": request}
322+
)
321323
data = serialized_user.data
322324
return Response(status=status.HTTP_200_OK, data=data)
323325
except Exception:

0 commit comments

Comments
 (0)