mirror of
https://github.com/Rushilwiz/SkoolOS.git
synced 2025-04-09 15:00:21 -04:00
53 lines
2.6 KiB
Python
53 lines
2.6 KiB
Python
from django.contrib.auth.models import User, Group
|
|
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
|
|
|
|
class UserSerializer(serializers.HyperlinkedModelSerializer):
|
|
# students = serializers.PrimaryKeyRelatedField(many=True, queryset=Student.objects.all())
|
|
# teachers = serializers.PrimaryKeyRelatedField(many=True, queryset=Teacher.objects.all())
|
|
|
|
class Meta:
|
|
model = User
|
|
fields = ['id', 'username']
|
|
|
|
# class DefFilesSerializer(serializers.HyperlinkedModelSerializer):
|
|
# class Meta:
|
|
# model = DefFiles
|
|
# fields = ['name', 'path','assignment','Class', "teacher",'url', 'id']
|
|
|
|
class AssignmentSerializer(serializers.HyperlinkedModelSerializer):
|
|
#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' , "Class","teacher",'owner']
|
|
fields = ['name', 'due_date', 'path' , "Class","teacher",'owner']
|
|
|
|
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 = 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):
|
|
# Class = ClassSerializer(many=True, read_only=True,allow_null=True)
|
|
class Meta:
|
|
model = Student
|
|
# fields = ['url','first_name', 'last_name', 'grade','email','student_id', 'git','ion_user','Class','added_to','completed', 'repo','owner']
|
|
fields = ['url','grade', 'ion_user','git','user','Class','added_to','completed', 'repo']
|
|
|
|
class TeacherSerializer(serializers.ModelSerializer):
|
|
# 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','Class','owner']
|
|
fields = ['first_name', 'last_name','git','ion_user', 'email','Class','owner']
|