# Generated by Django 3.2.13 on 2023-04-25 06:49 import django.db.models.deletion from django.conf import settings from django.db import migrations, models 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", ), ), ]