From b4a811d90dd6fb161d9c2c3fba5272ac5ecd4ae2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bodor=20M=C3=A1t=C3=A9?= <bodor.mate@kszk.bme.hu> Date: Mon, 21 Jan 2019 21:26:00 +0100 Subject: [PATCH] Little changes --- src/account/serializers.py | 3 ++- .../migrations/0002_auto_20190121_2124.py | 23 +++++++++++++++++++ src/homework/models.py | 4 ++-- src/homework/serializers.py | 5 ++-- 4 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 src/homework/migrations/0002_auto_20190121_2124.py diff --git a/src/account/serializers.py b/src/account/serializers.py index 1ceaf2d..edd0cde 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 0000000..3abf5a8 --- /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 692686e..4ecb6e9 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 c6acde3..68c2980 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) -- GitLab