Skip to content

Commit f945ad1

Browse files
authored
Merge pull request #52 from PROCOLLAB-github/dev
fixed achievements for users #2
2 parents a462f2b + 798999f commit f945ad1

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

users/views.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,19 @@ class UserDetail(RetrieveUpdateDestroyAPIView):
104104
serializer_class = UserDetailSerializer
105105

106106
def put(self, request, pk):
107+
# bootleg version of updating achievements via user
107108
if request.data.get("achievements") is not None:
108109
achievements = request.data.get("achievements")
109110
for i in achievements:
110-
instance = UserAchievement.objects.get(id=i["id"])
111+
achievement_id = i.get("id")
112+
if achievement_id is None:
113+
UserAchievement.objects.create(
114+
title=request.data["title"],
115+
status=request.data["status"],
116+
user_id=pk,
117+
)
118+
continue
119+
instance = UserAchievement.objects.get(id=achievement_id)
111120
i["user"] = pk
112121
serializer = AchievementDetailSerializer(instance, data=i, partial=False)
113122
serializer.is_valid(raise_exception=True)

0 commit comments

Comments
 (0)