Skip to content

Commit a7abac5

Browse files
committed
fixed achievements for projects aswell
1 parent 76f8c50 commit a7abac5

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

projects/views.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,28 @@ class ProjectDetail(generics.RetrieveUpdateDestroyAPIView):
7171
serializer_class = ProjectDetailSerializer
7272
permission_classes = [IsProjectLeaderOrReadOnly]
7373

74+
def put(self, request, pk):
75+
# bootleg version of updating achievements via project
76+
if request.data.get("achievements") is not None:
77+
achievements = request.data.get("achievements")
78+
for i in achievements:
79+
achievement_id = i.get("id")
80+
if achievement_id is None:
81+
Achievement.objects.create(
82+
title=i["title"],
83+
status=i["status"],
84+
project_id=pk,
85+
)
86+
else:
87+
instance = Achievement.objects.get(id=achievement_id)
88+
i["project"] = pk
89+
serializer = AchievementDetailSerializer(
90+
instance, data=i, partial=False
91+
)
92+
serializer.is_valid(raise_exception=True)
93+
serializer.save()
94+
return Response(status=status.HTTP_200_OK)
95+
7496

7597
class ProjectCountView(generics.GenericAPIView):
7698
queryset = Project.objects.get_projects_for_count_view()

0 commit comments

Comments
 (0)