Source code for oioioi.simpleui.forms

from django import forms
from django.urls import reverse
from django.utils.translation import gettext_lazy as _
from oioioi.base.utils import make_html_link
from oioioi.contests.models import ProblemInstance, Round
from oioioi.programs.models import Test


[docs]class ProblemInstanceForm(forms.ModelForm): def __init__(self, *args, **kwargs): super(ProblemInstanceForm, self).__init__(*args, **kwargs) self.fields['round'].queryset = Round.objects.filter( contest=kwargs['instance'].contest )
[docs] class Meta(object):
[docs] model = ProblemInstance
[docs] fields = ['submissions_limit', 'round', 'id']
[docs]class TestForm(forms.ModelForm): def __init__(self, *args, **kwargs): super(TestForm, self).__init__(*args, **kwargs) instance = kwargs['instance'] self.fields['input_file'].link = self.input_file_link(instance) self.fields['output_file'].link = self.output_file_link(instance)
[docs] class Meta(object):
[docs] model = Test
[docs] fields = ( 'name', 'time_limit', 'memory_limit', 'max_score', 'kind', 'input_file', 'output_file', 'is_active', 'id', )
[docs] readonly_fields = ('name', 'kind', 'group', 'input_file', 'output_file', 'id')
[docs] ordering = ('kind', 'order', 'name')
[docs] input_file_link.short_description = _("Input file")
output_file_link.short_description = _("Output/hint file")