diff --git a/src/common/permissions.py b/src/common/permissions.py
index beaae6f8654fd6dadbf54aa7a74368c5f01515a6..7d2384c7bf9186939272c68ac9d5f61dbfe58e72 100644
--- a/src/common/permissions.py
+++ b/src/common/permissions.py
@@ -28,11 +28,3 @@ class IsStaffOrStudent(BasePermission):
     def has_permission(self, request, view):
         return request.user.is_authenticated and\
                (request.user.profile.role == 'Staff' or request.user.profile.role == 'Student')
-
-
-class StudentJustCreate(BasePermission):
-    def has_permission(self, request, view):
-        if request.user.is_authenticated and request.user.profile.role == 'Staff':
-            return True
-        return request.user.is_authenticated and request.user.profile.role == 'Student' and\
-               (request.method in SAFE_METHODS or request.method == 'CREATE')
diff --git a/src/document/migrations/0004_auto_20190114_2016.py b/src/document/migrations/0004_auto_20190114_2016.py
new file mode 100644
index 0000000000000000000000000000000000000000..fa317eeedd01b653bac85982709bf5bcf3e49d34
--- /dev/null
+++ b/src/document/migrations/0004_auto_20190114_2016.py
@@ -0,0 +1,18 @@
+# Generated by Django 2.0.1 on 2019-01-14 19:16
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('document', '0003_document_solution'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='document',
+            name='description',
+            field=models.TextField(blank=True, default=''),
+        ),
+    ]
diff --git a/src/document/models.py b/src/document/models.py
index 0d5d5f8ce7643b56d9fe484cf22a1eabd4e39a54..862ec5e032b116db9e0476a1026c9a621b5c1148 100644
--- a/src/document/models.py
+++ b/src/document/models.py
@@ -10,7 +10,7 @@ class Document(models.Model):
     uploaded_by = models.ForeignKey(Profile, on_delete=models.DO_NOTHING)
     uploaded_at = models.DateTimeField(auto_now_add=True, editable=False)
     name = models.CharField(max_length=150)
-    description = models.TextField()
+    description = models.TextField(blank=True, default='', )
     file = models.FileField(
         validators=[
             validators.FileExtensionValidator([
diff --git a/src/document/serializers.py b/src/document/serializers.py
index cea73e36ba326264a31b589607f59055eb890fc7..00f7f789dcb28231c76884cf9e2e49501181a0c7 100644
--- a/src/document/serializers.py
+++ b/src/document/serializers.py
@@ -2,6 +2,7 @@ from rest_framework import serializers
 
 from common.serializers import CurrentUserProfileDefault
 from . import models
+from common.middleware import CurrentUserMiddleware
 
 
 class DocumentSerializer(serializers.ModelSerializer):
@@ -14,3 +15,9 @@ class DocumentSerializer(serializers.ModelSerializer):
 
     def get_uploaded_by_name(self, obj):
         return obj.uploaded_by.full_name
+
+    def validate(self, data):
+        profile = CurrentUserMiddleware.get_current_user_profile()
+        if data['solution'] not in profile.solution.all():
+            raise serializers.ValidationError('You dont have permission!')
+        return data
diff --git a/src/homework/migrations/0006_auto_20190114_1938.py b/src/homework/migrations/0006_auto_20190114_1938.py
new file mode 100644
index 0000000000000000000000000000000000000000..02e23165017fa0dc5efac9723039b79eec37fdbd
--- /dev/null
+++ b/src/homework/migrations/0006_auto_20190114_1938.py
@@ -0,0 +1,18 @@
+# Generated by Django 2.0.1 on 2019-01-14 18:38
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('homework', '0005_auto_20190114_1658'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='solution',
+            name='note',
+            field=models.TextField(blank=True, default=''),
+        ),
+    ]
diff --git a/src/homework/models.py b/src/homework/models.py
index 2f3e785df82722652e7d850e4db7e8cfdd38f0df..6e1147c2d884cf168ce188edbd9513cccc7a8bad 100755
--- a/src/homework/models.py
+++ b/src/homework/models.py
@@ -28,9 +28,9 @@ class Solution(models.Model):
         on_delete=models.DO_NOTHING,
         default=CurrentUserMiddleware.get_current_user_profile,
     )
-    created_at = models.DateTimeField(auto_now_add=True, editable=False)
-    updated_at = models.DateTimeField(auto_now=True, editable=False)
-    note = models.TextField()
+    created_at = models.DateTimeField(auto_now_add=True, editable=False,)
+    updated_at = models.DateTimeField(auto_now=True, editable=False,)
+    note = models.TextField(blank=True, default='',)
     accepted = models.BooleanField()
     corrected = models.BooleanField()
 
diff --git a/src/homework/serializers.py b/src/homework/serializers.py
index 595260de6015813f1814317efe9f08b0438e996b..0e5191f3c29fbfe25271b0762fe26fa02adeb00d 100755
--- a/src/homework/serializers.py
+++ b/src/homework/serializers.py
@@ -3,6 +3,7 @@ from django.utils import timezone
 
 from common.serializers import CurrentUserProfileDefault
 from . import models
+from common.middleware import CurrentUserMiddleware
 
 
 class TaskSerializer(serializers.ModelSerializer):
@@ -35,10 +36,7 @@ class SolutionSerializer(serializers.ModelSerializer):
     def validate(self, data):
         if timezone.now() > data['task'].deadline:
             raise serializers.ValidationError('You late.')
+        profile = CurrentUserMiddleware.get_current_user_profile()
+        if profile.role != 'Staff' and (data['accepted'] or data['corrected'] or data['note'] != ''):
+            raise serializers.ValidationError("You don't have permission!")
         return data
-
-    def create(self, validated_data):
-        validated_data['accepted'] = False
-        validated_data['corrected'] = False
-        validated_data['note'] = ''
-        return self.Meta.model.objects.create(**validated_data)
diff --git a/src/homework/views.py b/src/homework/views.py
index 25707861c955b74f8ce34294eb7fb14649635f3b..db3c92acc6fe4b2b04b054eecfda10ec3af17016 100755
--- a/src/homework/views.py
+++ b/src/homework/views.py
@@ -1,6 +1,5 @@
 from rest_framework import viewsets
 
-from rest_framework.permissions import IsAuthenticated
 from . import serializers
 from . import models
 from common import permissions
@@ -14,7 +13,7 @@ class TasksViewSet(viewsets.ModelViewSet):
 
 class SolutionsViewSet(viewsets.ModelViewSet):
     serializer_class = serializers.SolutionSerializer
-    permission_classes = (permissions.IsStaffOrStudent, permissions.StudentJustCreate)
+    permission_classes = (permissions.IsStaffOrStudent, )
 
     def get_queryset(self):
         user = self.request.user