def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['has_rating'] = self.object.ratings.exists() if self.request.user.is_authenticated and self.request.in_contest: context['completed_problem_ids'] = contest_completed_ids(self.request.profile.current_contest) return context
def get_context_data(self, **kwargs): context = super(ContestDetail, self).get_context_data(**kwargs) clarifications = ProblemClarification.objects.filter(problem__in=self.object.problems.all()) context['has_clarifications'] = clarifications.count() > 0 context['clarifications'] = clarifications.order_by('-date') if self.request.user.is_authenticated: if self.request.in_contest: context['completed_problem_ids'] = contest_completed_ids(self.request.profile.current_contest) context['own_open_tickets'] = (Ticket.objects.filter(user=self.request.profile, is_open=True).order_by('-id') .prefetch_related('linked_item').select_related('user__user')) context['contest_problems'] = Problem.objects.filter(contests__contest=self.object) \ .order_by('contests__order').defer('description') \ .annotate(has_public_editorial=Sum(Case(When(solution__is_public=True, then=1), default=0, output_field=IntegerField()))) \ .add_i18n_name(self.request.LANGUAGE_CODE) return context
def get_completed_problems(self): if self.in_contest: return contest_completed_ids(self.profile.current_contest) else: return user_completed_ids(self.profile) if self.profile is not None else ()
def get_completed_problems(self): if self.in_contest: return contest_completed_ids(self.contest_profile.current) else: return user_completed_ids(self.profile) if self.profile is not None else ()