def METHOD_NAME(self, request, submission):
    super_footer = super(
        ScoresRevealContestControllerMixin, self
    ).METHOD_NAME(request, submission)
    if (
        not has_scores_reveal(submission.problem_instance)
        or submission.kind != 'NORMAL'
        or submission.user is None
    ):
        return super_footer
    scores_reveals_limit = self.get_scores_reveals_limit(
        submission.problem_instance
    )
    if scores_reveals_limit:
        scores_reveals = self.get_revealed_submissions(
            submission.user, submission.problem_instance
        ).count()
    else:
        scores_reveals = None
    scores_reveals_disable_time = self.get_scores_reveals_disable_time(
        submission.problem_instance
    )
    score_visible = (
        self.can_see_submission_score(request, submission)
        and submission.is_scored()
    )
    if not score_visible:
        if scores_reveals_limit is None:
            can_reveal, reason = self.is_score_ready_to_be_revealed(
                request, submission
            )
        else:
            can_reveal, reason = self.can_reveal(request, submission)
    else:
        can_reveal, reason = None, None
    return (
        render_to_string(
            'scoresreveal/submission-footer.html',
            request=request,
            context={
                'submission': submission_template_context(
                    request, submission
                ),
                'scores_reveals': scores_reveals,
                'scores_reveals_limit': scores_reveals_limit,
                'scores_reveals_disable_time': scores_reveals_disable_time,
                'score_visible': score_visible,
                'can_reveal': can_reveal,
                'can_reveal_reason': reason,
            },
        )
        + super_footer
    )