From aea5fbdb4040945d830c57dec2a5c6ae2966c4c6 Mon Sep 17 00:00:00 2001 From: Evan Zhang <29607503+Ninjaclasher@users.noreply.github.com> Date: Sun, 30 May 2021 19:19:26 -0400 Subject: [PATCH] Filter contest submissions properly in live updates (#1701) Co-authored-by: Quantum --- judge/bridge/judge_handler.py | 4 ++-- judge/views/submission.py | 1 + templates/submission/list.html | 15 +++++++-------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/judge/bridge/judge_handler.py b/judge/bridge/judge_handler.py index 75b866946d..3be25cc7bb 100644 --- a/judge/bridge/judge_handler.py +++ b/judge/bridge/judge_handler.py @@ -613,7 +613,7 @@ def _post_update_submission(self, id, state, done=False): data = self._submission_cache else: self._submission_cache = data = Submission.objects.filter(id=id).values( - 'problem__is_public', 'contest_object__key', + 'problem__is_public', 'contest_object_id', 'user_id', 'problem_id', 'status', 'language__key', ).get() self._submission_cache_id = id @@ -622,7 +622,7 @@ def _post_update_submission(self, id, state, done=False): event.post('submissions', { 'type': 'done-submission' if done else 'update-submission', 'state': state, 'id': id, - 'contest': data['contest_object__key'], + 'contest': data['contest_object_id'], 'user': data['user_id'], 'problem': data['problem_id'], 'status': data['status'], 'language': data['language__key'], }) diff --git a/judge/views/submission.py b/judge/views/submission.py index d56ecddd08..ec13878ec2 100644 --- a/judge/views/submission.py +++ b/judge/views/submission.py @@ -286,6 +286,7 @@ def get_context_data(self, **kwargs): context = super(SubmissionsListBase, self).get_context_data(**kwargs) authenticated = self.request.user.is_authenticated context['dynamic_update'] = False + context['dynamic_contest_id'] = self.in_contest and self.contest.id context['show_problem'] = self.show_problem context['completed_problem_ids'] = user_completed_ids(self.request.profile) if authenticated else [] context['editable_problem_ids'] = user_editable_ids(self.request.profile) if authenticated else [] diff --git a/templates/submission/list.html b/templates/submission/list.html index 0928577053..f2ebb00b68 100644 --- a/templates/submission/list.html +++ b/templates/submission/list.html @@ -2,18 +2,18 @@ {% block js_media %}