56 lines
3.6 KiB
Python
56 lines
3.6 KiB
Python
# Generated by Django 3.2.13 on 2023-04-25 06:49
|
|
|
|
from django.conf import settings
|
|
from django.db import migrations, models
|
|
import django.db.models.deletion
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('course', '0004_coursesession_assignment_details_list'),
|
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
('assignment', '0001_initial'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='AssignmentCompletionAuditLog',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('completion_status', models.CharField(choices=[(1, 'in_progress'), (2, 'submitted'), (3, 'grading_in_progress'), (4, 'graded')], default='in_progress', max_length=255)),
|
|
('completion_data', models.JSONField(default=dict)),
|
|
('additional_json_data', models.JSONField(default=dict)),
|
|
('assignment_user_email', models.CharField(max_length=255)),
|
|
('assignment_slug', models.CharField(max_length=255)),
|
|
('grading_user_email', models.CharField(blank=True, default='', max_length=255)),
|
|
('assignment', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='assignment.assignment')),
|
|
('assignment_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)),
|
|
('course_session', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='course.coursesession')),
|
|
('grading_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='AssignmentCompletion',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
('submitted_at', models.DateTimeField(blank=True, null=True)),
|
|
('graded_at', models.DateTimeField(blank=True, null=True)),
|
|
('completion_status', models.CharField(choices=[(1, 'in_progress'), (2, 'submitted'), (3, 'grading_in_progress'), (4, 'graded')], default='in_progress', max_length=255)),
|
|
('completion_data', models.JSONField(default=dict)),
|
|
('additional_json_data', models.JSONField(default=dict)),
|
|
('assignment', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='assignment.assignment')),
|
|
('assignment_user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
|
|
('course_session', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.coursesession')),
|
|
('grading_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to=settings.AUTH_USER_MODEL)),
|
|
],
|
|
),
|
|
migrations.AddConstraint(
|
|
model_name='assignmentcompletion',
|
|
constraint=models.UniqueConstraint(fields=('assignment_user', 'assignment', 'course_session'), name='assignment_completion_unique_user_assignment_course_session'),
|
|
),
|
|
]
|