Merge pull request #1 from ExpMango/master

filter VirtualP in Contest ranklist
This commit is contained in:
HandsomeHow 2018-12-15 21:44:09 +08:00 committed by GitHub
commit 8678a1b378
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -99,6 +99,17 @@ class ContestAccessAPI(APIView):
class ContestRankAPI(APIView):
# filter root or *{username}
def realrank_filter(self, page_qs):
rank_cnt = 1
for t in page_qs["results"]:
if t["user"]["username"][0] == '*':
t["rank"] = '*'
else:
t["rank"] = rank_cnt
rank_cnt = rank_cnt + 1
def get_rank(self):
if self.contest.rule_type == ContestRuleType.ACM:
return ACMContestRank.objects.filter(contest=self.contest,
@ -185,9 +196,9 @@ class ContestRankAPI(APIView):
page_qs = self.paginate_data(request, qs)
page_qs["results"] = serializer(page_qs["results"], many=True, is_contest_admin=is_contest_admin).data
self.realrank_filter(page_qs)
return self.success(page_qs)
class ContestGetSimilarAPI(APIView):
def get(self, request):
contest_id = request.GET.get("contest_id")