teachers group

This commit is contained in:
Raffu Khondaker 2020-06-15 19:29:23 -04:00
parent bdc8792b6c
commit 51b5b21d40
5 changed files with 15 additions and 5 deletions

View File

@ -1,3 +1,7 @@
from django.contrib.auth.models import Group
g, created = Group.objects.get_or_create(name='teachers')
# from datetime import datetime # from datetime import datetime
# #
# f1 = DefFiles( # f1 = DefFiles(

View File

@ -40,7 +40,6 @@ class Class(models.Model):
class Teacher(models.Model): class Teacher(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE) user = models.OneToOneField(User, on_delete=models.CASCADE)
ion_user = models.CharField(max_length=100)
classes=models.ManyToManyField(Class, blank=True, related_name='classes') classes=models.ManyToManyField(Class, blank=True, related_name='classes')
git=models.CharField(max_length=100, default="", blank=True) git=models.CharField(max_length=100, default="", blank=True)
ion_user=models.CharField(primary_key=True, max_length=100) ion_user=models.CharField(primary_key=True, max_length=100)

View File

@ -45,8 +45,8 @@ class StudentSerializer(serializers.HyperlinkedModelSerializer):
class TeacherSerializer(serializers.ModelSerializer): class TeacherSerializer(serializers.ModelSerializer):
# Class = ClassSerializer(many=True, read_only=True,allow_null=True) # Class = ClassSerializer(many=True, read_only=True,allow_null=True)
owner = serializers.ReadOnlyField(source='owner.username') #owner = serializers.ReadOnlyField(source='owner.username')
class Meta: class Meta:
model = Teacher model = Teacher
# fields = ['url','first_name', 'last_name','git','ion_user', 'email','Class','owner'] # 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']

View File

@ -8,6 +8,7 @@ from .permissions import isTeacher, IsOwnerOrReadOnly
from django.shortcuts import render, redirect from django.shortcuts import render, redirect
from rest_framework.parsers import JSONParser from rest_framework.parsers import JSONParser
from rest_framework.response import Response from rest_framework.response import Response
from django.contrib.auth.models import Group
class UserViewSet(viewsets.ModelViewSet): class UserViewSet(viewsets.ModelViewSet):
@ -23,6 +24,8 @@ class StudentViewSet(viewsets.ModelViewSet):
queryset = Student.objects.all() queryset = Student.objects.all()
serializer_class = StudentSerializer serializer_class = StudentSerializer
permission_Class = [permissions.IsAuthenticated, IsOwnerOrReadOnly] permission_Class = [permissions.IsAuthenticated, IsOwnerOrReadOnly]
g, created = Group.objects.get_or_create(name='teachers')
def perform_create(self, serializer): def perform_create(self, serializer):
serializer.save(user=self.request.user) serializer.save(user=self.request.user)

View File

@ -8,6 +8,7 @@ from django.contrib import messages
from .models import Token from .models import Token
from api.models import Student, Teacher from api.models import Student, Teacher
from django.contrib.auth.models import Group
from .forms import UserCreationForm from .forms import UserCreationForm
@ -97,12 +98,15 @@ def create_account (request):
last_name=last_name, last_name=last_name,
password=password) password=password)
user.save() user.save()
g, created = Group.objects.get_or_create(name='teachers')
if isStudent: if isStudent:
profile = Student(user=user, git=git, grade=grade, ion_user=username) profile = Student(user=user, git=git, grade=grade, ion_user=username)
else: 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() profile.save()
token.delete() token.delete()