mirror of
https://github.com/QingdaoU/OnlineJudge.git
synced 2024-09-21 08:23:20 +00:00
fix error in refresh displayID
This commit is contained in:
parent
343eff1c51
commit
48f65d1a14
@ -385,13 +385,19 @@ class UserRankAPI(APIView):
|
|||||||
class ProfileProblemDisplayIDRefreshAPI(APIView):
|
class ProfileProblemDisplayIDRefreshAPI(APIView):
|
||||||
@login_required
|
@login_required
|
||||||
def get(self, request):
|
def get(self, request):
|
||||||
|
user_id = request.GET.get("user_id")
|
||||||
|
if not user_id:
|
||||||
|
return self.error("Invalid parameter, user_id is required")
|
||||||
|
if request.user.id != user_id:
|
||||||
|
return self.error("Only user self can require a refresh")
|
||||||
profile = request.user.userprofile
|
profile = request.user.userprofile
|
||||||
acm_problems = profile.acm_problems_status["problems"]
|
acm_problems = profile.acm_problems_status.get("problems", {})
|
||||||
oi_problems = profile.oi_problems_status["problems"]
|
oi_problems = profile.oi_problems_status.get("problems", {})
|
||||||
ids = list(acm_problems.keys()) + list(oi_problems.keys())
|
ids = list(acm_problems.keys()) + list(oi_problems.keys())
|
||||||
|
if not ids:
|
||||||
|
return self.success()
|
||||||
display_ids = Problem.objects.filter(id__in=ids).values_list("_id", flat=True)
|
display_ids = Problem.objects.filter(id__in=ids).values_list("_id", flat=True)
|
||||||
id_map = dict(zip(ids, display_ids))
|
id_map = dict(zip(ids, display_ids))
|
||||||
print(id_map)
|
|
||||||
for k, v in acm_problems.items():
|
for k, v in acm_problems.items():
|
||||||
v["_id"] = id_map[k]
|
v["_id"] = id_map[k]
|
||||||
for k, v in oi_problems.items():
|
for k, v in oi_problems.items():
|
||||||
|
Loading…
Reference in New Issue
Block a user