def retrieve(self, request, pk=None): """ Return verified and professional seats of courses against provided catalog id. --- produces: - application/xml """ catalog = get_object_or_404(Catalog, pk=pk) if not catalog.has_object_read_permission(request): raise PermissionDenied courses = catalog.courses() course_runs = CourseRun.objects.filter( course__in=courses).active().marketable() seats = Seat.objects.filter( type__in=[Seat.VERIFIED, Seat.PROFESSIONAL]).filter( course_run__in=course_runs) seats = seats.select_related( 'course_run', 'course_run__language', 'course_run__course', 'course_run__course__level_type', 'course_run__course__partner', 'course_run__course__type', 'course_run__type', 'type', ).prefetch_related( 'course_run__course__authoring_organizations', 'course_run__course__subjects', ) serializer = serializers.AffiliateWindowSerializer(seats, many=True) return Response(serializer.data)
def retrieve(self, request, pk=None): # pylint: disable=redefined-builtin,unused-argument """ Return verified and professional seats of courses against provided catalog id. --- produces: - application/xml """ catalog = get_object_or_404(Catalog, pk=pk) if not catalog.has_object_read_permission(request): raise PermissionDenied courses = catalog.courses() course_runs = CourseRun.objects.filter( course__in=courses).active().marketable() seats = Seat.objects.filter( type__in=[Seat.VERIFIED, Seat.PROFESSIONAL]).filter( course_run__in=course_runs) seats = seats.select_related('course_run').prefetch_related( 'course_run__course', 'course_run__course__partner') serializer = serializers.AffiliateWindowSerializer(seats, many=True) return Response(serializer.data)