mirror of
https://github.com/QingdaoU/OnlineJudge.git
synced 2025-11-04 14:49:58 +08:00
Merge pull request #1 from ExpMango/master
filter VirtualP in Contest ranklist
This commit is contained in:
commit
8678a1b378
@ -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")
|
||||
|
||||
Loading…
Reference in New Issue
Block a user