From 4ab0a7c142f1c6c64bb4eab70452defe3293887e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bodor=20M=C3=A1t=C3=A9?= <bmate711@gmail.com>
Date: Wed, 21 Feb 2018 11:49:28 +0100
Subject: [PATCH] change user to Profile

---
 .../migrations/0008_auto_20180221_1135.py     | 24 +++++++++++++++++++
 src/homework/models.py                        |  6 ++---
 src/homework/serializers.py                   |  8 ++++---
 src/homework/views.py                         |  1 -
 4 files changed, 32 insertions(+), 7 deletions(-)
 create mode 100644 src/homework/migrations/0008_auto_20180221_1135.py

diff --git a/src/homework/migrations/0008_auto_20180221_1135.py b/src/homework/migrations/0008_auto_20180221_1135.py
new file mode 100644
index 0000000..a26dfa2
--- /dev/null
+++ b/src/homework/migrations/0008_auto_20180221_1135.py
@@ -0,0 +1,24 @@
+# Generated by Django 2.0.1 on 2018-02-21 10:35
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('homework', '0007_merge_20180209_1734'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='solution',
+            name='created_by',
+            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='student_solution', to='account.Profile'),
+        ),
+        migrations.AlterField(
+            model_name='task',
+            name='created_by',
+            field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='account.Profile'),
+        ),
+    ]
diff --git a/src/homework/models.py b/src/homework/models.py
index 212748e..5974d6b 100644
--- a/src/homework/models.py
+++ b/src/homework/models.py
@@ -4,7 +4,7 @@ from django.core.exceptions import ValidationError
 from django.utils.translation import ugettext_lazy as _
 from django.utils import timezone
 from django.core import validators
-#from account.models import Profile
+from account.models import Profile
 # from . import myfields
 
 
@@ -22,7 +22,7 @@ class Task(models.Model):
     date = models.DateTimeField(auto_now_add=True, editable=False)
     deadline = models.DateTimeField(validators=[validate_deadline])
     text = models.TextField()
-    created_by = models.ForeignKey(User, on_delete=models.DO_NOTHING) #Profile
+    created_by = models.ForeignKey(Profile, on_delete=models.DO_NOTHING)
     files = models.FileField(
         validators=[validators.FileExtensionValidator(
             'image/png',
@@ -38,7 +38,7 @@ class Task(models.Model):
 
 class Solution(models.Model):
     task = models.ForeignKey(Task, related_name='task_solution', on_delete=models.CASCADE)
-    created_by = models.ForeignKey(User, related_name='student_solution',  on_delete=models.CASCADE) # Profile
+    created_by = models.ForeignKey(Profile, related_name='student_solution',  on_delete=models.CASCADE)
     date = models.DateTimeField(auto_now_add=True, editable=False)
     ready = models.BooleanField(default=False)
     accepted = models.BooleanField(default=False)
diff --git a/src/homework/serializers.py b/src/homework/serializers.py
index 6ca0659..f3a816e 100644
--- a/src/homework/serializers.py
+++ b/src/homework/serializers.py
@@ -6,20 +6,22 @@ class TaskSerializer(serializers.ModelSerializer):
     class Meta:
         model = models.Task
         read_only_fields = ('created_by', 'date')
-        extra_kwargs = {'created_by': {'default': serializers.CurrentUserDefault()}}
+        # extra_kwargs = {'created_by': {'default': serializers.CurrentUserDefault()}}
         fields = '__all__'
 
 
 class SolutionSerializer(serializers.ModelSerializer):
+    date = serializers.DateTimeField(read_only=True)
+
     class Meta:
         model = models.Solution
         read_only_fields = ('created_by', 'date' 'ready')
-        extra_kwargs = {'created_by': {'default': serializers.CurrentUserDefault()}}
+        # extra_kwargs = {'created_by': {'default': serializers.CurrentUserDefault()}}
         fields = ('task', 'date', 'accepted', 'files', 'created_by')
 
     # def validate(self, attrs):
     #     task = attrs['task']
-    #     date = attrs['date']
+    #     date = attrs['date'] keyerror
     #
     #     if task.deadline < date:
     #         raise serializers.ValidationError("You cannot submit homework after the deadline")
diff --git a/src/homework/views.py b/src/homework/views.py
index 86a64ef..263483e 100644
--- a/src/homework/views.py
+++ b/src/homework/views.py
@@ -26,7 +26,6 @@ class SolutionsViewSet(viewsets.ModelViewSet):
     def perform_create(self, serializer):
         serializer.validated_data['accepted'] = False
         task = serializer.validated_data['task']
-        # task = get_object_or_404(models.Task, pk=task_id.id)
         now = timezone.now()
         if task.deadline < now:
             raise Http404("Deadline")
-- 
GitLab