diff --git a/Website/api/models.py b/Website/api/models.py index 268c451..3d0a22e 100644 --- a/Website/api/models.py +++ b/Website/api/models.py @@ -38,6 +38,7 @@ class Class(models.Model): class Teacher(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) + username = models.CharField(max_length=100) classes=models.ManyToManyField(Class, blank=True, related_name='classes') git=models.CharField(max_length=100, default="", blank=True) diff --git a/Website/api/serializers.py b/Website/api/serializers.py index 2904a07..08e21b5 100644 --- a/Website/api/serializers.py +++ b/Website/api/serializers.py @@ -1,5 +1,5 @@ from django.contrib.auth.models import User, Group -from .models import Student, Teacher, Classes, Assignment, DefFiles +from .models import Student, Teacher, Class, Assignment, DefFiles from rest_framework import serializers, permissions from django.contrib.auth.models import User from .permissions import IsOwnerOrReadOnly,isTeacher @@ -15,41 +15,39 @@ class UserSerializer(serializers.HyperlinkedModelSerializer): # class DefFilesSerializer(serializers.HyperlinkedModelSerializer): # class Meta: # model = DefFiles -# fields = ['name', 'path','assignment','classes', "teacher",'url', 'id'] +# fields = ['name', 'path','assignment','Class', "teacher",'url', 'id'] class AssignmentSerializer(serializers.HyperlinkedModelSerializer): - #permissions_classes = [permissions.IsAuthenticatedOrReadOnly] + #permissions_Class = [permissions.IsAuthenticatedOrReadOnly] # files = DefFilesSerializer(many=True, read_only=True,allow_null=True) owner = serializers.ReadOnlyField(source='owner.username') class Meta: model = Assignment - # fields = ['url','name', 'due_date', 'path' , "classes","teacher",'owner'] - fields = ['name', 'due_date', 'path' , "classes","teacher",'owner'] + # fields = ['url','name', 'due_date', 'path' , "Class","teacher",'owner'] + fields = ['name', 'due_date', 'path' , "Class","teacher",'owner'] -class ClassesSerializer(serializers.HyperlinkedModelSerializer): +class ClassSerializer(serializers.HyperlinkedModelSerializer): # assignments = AssignmentSerializer(many=True, read_only=True,allow_null=True) # default_file=DefFilesSerializer(many=True, read_only=True,allow_null=True) owner = serializers.ReadOnlyField(source='owner.username') class Meta: - model = Classes + model = Class # fields = ['url','name', 'repo','path', "teacher",'assignments',"default_file", 'confirmed', 'unconfirmed','owner'] fields = ['name', 'repo','path', "teacher",'assignments',"default_file", 'confirmed', 'unconfirmed','owner'] class StudentSerializer(serializers.HyperlinkedModelSerializer): - # classes = ClassesSerializer(many=True, read_only=True,allow_null=True) + # Class = ClassSerializer(many=True, read_only=True,allow_null=True) owner = serializers.ReadOnlyField(source='owner.username') class Meta: model = Student - # fields = ['url','first_name', 'last_name', 'grade','email','student_id', 'git','ion_user','classes','added_to','completed', 'repo','owner'] - fields = ['grade','email','student_id', 'git','ion_user','classes','added_to','completed', 'repo','owner'] + # fields = ['url','first_name', 'last_name', 'grade','email','student_id', 'git','ion_user','Class','added_to','completed', 'repo','owner'] + fields = ['grade','email','student_id', 'git','ion_user','Class','added_to','completed', 'repo','owner'] class TeacherSerializer(serializers.ModelSerializer): - # classes = ClassesSerializer(many=True, read_only=True,allow_null=True) + # Class = ClassSerializer(many=True, read_only=True,allow_null=True) owner = serializers.ReadOnlyField(source='owner.username') class Meta: model = Teacher - # fields = ['url','first_name', 'last_name','git','ion_user', 'email','classes','owner'] - fields = ['first_name', 'last_name','git','ion_user', 'email','classes','owner'] - - + # fields = ['url','first_name', 'last_name','git','ion_user', 'email','Class','owner'] + fields = ['first_name', 'last_name','git','ion_user', 'email','Class','owner'] diff --git a/Website/users/views.py b/Website/users/views.py index 8047b35..5db1791 100644 --- a/Website/users/views.py +++ b/Website/users/views.py @@ -97,12 +97,14 @@ def create_account (request): last_name=last_name, password=password) user.save() - token.delete() + if isStudent: profile = Student(user=user, git=git, grade=grade) else: - profile = Teacher(user=user, git=git) + profile = Teacher(user=user, username=username, git=git) + + token.delete() profile.save()