diff --git a/src/homework/migrations/0012_auto_20180404_1253.py b/src/homework/migrations/0012_auto_20180404_1253.py new file mode 100644 index 0000000000000000000000000000000000000000..7e021218357aafa06976bee38a1f261b339120e8 --- /dev/null +++ b/src/homework/migrations/0012_auto_20180404_1253.py @@ -0,0 +1,20 @@ +# Generated by Django 2.0.1 on 2018-04-04 10:53 + +import common.validators +import django.core.validators +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('homework', '0011_auto_20180404_0853'), + ] + + operations = [ + migrations.AlterField( + model_name='solution', + name='files', + field=models.FileField(upload_to='', validators=[django.core.validators.FileExtensionValidator(['image/png', 'image/jpeg', 'zip']), common.validators.FileSizeValidator(size_limit=52428800)]), + ), + ] diff --git a/src/homework/models.py b/src/homework/models.py index c586fa0e4bcc15e2d0f05e08a212efc7dd7366c8..5bf874009dedacd537d788332147898098c6128c 100644 --- a/src/homework/models.py +++ b/src/homework/models.py @@ -42,5 +42,4 @@ class Solution(models.Model): ]), FileSizeValidator(size_limit=52428800), # 52428800 - 50MiB ], - blank=True, ) diff --git a/src/homework/serializers.py b/src/homework/serializers.py index 5b5497f42d329568cc83a72337262d5c4acd8fff..a15f593eb03d7e2df55bbb4ea19fb948bfc9d8c1 100644 --- a/src/homework/serializers.py +++ b/src/homework/serializers.py @@ -1,4 +1,5 @@ from rest_framework import serializers +from django.utils import timezone from common.serializers import CurrentUserProfileDefault from . import models @@ -21,3 +22,8 @@ class SolutionSerializer(serializers.ModelSerializer): model = models.Solution read_only_fields = ('created_by', 'date' 'ready') fields = ('task', 'date', 'accepted', 'files', 'created_by') + + def validate(self, data): + if timezone.now() > data['task'].deadline: + raise serializers.ValidationError('You late.') + return data