Skip to content

Commit

Permalink
Switch to Django 2.0.13, Take 3; fix flake
Browse files Browse the repository at this point in the history
  • Loading branch information
znick committed Mar 31, 2024
1 parent 75b2f0c commit d37726f
Show file tree
Hide file tree
Showing 10 changed files with 212 additions and 47 deletions.
66 changes: 55 additions & 11 deletions anytask/courses/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,14 @@ class Course(models.Model):

information = models.TextField(db_index=False, null=True, blank=True)

year = models.ForeignKey(Year, db_index=True, null=False, blank=False, default=timezone.now().year, on_delete=models.DO_NOTHING)
year = models.ForeignKey(
Year,
db_index=True,
null=False,
blank=False,
default=timezone.now().year,
on_delete=models.DO_NOTHING,
)

is_active = models.BooleanField(db_index=True, null=False, blank=False, default=False)

Expand Down Expand Up @@ -126,10 +133,21 @@ class Course(models.Model):

can_be_chosen_by_extern = models.BooleanField(db_index=False, null=False, blank=False, default=False)
group_with_extern = models.ForeignKey(
Group, related_name="course_with_extern", db_index=False, null=True, blank=True, on_delete=models.DO_NOTHING
Group,
related_name="course_with_extern",
db_index=False,
null=True,
blank=True,
on_delete=models.DO_NOTHING,
)

mark_system = models.ForeignKey(CourseMarkSystem, db_index=False, null=True, blank=True, on_delete=models.DO_NOTHING)
mark_system = models.ForeignKey(
CourseMarkSystem,
db_index=False,
null=True,
blank=True,
on_delete=models.DO_NOTHING,
)

show_accepted_after_contest_ok = models.BooleanField(db_index=False, null=False, blank=False, default=False)
default_accepted_after_contest_ok = models.BooleanField(db_index=False, null=False, blank=False, default=False)
Expand All @@ -139,7 +157,14 @@ class Course(models.Model):

default_task_send_to_users = models.BooleanField(db_index=False, null=False, blank=False, default=False)

issue_status_system = models.ForeignKey(IssueStatusSystem, db_index=False, null=False, blank=False, default=1, on_delete=models.DO_NOTHING)
issue_status_system = models.ForeignKey(
IssueStatusSystem,
db_index=False,
null=False,
blank=False,
default=1,
on_delete=models.DO_NOTHING,
)

is_python_task = models.BooleanField(db_index=False, null=False, blank=False, default=False)
max_students_per_task = models.IntegerField(null=False, blank=False, default=0)
Expand Down Expand Up @@ -276,9 +301,15 @@ def is_contest_integrated(self):


class DefaultTeacher(models.Model):
teacher = models.ForeignKey(User, db_index=False, null=True, blank=True, on_delete=models.DO_NOTHING)
course = models.ForeignKey(Course, db_index=True, null=False, blank=False, on_delete=models.DO_NOTHING)
group = models.ForeignKey(Group, db_index=True, null=True, blank=True, on_delete=models.DO_NOTHING)
teacher = models.ForeignKey(
User, db_index=False, null=True, blank=True, on_delete=models.DO_NOTHING
)
course = models.ForeignKey(
Course, db_index=True, null=False, blank=False, on_delete=models.DO_NOTHING
)
group = models.ForeignKey(
Group, db_index=True, null=True, blank=True, on_delete=models.DO_NOTHING
)

def __str__(self):
return u"|".join((self.course.name, self.group.name, self.teacher.username))
Expand All @@ -288,11 +319,24 @@ class Meta:


class StudentCourseMark(models.Model):
student = models.ForeignKey(User, db_index=True, null=False, blank=False, on_delete=models.DO_NOTHING)
course = models.ForeignKey(Course, db_index=False, null=False, blank=False, on_delete=models.DO_NOTHING)
mark = models.ForeignKey(MarkField, db_index=False, null=True, blank=True, on_delete=models.DO_NOTHING)
student = models.ForeignKey(
User, db_index=True, null=False, blank=False, on_delete=models.DO_NOTHING
)
course = models.ForeignKey(
Course, db_index=False, null=False, blank=False, on_delete=models.DO_NOTHING
)
mark = models.ForeignKey(
MarkField, db_index=False, null=True, blank=True, on_delete=models.DO_NOTHING
)

teacher = models.ForeignKey(User, related_name='teacher_change_mark', db_index=False, null=True, blank=True, on_delete=models.DO_NOTHING)
teacher = models.ForeignKey(
User,
related_name="teacher_change_mark",
db_index=False,
null=True,
blank=True,
on_delete=models.DO_NOTHING,
)
update_time = models.DateTimeField(auto_now=True) # remove default=timezone.now

def __str__(self):
Expand Down
13 changes: 11 additions & 2 deletions anytask/invites/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,17 @@


class Invite(models.Model):
generated_by = models.ForeignKey(User, db_index=False, null=False, blank=False, related_name='invite_generated_by', on_delete=models.DO_NOTHING)
group = models.ForeignKey(Group, db_index=False, null=True, blank=True, on_delete=models.DO_NOTHING)
generated_by = models.ForeignKey(
User,
db_index=False,
null=False,
blank=False,
related_name="invite_generated_by",
on_delete=models.DO_NOTHING,
)
group = models.ForeignKey(
Group, db_index=False, null=True, blank=True, on_delete=models.DO_NOTHING
)
invited_users = models.ManyToManyField(User, blank=True)

key = models.CharField(max_length=10, db_index=True, null=False, blank=False, unique=True)
Expand Down
45 changes: 37 additions & 8 deletions anytask/issues/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,25 +39,41 @@ def normalize_decimal(number):

class File(models.Model):
file = models.FileField(upload_to=get_file_path, null=True, blank=True, max_length=500)
event = models.ForeignKey('Event', on_delete=models.DO_NOTHING)
event = models.ForeignKey("Event", on_delete=models.DO_NOTHING)
deleted = models.BooleanField(default=False)

def filename(self):
return os.path.basename(self.file.name)


class Issue(models.Model):
student = models.ForeignKey(User, db_index=True, null=False, blank=False, related_name='student', on_delete=models.DO_NOTHING)
student = models.ForeignKey(
User,
db_index=True,
null=False,
blank=False,
related_name="student",
on_delete=models.DO_NOTHING,
)
costudents = models.ManyToManyField(User, blank=True, db_index=True, related_name='costudents')

task = models.ForeignKey(Task, db_index=True, null=True, blank=False, on_delete=models.DO_NOTHING)
task = models.ForeignKey(
Task, db_index=True, null=True, blank=False, on_delete=models.DO_NOTHING
)

mark = models.FloatField(db_index=False, null=False, blank=False, default=0)

create_time = models.DateTimeField(auto_now_add=True) # remove default=timezone.now
update_time = models.DateTimeField(default=timezone.now)

responsible = models.ForeignKey(User, db_index=True, null=True, blank=True, related_name='responsible', on_delete=models.DO_NOTHING)
responsible = models.ForeignKey(
User,
db_index=True,
null=True,
blank=True,
related_name="responsible",
on_delete=models.DO_NOTHING,
)
followers = models.ManyToManyField(User, blank=True)

STATUS_NEW = 'new'
Expand All @@ -81,7 +97,14 @@ class Issue(models.Model):
)

status = models.CharField(max_length=20, choices=ISSUE_STATUSES, default=STATUS_NEW)
status_field = models.ForeignKey(IssueStatus, db_index=True, null=False, blank=False, default=1, on_delete=models.DO_NOTHING)
status_field = models.ForeignKey(
IssueStatus,
db_index=True,
null=False,
blank=False,
default=1,
on_delete=models.DO_NOTHING,
)

def is_status_accepted(self):
return self.status_field.tag in [IssueStatus.STATUS_ACCEPTED, IssueStatus.STATUS_ACCEPTED_AFTER_DEADLINE]
Expand Down Expand Up @@ -534,9 +557,15 @@ class Meta:


class Event(models.Model):
issue = models.ForeignKey(Issue, null=False, blank=False, on_delete=models.DO_NOTHING)
author = models.ForeignKey(User, db_index=True, null=True, blank=True, on_delete=models.DO_NOTHING)
field = models.ForeignKey(IssueField, blank=False, default=1, on_delete=models.DO_NOTHING)
issue = models.ForeignKey(
Issue, null=False, blank=False, on_delete=models.DO_NOTHING
)
author = models.ForeignKey(
User, db_index=True, null=True, blank=True, on_delete=models.DO_NOTHING
)
field = models.ForeignKey(
IssueField, blank=False, default=1, on_delete=models.DO_NOTHING
)

value = models.TextField(max_length=2500, blank=True)
timestamp = models.DateTimeField(auto_now_add=True)
Expand Down
9 changes: 8 additions & 1 deletion anytask/lessons/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,14 @@ class Lesson(models.Model):
course = models.ForeignKey(Course, db_index=True, null=False, blank=False, on_delete=models.DO_NOTHING)
group = models.ForeignKey(Group, null=False, blank=False, on_delete=models.DO_NOTHING)
not_visited_students = models.ManyToManyField(User, blank=True)
updated_by = models.ForeignKey(User, db_index=False, null=True, blank=True, related_name='authors', on_delete=models.DO_NOTHING)
updated_by = models.ForeignKey(
User,
db_index=False,
null=True,
blank=True,
related_name="authors",
on_delete=models.DO_NOTHING,
)
schedule_id = models.CharField(max_length=100, db_index=True, null=True, blank=True)
position = models.IntegerField(db_index=True, null=True, blank=True)

Expand Down
9 changes: 8 additions & 1 deletion anytask/mail/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,14 @@


class Message(models.Model):
sender = models.ForeignKey(User, db_index=False, null=False, blank=False, related_name='sender+', on_delete=models.DO_NOTHING)
sender = models.ForeignKey(
User,
db_index=False,
null=False,
blank=False,
related_name="sender+",
on_delete=models.DO_NOTHING,
)
recipients = models.ManyToManyField(User, db_index=False, blank=False, related_name='recipients+')
recipients_user = models.ManyToManyField(User, db_index=False, blank=True,
related_name='recipients_user+')
Expand Down
4 changes: 2 additions & 2 deletions anytask/mail/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,14 +85,14 @@ def setUp(self):

self.recipients_group = [Group.objects.create(name='group1_name',
year=self.year)]
self.recipients_group[0].students = [self.user_in_group]
self.recipients_group[0].students.set([self.user_in_group])

self.recipients_course = [Course.objects.create(name='course_name',
year=self.year)]
self.group_in_course = Group.objects.create(name='group2_name',
year=self.year)
self.group_in_course.students = [self.user_in_course]
self.recipients_course[0].groups = [self.group_in_course]
self.recipients_course[0].groups.set([self.group_in_course])

self.recipients = [self.user, self.user_in_group, self.user_in_course]

Expand Down
2 changes: 2 additions & 0 deletions anytask/manage.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
locale.setlocale(locale.LC_ALL, '')


def main():
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'anytask.settings')
try:
Expand All @@ -23,5 +24,6 @@ def main():
# see https://code.djangoproject.com/ticket/17966
sys.modules['django.contrib.auth.tests'] = None


if __name__ == '__main__':
main()
80 changes: 65 additions & 15 deletions anytask/tasks/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,31 @@ def get_lang_text(text, lang):
class Task(models.Model):
title = models.CharField(max_length=191, db_index=True, null=True, blank=True)
short_title = models.CharField(max_length=15, db_index=True, null=True, blank=True)
course = models.ForeignKey(Course, db_index=True, null=False, blank=False, on_delete=models.DO_NOTHING)
group = models.ForeignKey(Group, db_index=False, null=True, blank=True, default=None, on_delete=models.DO_NOTHING)
groups = models.ManyToManyField(Group, blank=False, related_name='groups_set')
course = models.ForeignKey(
Course, db_index=True, null=False, blank=False, on_delete=models.DO_NOTHING
)
group = models.ForeignKey(
Group,
db_index=False,
null=True,
blank=True,
default=None,
on_delete=models.DO_NOTHING,
)
groups = models.ManyToManyField(Group, blank=False, related_name="groups_set")

weight = models.IntegerField(db_index=True, null=False, blank=False, default=0)

is_hidden = models.BooleanField(db_index=True, null=False, blank=False, default=False)

parent_task = models.ForeignKey('self', db_index=True, null=True, blank=True, related_name='children', on_delete=models.DO_NOTHING)
parent_task = models.ForeignKey(
"self",
db_index=True,
null=True,
blank=True,
related_name="children",
on_delete=models.DO_NOTHING,
)

task_text = models.TextField(null=True, blank=True, default=None)

Expand Down Expand Up @@ -78,7 +94,9 @@ class Task(models.Model):
update_time = models.DateTimeField(auto_now=True) # remove default=timezone.now
deadline_time = models.DateTimeField(auto_now=False, blank=True, null=True, default=None)

updated_by = models.ForeignKey(User, db_index=False, null=True, blank=True, on_delete=models.DO_NOTHING)
updated_by = models.ForeignKey(
User, db_index=False, null=True, blank=True, on_delete=models.DO_NOTHING
)

contest_id = models.IntegerField(db_index=True, null=False, blank=False, default=0)
problem_id = models.CharField(max_length=128, db_index=True, null=True, blank=True)
Expand Down Expand Up @@ -265,13 +283,29 @@ def get_url_in_course(self):

class TaskLog(models.Model):
title = models.CharField(max_length=191, db_index=True, null=True, blank=True)
course = models.ForeignKey(Course, db_index=False, null=False, blank=False, on_delete=models.DO_NOTHING)
group = models.ForeignKey(Group, db_index=False, null=True, blank=True, default=None, on_delete=models.DO_NOTHING)
groups = models.ManyToManyField(Group, blank=False, related_name='groups_log_set')
course = models.ForeignKey(
Course, db_index=False, null=False, blank=False, on_delete=models.DO_NOTHING
)
group = models.ForeignKey(
Group,
db_index=False,
null=True,
blank=True,
default=None,
on_delete=models.DO_NOTHING,
)
groups = models.ManyToManyField(Group, blank=False, related_name="groups_log_set")

weight = models.IntegerField(db_index=False, null=False, blank=False, default=0)

parent_task = models.ForeignKey('self', db_index=True, null=True, blank=True, related_name='parent_task_set', on_delete=models.DO_NOTHING)
parent_task = models.ForeignKey(
"self",
db_index=True,
null=True,
blank=True,
related_name="parent_task_set",
on_delete=models.DO_NOTHING,
)

task_text = models.TextField(null=True, blank=True, default=None)

Expand All @@ -292,7 +326,9 @@ class TaskLog(models.Model):
update_time = models.DateTimeField(auto_now=True) # remove default=timezone.now
deadline_time = models.DateTimeField(auto_now=False, null=True, default=None)

updated_by = models.ForeignKey(User, db_index=False, null=True, blank=True, on_delete=models.DO_NOTHING)
updated_by = models.ForeignKey(
User, db_index=False, null=True, blank=True, on_delete=models.DO_NOTHING
)

contest_id = models.IntegerField(db_index=True, null=False, blank=False, default=0)
problem_id = models.CharField(max_length=128, db_index=True, null=True, blank=True)
Expand All @@ -308,9 +344,19 @@ class TaskTaken(models.Model):
STATUS_SCORED = 3
STATUS_DELETED = 4

user = models.ForeignKey(User, db_index=True, null=False, blank=False, on_delete=models.DO_NOTHING)
task = models.ForeignKey(Task, db_index=True, null=False, blank=False, on_delete=models.DO_NOTHING)
issue = models.ForeignKey('issues.Issue', db_index=True, null=True, blank=False, on_delete=models.DO_NOTHING)
user = models.ForeignKey(
User, db_index=True, null=False, blank=False, on_delete=models.DO_NOTHING
)
task = models.ForeignKey(
Task, db_index=True, null=False, blank=False, on_delete=models.DO_NOTHING
)
issue = models.ForeignKey(
"issues.Issue",
db_index=True,
null=True,
blank=False,
on_delete=models.DO_NOTHING,
)

TASK_TAKEN_STATUSES = (
(STATUS_TAKEN, u'Task taken'),
Expand Down Expand Up @@ -391,8 +437,12 @@ def __str__(self):


class TaskGroupRelations(models.Model):
task = models.ForeignKey(Task, db_index=False, null=False, blank=False, on_delete=models.DO_NOTHING)
group = models.ForeignKey(Group, db_index=False, null=False, blank=False, on_delete=models.DO_NOTHING)
task = models.ForeignKey(
Task, db_index=False, null=False, blank=False, on_delete=models.DO_NOTHING
)
group = models.ForeignKey(
Group, db_index=False, null=False, blank=False, on_delete=models.DO_NOTHING
)

position = models.IntegerField(db_index=False, null=False, blank=False, default=0)

Expand Down
Loading

0 comments on commit d37726f

Please sign in to comment.