diff --git a/src/account/serializers.py b/src/account/serializers.py index 1ceaf2d2f0f3a08782238c014653b5af899b19d4..edd0cde0024f259977034d8332b2217cc7b0abde 100644 --- a/src/account/serializers.py +++ b/src/account/serializers.py @@ -44,7 +44,8 @@ class ProfileSerializer(serializers.ModelSerializer): return value def validate_signed(self, value): - if value is False: + modifier = CurrentUserMiddleware.get_current_user_profile() + if value is False and modifier.role != "Staff": raise serializers.ValidationError("You cannot join without signed") return value diff --git a/src/homework/migrations/0002_auto_20190121_2124.py b/src/homework/migrations/0002_auto_20190121_2124.py new file mode 100644 index 0000000000000000000000000000000000000000..3abf5a83e87d8424a882e3c92f55af2f1478d3ee --- /dev/null +++ b/src/homework/migrations/0002_auto_20190121_2124.py @@ -0,0 +1,23 @@ +# Generated by Django 2.0.1 on 2019-01-21 20:24 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('homework', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='solution', + name='accepted', + field=models.BooleanField(default=False), + ), + migrations.AlterField( + model_name='solution', + name='corrected', + field=models.BooleanField(default=False), + ), + ] diff --git a/src/homework/models.py b/src/homework/models.py index 692686e627bb1ace011332e3766640a9d211d170..4ecb6e958c9a9349ca39a26d75c57463f030c1fc 100755 --- a/src/homework/models.py +++ b/src/homework/models.py @@ -31,8 +31,8 @@ class Solution(models.Model): 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() + accepted = models.BooleanField(blank=True, default=False) + corrected = models.BooleanField(blank=True, default=False) def __str__(self): return "[{}] {}".format(self.created_at, self.created_by.full_name) diff --git a/src/homework/serializers.py b/src/homework/serializers.py index c6acde3b00cbcdeaaf52624ef5031455a2eff8e4..68c2980eebbf369399d27fa934535f300c90b88c 100755 --- a/src/homework/serializers.py +++ b/src/homework/serializers.py @@ -2,8 +2,9 @@ from rest_framework import serializers from django.utils import timezone from account.models import Profile from . import models -from common.email import new_homework +from common import email from common.middleware import CurrentUserMiddleware +from common.email import homework_corrected class TaskSerializer(serializers.ModelSerializer): @@ -19,7 +20,7 @@ class TaskSerializer(serializers.ModelSerializer): def create(self, validated_data): emails = Profile.objects.filter(role="Student").exclude(user__email='').values_list('user__email', flat=True) - new_homework(emails) + email.new_homework(emails) return self.Meta.model.objects.create(**validated_data)