from django.utils.translation import gettext_lazy from django.views.generic import ListView from judge.models import Language from judge.utils.views import TitleMixin class LanguageList(TitleMixin, ListView): model = Language context_object_name = "languages" template_name = "status/language-list.html" title = gettext_lazy("Runtimes") def get_queryset(self): queryset = super().get_queryset().prefetch_related("runtimeversion_set") if not self.request.user.is_superuser and not self.request.user.is_staff: queryset = queryset.filter(judges__online=True).distinct() return queryset