diff --git a/Website/api/maker.py b/Website/api/maker.py index 0f0b07f..18afd33 100644 --- a/Website/api/maker.py +++ b/Website/api/maker.py @@ -1,3 +1,7 @@ +from django.contrib.auth.models import Group + +g, created = Group.objects.get_or_create(name='teachers') + # from datetime import datetime # # f1 = DefFiles( diff --git a/Website/api/models.py b/Website/api/models.py index b1ea631..67bbd8b 100644 --- a/Website/api/models.py +++ b/Website/api/models.py @@ -40,7 +40,6 @@ class Class(models.Model): class Teacher(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) - ion_user = models.CharField(max_length=100) classes=models.ManyToManyField(Class, blank=True, related_name='classes') git=models.CharField(max_length=100, default="", blank=True) ion_user=models.CharField(primary_key=True, max_length=100) diff --git a/Website/api/serializers.py b/Website/api/serializers.py index 9e8d9a7..2e6b2b8 100644 --- a/Website/api/serializers.py +++ b/Website/api/serializers.py @@ -45,8 +45,8 @@ class StudentSerializer(serializers.HyperlinkedModelSerializer): class TeacherSerializer(serializers.ModelSerializer): # Class = ClassSerializer(many=True, read_only=True,allow_null=True) - owner = serializers.ReadOnlyField(source='owner.username') + #owner = serializers.ReadOnlyField(source='owner.username') class Meta: model = Teacher # fields = ['url','first_name', 'last_name','git','ion_user', 'email','Class','owner'] - fields = ['first_name', 'last_name','git','ion_user', 'email','Class','owner'] + fields = ['git','ion_user','classes','user'] diff --git a/Website/api/views.py b/Website/api/views.py index e5d877b..65de23f 100644 --- a/Website/api/views.py +++ b/Website/api/views.py @@ -8,6 +8,7 @@ from .permissions import isTeacher, IsOwnerOrReadOnly from django.shortcuts import render, redirect from rest_framework.parsers import JSONParser from rest_framework.response import Response +from django.contrib.auth.models import Group class UserViewSet(viewsets.ModelViewSet): @@ -23,6 +24,8 @@ class StudentViewSet(viewsets.ModelViewSet): queryset = Student.objects.all() serializer_class = StudentSerializer permission_Class = [permissions.IsAuthenticated, IsOwnerOrReadOnly] + g, created = Group.objects.get_or_create(name='teachers') + def perform_create(self, serializer): serializer.save(user=self.request.user) diff --git a/Website/users/views.py b/Website/users/views.py index 929415c..ce417d8 100644 --- a/Website/users/views.py +++ b/Website/users/views.py @@ -8,6 +8,7 @@ from django.contrib import messages from .models import Token from api.models import Student, Teacher +from django.contrib.auth.models import Group from .forms import UserCreationForm @@ -97,12 +98,15 @@ def create_account (request): last_name=last_name, password=password) user.save() - + g, created = Group.objects.get_or_create(name='teachers') if isStudent: profile = Student(user=user, git=git, grade=grade, ion_user=username) else: - profile = Teacher(user=user, git=git, ion_user=usernam) + profile = Teacher(user=user, git=git, ion_user=username) + group = Group.objects.get(name='teachers') + user.groups.add(group) + profile.save() token.delete()