def reveal_score(self, request, submission): assert has_scores_reveal(submission.problem) assert self.can_reveal(request, submission)[0] _obj, created = ScoreReveal.objects.get_or_create( submission=submission) return created
def render_submission_footer(self, request, submission): super_footer = super(ScoresRevealContestControllerMixin, self). \ render_submission_footer(request, submission) if not has_scores_reveal(submission.problem) or \ submission.kind != 'NORMAL' or submission.user is None: return super_footer scores_reveals = self.get_revealed_submissions( submission.user, submission.problem_instance).count() scores_reveals_limit = self.get_scores_reveals_limit( submission.problem_instance) scores_reveals_disable_time = self.get_scores_reveals_disable_time( submission.problem_instance) can_reveal, reason = self.can_reveal(request, submission) return render_to_string( 'scoresreveal/submission_footer.html', context_instance=RequestContext( request, { 'submission': submission_template_context(request, submission.programsubmission), 'scores_reveals': scores_reveals, 'scores_reveals_limit': scores_reveals_limit, 'scores_reveals_disable_time': scores_reveals_disable_time, 'can_reveal': can_reveal, 'can_reveal_reason': reason })) + super_footer
def render_submission_footer(self, request, submission): super_footer = super(ScoresRevealContestControllerMixin, self). \ render_submission_footer(request, submission) if not has_scores_reveal(submission.problem) or \ submission.kind != 'NORMAL' or submission.user is None: return super_footer scores_reveals = self.get_revealed_submissions(submission.user, submission.problem_instance).count() scores_reveals_limit = self.get_scores_reveals_limit( submission.problem_instance) scores_reveals_disable_time = self.get_scores_reveals_disable_time( submission.problem_instance) can_reveal, reason = self.can_reveal(request, submission) return render_to_string('scoresreveal/submission_footer.html', context_instance=RequestContext(request, {'submission': submission_template_context(request, submission.programsubmission), 'scores_reveals': scores_reveals, 'scores_reveals_limit': scores_reveals_limit, 'scores_reveals_disable_time': scores_reveals_disable_time, 'can_reveal': can_reveal, 'can_reveal_reason': reason})) + super_footer
def score_reveal_view(request, contest_id, submission_id): submission = get_submission_or_404(request, contest_id, submission_id) controller = request.contest.controller if not has_scores_reveal(submission.problem): raise Http404 decision, reason = controller.can_reveal(request, submission) if not decision: messages.error(request, reason) else: controller.reveal_score(request, submission) messages.success(request, _("Submission score has been revealed.")) return redirect('submission', contest_id=submission.problem_instance.contest_id, submission_id=submission.id)
def score_reveal_view(request, submission_id): submission = get_submission_or_error(request, submission_id) controller = request.contest.controller if not has_scores_reveal(submission.problem): raise Http404 decision, reason = controller.can_reveal(request, submission) if not decision: messages.error(request, reason) else: controller.reveal_score(request, submission) messages.success(request, _("Submission score has been revealed.")) return redirect('submission', contest_id=submission.problem_instance.contest_id, submission_id=submission.id)
def reveal_score(self, request, submission): assert has_scores_reveal(submission.problem_instance) assert self.can_reveal(request, submission)[0] ScoreReveal.objects.get_or_create(submission=submission)
def reveal_score(self, request, submission): assert has_scores_reveal(submission.problem) assert self.can_reveal(request, submission)[0] ScoreReveal.objects.get_or_create(submission=submission)