From 9b6b1212d75f0c20f187b8892f03d58a5ebc3c7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bodor=20M=C3=A1t=C3=A9?= <bodor.mate@kszk.bme.hu> Date: Fri, 4 Jan 2019 21:11:10 +0100 Subject: [PATCH] Add note and corrected field to the Solution model --- src/document/migrations/0001_initial.py | 6 ++++-- src/homework/migrations/0001_initial.py | 4 +++- src/homework/models.py | 2 ++ src/homework/serializers.py | 13 ++++++++++++- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/document/migrations/0001_initial.py b/src/document/migrations/0001_initial.py index 141a86a..bbb87de 100644 --- a/src/document/migrations/0001_initial.py +++ b/src/document/migrations/0001_initial.py @@ -1,5 +1,7 @@ -# Generated by Django 2.0.1 on 2018-12-29 19:19 +# Generated by Django 2.0.1 on 2019-01-04 19:59 +import common.validators +import django.core.validators from django.db import migrations, models import django.db.models.deletion @@ -20,7 +22,7 @@ class Migration(migrations.Migration): ('uploaded_at', models.DateTimeField(auto_now_add=True)), ('name', models.CharField(max_length=150)), ('description', models.TextField()), - ('file', models.FileField(upload_to='')), + ('files', models.FileField(upload_to='', validators=[django.core.validators.FileExtensionValidator(['png', 'jpeg', 'jpg', 'zip']), common.validators.FileSizeValidator(size_limit=52428800)])), ('uploaded_by', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='account.Profile')), ], ), diff --git a/src/homework/migrations/0001_initial.py b/src/homework/migrations/0001_initial.py index 24fda6e..601da87 100644 --- a/src/homework/migrations/0001_initial.py +++ b/src/homework/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 2.0.1 on 2018-12-24 16:02 +# Generated by Django 2.0.1 on 2019-01-04 19:59 import common.validators import django.core.validators @@ -21,7 +21,9 @@ class Migration(migrations.Migration): ('id', models.AutoField(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)), + ('note', models.TextField()), ('accepted', models.BooleanField()), + ('corrected', models.BooleanField()), ('files', models.FileField(upload_to='', validators=[django.core.validators.FileExtensionValidator(['png', 'jpeg', 'jpg', 'zip']), common.validators.FileSizeValidator(size_limit=52428800)])), ('created_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='student_solution', to='account.Profile')), ], diff --git a/src/homework/models.py b/src/homework/models.py index a62333d..9bebd81 100755 --- a/src/homework/models.py +++ b/src/homework/models.py @@ -23,7 +23,9 @@ class Solution(models.Model): created_by = models.ForeignKey(Profile, related_name='student_solution', on_delete=models.CASCADE) created_at = models.DateTimeField(auto_now_add=True, editable=False) updated_at = models.DateTimeField(auto_now=True, editable=False) + note = models.TextField() accepted = models.BooleanField() + corrected = models.BooleanField() files = models.FileField( validators=[ validators.FileExtensionValidator([ diff --git a/src/homework/serializers.py b/src/homework/serializers.py index f7d7c81..66ffdae 100755 --- a/src/homework/serializers.py +++ b/src/homework/serializers.py @@ -27,7 +27,16 @@ class SolutionSerializer(serializers.ModelSerializer): class Meta: model = models.Solution read_only_fields = ('created_by', 'created_at', 'updated_at', 'ready') - fields = ('task', 'created_at', 'updated_at', 'accepted', 'files', 'created_by') + fields = ( + 'task', + 'created_at', + 'updated_at', + 'accepted', + 'files', + 'created_by', + 'corrected', + 'note', + ) def validate(self, data): if timezone.now() > data['task'].deadline: @@ -36,4 +45,6 @@ class SolutionSerializer(serializers.ModelSerializer): def create(self, validated_data): validated_data['accepted'] = False + validated_data['corrected'] = False + validated_data['note'] = '' return self.Meta.model.objects.create(**validated_data) -- GitLab