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