18 lines
643 B
Python
18 lines
643 B
Python
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
|