Reformat using black
This commit is contained in:
parent
efee4ad081
commit
a87fb49918
221 changed files with 19127 additions and 7310 deletions
|
@ -16,41 +16,63 @@ from judge.widgets import AdminHeavySelect2MultipleWidget, AdminPagedownWidget
|
|||
|
||||
class LanguageForm(ModelForm):
|
||||
problems = ModelMultipleChoiceField(
|
||||
label=_('Disallowed problems'),
|
||||
label=_("Disallowed problems"),
|
||||
queryset=Problem.objects.all(),
|
||||
required=False,
|
||||
help_text=_('These problems are NOT allowed to be submitted in this language'),
|
||||
widget=AdminHeavySelect2MultipleWidget(data_view='problem_select2'))
|
||||
help_text=_("These problems are NOT allowed to be submitted in this language"),
|
||||
widget=AdminHeavySelect2MultipleWidget(data_view="problem_select2"),
|
||||
)
|
||||
|
||||
class Meta:
|
||||
if AdminPagedownWidget is not None:
|
||||
widgets = {'description': AdminPagedownWidget}
|
||||
widgets = {"description": AdminPagedownWidget}
|
||||
|
||||
|
||||
class LanguageAdmin(VersionAdmin):
|
||||
fields = ('key', 'name', 'short_name', 'common_name', 'ace', 'pygments', 'info', 'description',
|
||||
'template', 'problems')
|
||||
list_display = ('key', 'name', 'common_name', 'info')
|
||||
fields = (
|
||||
"key",
|
||||
"name",
|
||||
"short_name",
|
||||
"common_name",
|
||||
"ace",
|
||||
"pygments",
|
||||
"info",
|
||||
"description",
|
||||
"template",
|
||||
"problems",
|
||||
)
|
||||
list_display = ("key", "name", "common_name", "info")
|
||||
form = LanguageForm
|
||||
|
||||
def save_model(self, request, obj, form, change):
|
||||
super(LanguageAdmin, self).save_model(request, obj, form, change)
|
||||
obj.problem_set.set(Problem.objects.exclude(id__in=form.cleaned_data['problems'].values('id')))
|
||||
obj.problem_set.set(
|
||||
Problem.objects.exclude(id__in=form.cleaned_data["problems"].values("id"))
|
||||
)
|
||||
|
||||
def get_form(self, request, obj=None, **kwargs):
|
||||
self.form.base_fields['problems'].initial = \
|
||||
Problem.objects.exclude(id__in=obj.problem_set.values('id')).values_list('pk', flat=True) if obj else []
|
||||
self.form.base_fields["problems"].initial = (
|
||||
Problem.objects.exclude(id__in=obj.problem_set.values("id")).values_list(
|
||||
"pk", flat=True
|
||||
)
|
||||
if obj
|
||||
else []
|
||||
)
|
||||
form = super(LanguageAdmin, self).get_form(request, obj, **kwargs)
|
||||
if obj is not None:
|
||||
form.base_fields['template'].widget = AceWidget(obj.ace, request.profile.ace_theme)
|
||||
form.base_fields["template"].widget = AceWidget(
|
||||
obj.ace, request.profile.ace_theme
|
||||
)
|
||||
return form
|
||||
|
||||
|
||||
class GenerateKeyTextInput(TextInput):
|
||||
def render(self, name, value, attrs=None, renderer=None):
|
||||
text = super(TextInput, self).render(name, value, attrs)
|
||||
return mark_safe(text + format_html(
|
||||
'''\
|
||||
return mark_safe(
|
||||
text
|
||||
+ format_html(
|
||||
"""\
|
||||
<a href="#" onclick="return false;" class="button" id="id_{0}_regen">Regenerate</a>
|
||||
<script type="text/javascript">
|
||||
django.jQuery(document).ready(function ($) {{
|
||||
|
@ -65,37 +87,59 @@ django.jQuery(document).ready(function ($) {{
|
|||
}});
|
||||
}});
|
||||
</script>
|
||||
''', name))
|
||||
""",
|
||||
name,
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
class JudgeAdminForm(ModelForm):
|
||||
class Meta:
|
||||
widgets = {'auth_key': GenerateKeyTextInput}
|
||||
widgets = {"auth_key": GenerateKeyTextInput}
|
||||
if AdminPagedownWidget is not None:
|
||||
widgets['description'] = AdminPagedownWidget
|
||||
widgets["description"] = AdminPagedownWidget
|
||||
|
||||
|
||||
class JudgeAdmin(VersionAdmin):
|
||||
form = JudgeAdminForm
|
||||
readonly_fields = ('created', 'online', 'start_time', 'ping', 'load', 'last_ip', 'runtimes', 'problems')
|
||||
fieldsets = (
|
||||
(None, {'fields': ('name', 'auth_key', 'is_blocked')}),
|
||||
(_('Description'), {'fields': ('description',)}),
|
||||
(_('Information'), {'fields': ('created', 'online', 'last_ip', 'start_time', 'ping', 'load')}),
|
||||
(_('Capabilities'), {'fields': ('runtimes', 'problems')}),
|
||||
readonly_fields = (
|
||||
"created",
|
||||
"online",
|
||||
"start_time",
|
||||
"ping",
|
||||
"load",
|
||||
"last_ip",
|
||||
"runtimes",
|
||||
"problems",
|
||||
)
|
||||
list_display = ('name', 'online', 'start_time', 'ping', 'load', 'last_ip')
|
||||
ordering = ['-online', 'name']
|
||||
fieldsets = (
|
||||
(None, {"fields": ("name", "auth_key", "is_blocked")}),
|
||||
(_("Description"), {"fields": ("description",)}),
|
||||
(
|
||||
_("Information"),
|
||||
{"fields": ("created", "online", "last_ip", "start_time", "ping", "load")},
|
||||
),
|
||||
(_("Capabilities"), {"fields": ("runtimes", "problems")}),
|
||||
)
|
||||
list_display = ("name", "online", "start_time", "ping", "load", "last_ip")
|
||||
ordering = ["-online", "name"]
|
||||
|
||||
def get_urls(self):
|
||||
return ([url(r'^(\d+)/disconnect/$', self.disconnect_view, name='judge_judge_disconnect'),
|
||||
url(r'^(\d+)/terminate/$', self.terminate_view, name='judge_judge_terminate')] +
|
||||
super(JudgeAdmin, self).get_urls())
|
||||
return [
|
||||
url(
|
||||
r"^(\d+)/disconnect/$",
|
||||
self.disconnect_view,
|
||||
name="judge_judge_disconnect",
|
||||
),
|
||||
url(
|
||||
r"^(\d+)/terminate/$", self.terminate_view, name="judge_judge_terminate"
|
||||
),
|
||||
] + super(JudgeAdmin, self).get_urls()
|
||||
|
||||
def disconnect_judge(self, id, force=False):
|
||||
judge = get_object_or_404(Judge, id=id)
|
||||
judge.disconnect(force=force)
|
||||
return HttpResponseRedirect(reverse('admin:judge_judge_changelist'))
|
||||
return HttpResponseRedirect(reverse("admin:judge_judge_changelist"))
|
||||
|
||||
def disconnect_view(self, request, id):
|
||||
return self.disconnect_judge(id)
|
||||
|
@ -105,7 +149,7 @@ class JudgeAdmin(VersionAdmin):
|
|||
|
||||
def get_readonly_fields(self, request, obj=None):
|
||||
if obj is not None and obj.online:
|
||||
return self.readonly_fields + ('name',)
|
||||
return self.readonly_fields + ("name",)
|
||||
return self.readonly_fields
|
||||
|
||||
def has_delete_permission(self, request, obj=None):
|
||||
|
@ -116,5 +160,5 @@ class JudgeAdmin(VersionAdmin):
|
|||
|
||||
if AdminPagedownWidget is not None:
|
||||
formfield_overrides = {
|
||||
TextField: {'widget': AdminPagedownWidget},
|
||||
TextField: {"widget": AdminPagedownWidget},
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue