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

@ -43,12 +43,14 @@ INSTALLED_APPS = [
'rest_framework.authtoken',
'djoser',
'subjects',
'corsheaders',
'students'
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
"corsheaders.middleware.CorsMiddleware",
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
@ -144,3 +146,11 @@ DJOSER = {
'SEND_CONFIRMATION_EMAIL': True,
'ACTIVATION_URL': 'activation/{uid}/{token}',
}
EMAIL_HOST = 'sandbox.smtp.mailtrap.io'
EMAIL_HOST_USER = '54ff6949e39105'
EMAIL_HOST_PASSWORD = 'c59d3eaa05f98d'
EMAIL_PORT = '2525'
CORS_ALLOW_ALL_ORIGINS = True
CORS_ALLOW_CREDENTIALS = True

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')