mirror of
https://github.com/QingdaoU/OnlineJudge.git
synced 2024-09-21 00:13:18 +00:00
修复几处visible未过滤的问题
This commit is contained in:
parent
8749e4a19a
commit
417337c4d2
@ -396,7 +396,7 @@ class ProfileProblemDisplayIDRefreshAPI(APIView):
|
|||||||
ids = list(acm_problems.keys()) + list(oi_problems.keys())
|
ids = list(acm_problems.keys()) + list(oi_problems.keys())
|
||||||
if not ids:
|
if not ids:
|
||||||
return self.success()
|
return self.success()
|
||||||
display_ids = Problem.objects.filter(id__in=ids).values_list("_id", flat=True)
|
display_ids = Problem.objects.filter(id__in=ids, visible=True).values_list("_id", flat=True)
|
||||||
id_map = dict(zip(ids, display_ids))
|
id_map = dict(zip(ids, display_ids))
|
||||||
for k, v in acm_problems.items():
|
for k, v in acm_problems.items():
|
||||||
v["_id"] = id_map[k]
|
v["_id"] = id_map[k]
|
||||||
|
@ -32,7 +32,7 @@ class ContestAPI(APIView):
|
|||||||
if not id:
|
if not id:
|
||||||
return self.error("Invalid parameter, id is required")
|
return self.error("Invalid parameter, id is required")
|
||||||
try:
|
try:
|
||||||
contest = Contest.objects.get(id=id)
|
contest = Contest.objects.get(id=id, visible=True)
|
||||||
except Contest.DoesNotExist:
|
except Contest.DoesNotExist:
|
||||||
return self.error("Contest does not exist")
|
return self.error("Contest does not exist")
|
||||||
data = ContestSerializer(contest).data
|
data = ContestSerializer(contest).data
|
||||||
@ -107,7 +107,7 @@ class ContestRankAPI(APIView):
|
|||||||
@check_contest_permission(check_type="ranks")
|
@check_contest_permission(check_type="ranks")
|
||||||
def get(self, request):
|
def get(self, request):
|
||||||
force_refresh = request.GET.get("force_refresh")
|
force_refresh = request.GET.get("force_refresh")
|
||||||
is_contest_admin = request.user.is_contest_admin(self.contest)
|
is_contest_admin = request.user.is_authenticated() and request.user.is_contest_admin(self.contest)
|
||||||
if self.contest.rule_type == ContestRuleType.OI:
|
if self.contest.rule_type == ContestRuleType.OI:
|
||||||
serializer = OIContestRankSerializer
|
serializer = OIContestRankSerializer
|
||||||
else:
|
else:
|
||||||
|
@ -51,7 +51,7 @@ class SubmissionAPI(APIView):
|
|||||||
hide_id = False
|
hide_id = False
|
||||||
if data.get("contest_id"):
|
if data.get("contest_id"):
|
||||||
try:
|
try:
|
||||||
contest = Contest.objects.get(id=data["contest_id"])
|
contest = Contest.objects.get(id=data["contest_id"], visible=True)
|
||||||
except Contest.DoesNotExist:
|
except Contest.DoesNotExist:
|
||||||
return self.error("Contest doesn't exist.")
|
return self.error("Contest doesn't exist.")
|
||||||
if contest.status == ContestStatus.CONTEST_ENDED:
|
if contest.status == ContestStatus.CONTEST_ENDED:
|
||||||
|
Loading…
Reference in New Issue
Block a user