63 lines
3.3 KiB
Python
63 lines
3.3 KiB
Python
# Generated by Django 2.2.17 on 2021-05-24 19:22
|
|
|
|
from django.db import migrations, models
|
|
|
|
def hide_scoreboard_eq_true(apps, schema_editor):
|
|
Contest = apps.get_model('judge', 'Contest')
|
|
Contest.objects.filter(hide_scoreboard=True).update(scoreboard_visibility='C')
|
|
|
|
|
|
def scoreboard_visibility_eq_contest(apps, schema_editor):
|
|
Contest = apps.get_model('judge', 'Contest')
|
|
Contest.objects.filter(scoreboard_visibility__in=('C', 'P')).update(hide_scoreboard=True)
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('judge', '0114_auto_20201228_1041'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.AlterModelOptions(
|
|
name='contest',
|
|
options={'permissions': (('see_private_contest', 'See private contests'), ('edit_own_contest', 'Edit own contests'), ('edit_all_contest', 'Edit all contests'), ('clone_contest', 'Clone contest'), ('moss_contest', 'MOSS contest'), ('contest_rating', 'Rate contests'), ('contest_access_code', 'Contest access codes'), ('create_private_contest', 'Create private contests'), ('change_contest_visibility', 'Change contest visibility'), ('contest_problem_label', 'Edit contest problem label script')), 'verbose_name': 'contest', 'verbose_name_plural': 'contests'},
|
|
),
|
|
migrations.RemoveField(
|
|
model_name='contest',
|
|
name='hide_scoreboard',
|
|
),
|
|
migrations.RemoveField(
|
|
model_name='contest',
|
|
name='organizers',
|
|
),
|
|
migrations.AddField(
|
|
model_name='contest',
|
|
name='authors',
|
|
field=models.ManyToManyField(help_text='These users will be able to edit the contest.', related_name='_contest_authors_+', to='judge.Profile'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='contest',
|
|
name='curators',
|
|
field=models.ManyToManyField(blank=True, help_text='These users will be able to edit the contest, but will not be listed as authors.', related_name='_contest_curators_+', to='judge.Profile'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='contest',
|
|
name='problem_label_script',
|
|
field=models.TextField(blank=True, help_text='A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label.', verbose_name='contest problem label script'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='contest',
|
|
name='scoreboard_visibility',
|
|
field=models.CharField(choices=[('V', 'Visible'), ('C', 'Hidden for duration of contest'), ('P', 'Hidden for duration of participation')], default='V', help_text='Scoreboard visibility through the duration of the contest', max_length=1, verbose_name='scoreboard visibility'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='contest',
|
|
name='testers',
|
|
field=models.ManyToManyField(blank=True, help_text='These users will be able to view the contest, but not edit it.', related_name='_contest_testers_+', to='judge.Profile'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='contestparticipation',
|
|
name='tiebreaker',
|
|
field=models.FloatField(default=0.0, verbose_name='tie-breaking field'),
|
|
),
|
|
]
|