Polished year level and added endpoints for viewing subjects by year level

This commit is contained in:
Keannu Christian Bernasol 2023-04-22 00:54:00 +08:00
parent b5d2ad3cac
commit 392bf195ae
7 changed files with 92 additions and 141 deletions

View file

@ -6,10 +6,10 @@ from django.utils.timezone import now
class Subject(models.Model):
class YearLevels(models.TextChoices):
FIRST_YEAR = 'IU-Y1', '1st Year'
SECOND_YEAR = 'IU-Y2', '2nd Year'
THIRD_YEAR = 'IU-Y3', '3rd Year'
FOURTH_YEAR = 'IU-Y4', '4th Year'
FIRST_YEAR = '1st Year'
SECOND_YEAR = '2nd Year'
THIRD_YEAR = '3rd Year'
FOURTH_YEAR = '4th Year'
class Semesters(models.TextChoices):
FIRST_SEM = 'Sem-1', '1st Semester'

View file

@ -4,9 +4,12 @@ from . import views
router = routers.DefaultRouter()
router.register(r'subjects', views.SubjectViewSet)
# Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browsable API.
urlpatterns = [
path('', include(router.urls)),
path('first_year_subjects/', views.FirstYearSubjectViewSet.as_view()),
path('second_year_subjects/', views.SecondYearSubjectViewSet.as_view()),
path('third_year_subjects/', views.ThirdYearSubjectViewSet.as_view()),
path('fourth_year_subjects/', views.FourthYearSubjectViewSet.as_view()),
]

View file

@ -1,5 +1,5 @@
from rest_framework.permissions import IsAuthenticated
from rest_framework import viewsets
from rest_framework import viewsets, generics
from .serializers import SubjectSerializer
from .models import Subject
@ -8,3 +8,27 @@ class SubjectViewSet(viewsets.ModelViewSet):
# permission_classes = [IsAuthenticated]
serializer_class = SubjectSerializer
queryset = Subject.objects.all().order_by('-year_level')
class FirstYearSubjectViewSet(generics.ListAPIView):
# permission_classes = [IsAuthenticated]
serializer_class = SubjectSerializer
queryset = Subject.objects.filter(year_level='1st Year')
class SecondYearSubjectViewSet(generics.ListAPIView):
# permission_classes = [IsAuthenticated]
serializer_class = SubjectSerializer
queryset = Subject.objects.filter(year_level='2nd Year')
class ThirdYearSubjectViewSet(generics.ListAPIView):
# permission_classes = [IsAuthenticated]
serializer_class = SubjectSerializer
queryset = Subject.objects.filter(year_level='3rd Year')
class FourthYearSubjectViewSet(generics.ListAPIView):
# permission_classes = [IsAuthenticated]
serializer_class = SubjectSerializer
queryset = Subject.objects.filter(year_level='4th Year')