Update participation when editing contest from UI
This commit is contained in:
parent
c86e34fba1
commit
ac2fd3dfe0
2 changed files with 10 additions and 1 deletions
|
@ -113,7 +113,7 @@ class ICPCContestFormat(DefaultContestFormat):
|
||||||
if format_data:
|
if format_data:
|
||||||
penalty = (
|
penalty = (
|
||||||
format_html(
|
format_html(
|
||||||
'<small style="color:red"> ({penalty})</small>',
|
'<small style="color:red"> +{penalty}</small>',
|
||||||
penalty=floatformat(format_data["penalty"]),
|
penalty=floatformat(format_data["penalty"]),
|
||||||
)
|
)
|
||||||
if format_data["penalty"]
|
if format_data["penalty"]
|
||||||
|
|
|
@ -7,6 +7,7 @@ from django.contrib.auth.models import User
|
||||||
from django.contrib.auth.forms import AuthenticationForm
|
from django.contrib.auth.forms import AuthenticationForm
|
||||||
from django.core.exceptions import ValidationError, ObjectDoesNotExist
|
from django.core.exceptions import ValidationError, ObjectDoesNotExist
|
||||||
from django.core.validators import RegexValidator
|
from django.core.validators import RegexValidator
|
||||||
|
from django.db import transaction
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
from django.forms import (
|
from django.forms import (
|
||||||
CharField,
|
CharField,
|
||||||
|
@ -45,6 +46,7 @@ from judge.widgets import (
|
||||||
Select2MultipleWidget,
|
Select2MultipleWidget,
|
||||||
DateTimePickerWidget,
|
DateTimePickerWidget,
|
||||||
)
|
)
|
||||||
|
from judge.tasks import rescore_contest
|
||||||
|
|
||||||
|
|
||||||
def fix_unicode(string, unsafe=tuple("\u202a\u202b\u202d\u202e")):
|
def fix_unicode(string, unsafe=tuple("\u202a\u202b\u202d\u202e")):
|
||||||
|
@ -249,6 +251,13 @@ class EditOrganizationContestForm(ModelForm):
|
||||||
self.fields[field].widget.get_url() + "?org_id=1"
|
self.fields[field].widget.get_url() + "?org_id=1"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def save(self, commit=True):
|
||||||
|
res = super(EditOrganizationContestForm, self).save(commit=False)
|
||||||
|
if commit:
|
||||||
|
res.save()
|
||||||
|
transaction.on_commit(rescore_contest.s(res.key).delay)
|
||||||
|
return res
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Contest
|
model = Contest
|
||||||
fields = (
|
fields = (
|
||||||
|
|
Loading…
Reference in a new issue