-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #18 from SELab-2/backend
Merged backend with develop branch
- Loading branch information
Showing
38 changed files
with
282 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,7 @@ | ||
node_modules | ||
projectenv | ||
/venv/ | ||
__pycache__ | ||
**/__pycache__/ | ||
migrations | ||
.env | ||
htmlcov |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,16 @@ | ||
from django.contrib import admin | ||
from .models import * | ||
|
||
from .models.student import * | ||
from .models.lesgever import * | ||
from .models.vak import * | ||
from .models.groep import * | ||
from .models.project import * | ||
from .models.indiening import * | ||
from .models.score import * | ||
|
||
admin.site.register(Student) | ||
admin.site.register(Lesgever) | ||
admin.site.register(Vak) | ||
admin.site.register(Groep) | ||
admin.site.register(Project) | ||
admin.site.register(Indiening) | ||
admin.site.register(Score) | ||
admin.site.register(Score) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
from django.db import models | ||
|
||
|
||
class Groep(models.Model): | ||
group_id = models.AutoField(primary_key=True) | ||
students = models.ManyToManyField('Student', related_name='groups_students', blank=True) | ||
project = models.ForeignKey('Project', on_delete=models.CASCADE) | ||
|
||
def __str__(self): | ||
return f"Group {self.group_id}" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
from django.db import models | ||
|
||
|
||
class Indiening(models.Model): | ||
indiening_id = models.AutoField(primary_key=True) | ||
indiener = models.ForeignKey('Groep', on_delete=models.CASCADE) | ||
indieningsbestanden = models.FileField(upload_to='uploads/') | ||
tijdstip = models.DateTimeField(null=False) | ||
|
||
def __str__(self): | ||
return self.tijdstip | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
from django.db import models | ||
|
||
|
||
class Lesgever(models.Model): | ||
lesgever_id = models.AutoField(primary_key=True) | ||
name = models.CharField(max_length=100) | ||
email = models.EmailField(default='[email protected]') | ||
subjects = models.ManyToManyField('Vak', related_name='lesgevers_enrolled', blank=True) | ||
is_admin = models.BooleanField(default=False) | ||
|
||
def __str__(self): | ||
return self.name |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
from django.db import models | ||
from .vak import Vak | ||
|
||
|
||
class Project(models.Model): | ||
project_id = models.AutoField(primary_key=True) | ||
titel = models.CharField(max_length=100) | ||
description = models.TextField() | ||
opgavebestanden = models.FileField(upload_to='opgave/') | ||
vak = models.ForeignKey(Vak, on_delete=models.CASCADE) | ||
deadline = models.DateTimeField(null=True) | ||
# indiening restricties | ||
|
||
def __str__(self): | ||
return self.titel |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
from django.db import models | ||
|
||
|
||
class Score(models.Model): | ||
score = models.SmallIntegerField() | ||
indiening = models.ForeignKey('Indiening', on_delete=models.CASCADE) | ||
groep = models.ForeignKey('Groep', on_delete=models.CASCADE) | ||
|
||
def __str__(self): | ||
return self.score |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
from django.db import models | ||
from django.contrib.auth.models import User | ||
|
||
|
||
class Student(models.Model): | ||
user = models.OneToOneField(User, on_delete=models.CASCADE,primary_key=True,default=None) | ||
subjects = models.ManyToManyField('Vak', related_name='students_enrolled') | ||
|
||
def __str__(self): | ||
return self.user.first_name |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
from django.db import models | ||
|
||
|
||
class Vak(models.Model): | ||
vak_id = models.AutoField(primary_key=True) | ||
name = models.CharField(max_length=100) | ||
students = models.ManyToManyField('Student', related_name='subjects_enrolled', blank=True) | ||
teachers = models.ManyToManyField('Lesgever', related_name='subjects_teachers') | ||
projects = models.ManyToManyField('Project', related_name='subjects_projects', blank=True) | ||
|
||
def __str__(self): | ||
return self.name |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
from rest_framework import serializers | ||
from api.models.groep import Groep | ||
|
||
|
||
class GroepSerializer(serializers.ModelSerializer): | ||
class Meta: | ||
model = Groep | ||
fields = '__all__' | ||
|
||
def create(self, validated_data): | ||
return Groep.objects.create(**validated_data) | ||
|
||
def update(self, instance, validated_data): | ||
# Implement update method for Groep model | ||
pass |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
from rest_framework import serializers | ||
from api.models.indiening import Indiening | ||
|
||
|
||
class IndieningSerializer(serializers.ModelSerializer): | ||
class Meta: | ||
model = Indiening | ||
fields = '__all__' | ||
|
||
def create(self, validated_data): | ||
return Indiening.objects.create(**validated_data) | ||
|
||
def update(self, instance, validated_data): | ||
# Implement update method for Indiening model | ||
pass |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
from rest_framework import serializers | ||
from api.models.lesgever import Lesgever | ||
|
||
|
||
class LesgeverSerializer(serializers.ModelSerializer): | ||
class Meta: | ||
model = Lesgever | ||
fields = '__all__' | ||
|
||
def create(self, validated_data): | ||
return Lesgever.objects.create(**validated_data) | ||
|
||
def update(self, instance, validated_data): | ||
instance.name = validated_data.get('name', instance.name) | ||
# Update other fields similarly | ||
instance.save() | ||
return instance |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
from rest_framework import serializers | ||
from api.models.project import Student, Lesgever, Vak, Groep, Project, Indiening, Score | ||
|
||
|
||
class ProjectSerializer(serializers.ModelSerializer): | ||
class Meta: | ||
model = Project | ||
fields = '__all__' | ||
|
||
def create(self, validated_data): | ||
return Project.objects.create(**validated_data) | ||
|
||
def update(self, instance, validated_data): | ||
# Implement update method for Project model | ||
pass |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
from rest_framework import serializers | ||
from api.models.score import Score | ||
|
||
|
||
class ScoreSerializer(serializers.ModelSerializer): | ||
class Meta: | ||
model = Score | ||
fields = '__all__' | ||
|
||
def create(self, validated_data): | ||
return Score.objects.create(**validated_data) | ||
|
||
def update(self, instance, validated_data): | ||
# Implement update method for Score model | ||
pass |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
from rest_framework import serializers | ||
from api.models.student import Student | ||
|
||
|
||
class StudentSerializer(serializers.ModelSerializer): | ||
class Meta: | ||
model = Student | ||
fields = '__all__' | ||
|
||
def create(self, validated_data): | ||
return Student.objects.create(**validated_data) | ||
|
||
def update(self, instance, validated_data): | ||
# Update the regular fields | ||
instance.name = validated_data.get('name', instance.name) | ||
instance.email = validated_data.get('email', instance.email) | ||
# Update the subjects list | ||
subjects_data = validated_data.pop('subjects', None) | ||
if subjects_data is not None: | ||
instance.subjects.clear() # Remove existing subjects | ||
for subject_data in subjects_data: | ||
instance.subjects.add(subject_data) | ||
|
||
instance.save() | ||
return instance | ||
|
||
# gebruiksvoorbeelden | ||
|
||
# serializing objects | ||
#serializer = ProfSerializer(prof) | ||
#serializer.data | ||
#json = JSONRenderer().render(serializer.data) | ||
#json | ||
|
||
#deserializing objects | ||
#stream = io.BytesIO(json) | ||
#data = JSONParser().parse(stream) | ||
#serializer = ProfSerializer(data=data) | ||
#serializer.is_valid() | ||
#serializer.validated_data | ||
#serializer.save() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
from rest_framework import serializers | ||
from api.models.vak import Vak | ||
|
||
|
||
class VakSerializer(serializers.ModelSerializer): | ||
class Meta: | ||
model = Vak | ||
fields = '__all__' | ||
|
||
def create(self, validated_data): | ||
return Vak.objects.create(**validated_data) | ||
|
||
def update(self, instance, validated_data): | ||
instance.name = validated_data.get('name', instance.name) | ||
# Update other fields similarly | ||
instance.save() | ||
return instance |
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
from django.http import JsonResponse | ||
from rest_framework.decorators import api_view | ||
from rest_framework.response import Response | ||
from rest_framework import status | ||
from api.models.lesgever import Lesgever | ||
from api.serializers.lesgever import LesgeverSerializer | ||
|
||
|
||
@api_view(['GET', 'POST']) | ||
def lesgever_list(request): | ||
if request.method == 'GET': | ||
lesgevers = Lesgever.objects.all() | ||
serializer = LesgeverSerializer(lesgevers, many=True) | ||
return JsonResponse({'lesgevers': serializer.data}) | ||
elif request.method == 'POST': | ||
serializer = LesgeverSerializer(data=request.data) | ||
if serializer.is_valid(): | ||
serializer.save() | ||
return Response(serializer.data, status=status.HTTP_201_CREATED) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
from django.http import JsonResponse | ||
from rest_framework.decorators import api_view | ||
from rest_framework.response import Response | ||
from rest_framework import status | ||
from api.models.vak import Vak | ||
from api.serializers.vak import VakSerializer | ||
|
||
|
||
@api_view(['GET', 'POST']) | ||
def lesgever_list(request): | ||
if request.method == 'GET': | ||
lesgevers = Vak.objects.all() | ||
serializer = VakSerializer(lesgevers, many=True) | ||
return JsonResponse({'lesgevers': serializer.data}) | ||
elif request.method == 'POST': | ||
serializer = VakSerializer(data=request.data) | ||
if serializer.is_valid(): | ||
serializer.save() | ||
return Response(serializer.data, status=status.HTTP_201_CREATED) |