Skip to content

Commit

Permalink
Added endpoints for training.
Browse files Browse the repository at this point in the history
  • Loading branch information
MikeRomaa committed Mar 10, 2021
1 parent e4fef5c commit 4beeaa4
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 13 deletions.
6 changes: 5 additions & 1 deletion apps/training/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,9 @@
from . import views

urlpatterns = [
path('', views.SessionListView.as_view()),
path('', views.StudentSessionListView.as_view()),
path('sessions/', views.SessionListView.as_view()),
path('sessions/<int:session_id>/', views.SessionInstanceView.as_view()),
path('request/', views.TrainingRequestListView.as_view()),
path('request/<int:request_id>/', views.TrainingRequestInstanceView.as_view()),
]
26 changes: 14 additions & 12 deletions apps/training/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
from .serializers import *


class SessionListView(APIView):
permission_classes = [IsAuthenticated]
class StudentSessionListView(APIView):
permission_classes = [IsMember]

def get(self, request):
"""
Expand All @@ -20,15 +20,17 @@ def get(self, request):
serializer = TrainingSessionSerializer(sessions, many=True)
return Response(serializer.data)

# def post(self, request):
# """
# Create training session.
# """
# serializer = TrainingSessionSerializer(request.data)
# if serializer.is_valid():
# serializer.save()
# return Response(serializer.data, status=status.HTTP_201_CREATED)
# return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

class SessionListView(APIView):
permission_classes = [IsTrainingStaff]

def get(self, request):
"""
Get list of all training sessions.
"""
sessions = TrainingSession.objects.all()
serializer = TrainingSessionSerializer(sessions, many=True)
return Response(serializer.data)


class SessionInstanceView(APIView):
Expand Down Expand Up @@ -69,7 +71,7 @@ def post(self, request):
"""
Submit a new training request.
"""
serializer = TrainingRequestSerializer(data=request.data, context={'request': request.data})
serializer = TrainingRequestSerializer(data=request.data, context={'request': request})
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
Expand Down

0 comments on commit 4beeaa4

Please sign in to comment.