Add separate session serializer for course list

master
Tanner Collin 4 years ago
parent 4e82f13f74
commit a178516811
  1. 8
      apiserver/apiserver/api/serializers.py
  2. 4
      apiserver/apiserver/api/views.py

@ -229,6 +229,11 @@ class SessionSerializer(serializers.ModelSerializer):
def get_student_count(self, obj):
return len(obj.students.all())
class SessionListSerializer(SessionSerializer):
class Meta:
model = models.Session
fields = '__all__'
class CourseSerializer(serializers.ModelSerializer):
class Meta:
@ -236,12 +241,11 @@ class CourseSerializer(serializers.ModelSerializer):
fields = '__all__'
class CourseDetailSerializer(serializers.ModelSerializer):
sessions = SessionSerializer(many=True)
sessions = SessionListSerializer(many=True)
class Meta:
model = models.Course
fields = '__all__'
depth = 1
class AdminCourseSerializer(serializers.ModelSerializer):
class Meta:

@ -21,6 +21,10 @@ class IsOwnerOrAdmin(BasePermission):
def has_object_permission(self, request, view, obj):
return obj.user == request.user or is_admin_director(request.user)
class IsInstructor(BasePermission):
def has_object_permission(self, request, view, obj):
return user.member.is_instructor
class RetrieveUpdateViewSet(
viewsets.GenericViewSet,

Loading…
Cancel
Save