diff --git a/portal/portal/academy/migrations/0011_alter_grade_notebook_alter_grade_score.py b/portal/portal/academy/migrations/0011_alter_grade_notebook_alter_grade_score.py new file mode 100644 index 0000000..63d24a9 --- /dev/null +++ b/portal/portal/academy/migrations/0011_alter_grade_notebook_alter_grade_score.py @@ -0,0 +1,26 @@ +# Generated by Django 4.2.14 on 2024-10-01 18:09 + +from django.db import migrations, models + +import portal.academy.models + + +class Migration(migrations.Migration): + dependencies = [ + ("academy", "0010_grade_on_time"), + ] + + operations = [ + migrations.AlterField( + model_name="grade", + name="notebook", + field=models.FileField( + blank=True, null=True, upload_to=portal.academy.models.notebook_path + ), + ), + migrations.AlterField( + model_name="grade", + name="score", + field=models.FloatField(blank=True, null=True), + ), + ] diff --git a/portal/portal/academy/models.py b/portal/portal/academy/models.py index 8dc57db..a61fb23 100644 --- a/portal/portal/academy/models.py +++ b/portal/portal/academy/models.py @@ -57,7 +57,7 @@ class Grade(models.Model): ) unit = models.ForeignKey(Unit, on_delete=models.CASCADE, related_name="grades") created = models.DateTimeField(auto_now_add=True) - notebook = models.FileField(upload_to=notebook_path, null=True) + notebook = models.FileField(upload_to=notebook_path, null=True, blank=True) STATUSES = ( ("never-submitted", "Unsubmitted"), @@ -71,7 +71,7 @@ class Grade(models.Model): status = models.CharField( max_length=1024, choices=STATUSES, default="never-submitted" ) - score = models.FloatField(null=True) + score = models.FloatField(null=True, blank=True) message = models.TextField(blank=True) feedback = models.FileField(upload_to=feedback_path, null=True) on_time = models.BooleanField(default=True) diff --git a/portal/portal/grading/services.py b/portal/portal/grading/services.py index e17681b..dccfb83 100644 --- a/portal/portal/grading/services.py +++ b/portal/portal/grading/services.py @@ -138,6 +138,7 @@ def get_env(self): grader = get_user_model().objects.create( username=settings.GRADING_USERNAME, email="grading@grading.org", + is_staff=True, ) # Check if grader already has an auth token