File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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 )
You can’t perform that action at this time.
0 commit comments