def test_self_list_courses_is_admin_for(self): self.do_list_objects_test( self.client, self.admin, user_url(self.admin, 'user-courses-is-admin-for'), ag_serializers.CourseSerializer([self.course], many=True).data) for user in self.staff, self.enrolled, self.nobody: self.do_list_objects_test( self.client, user, user_url(user, 'user-courses-is-admin-for'), ag_serializers.CourseSerializer([], many=True).data)
def test_self_list_courses_is_enrolled_in(self): self.do_list_objects_test( self.client, self.enrolled, user_url(self.enrolled, 'user-courses-is-enrolled-in'), ag_serializers.CourseSerializer( self.enrolled.courses_is_enrolled_in.all(), many=True).data) for user in self.admin, self.staff, self.nobody: self.do_list_objects_test( self.client, user, user_url(user, 'user-courses-is-enrolled-in'), ag_serializers.CourseSerializer([], many=True).data)
def test_self_list_courses_is_staff_for(self): self.do_list_objects_test( self.client, self.staff, user_url(self.staff, 'user-courses-is-staff-for'), ag_serializers.CourseSerializer([self.course], many=True).data) # Note: Even though admins have staff privileges, they are not # listed here with other staff members. for user in self.admin, self.enrolled, self.nobody: self.do_list_objects_test( self.client, user, user_url(user, 'user-courses-is-staff-for'), ag_serializers.CourseSerializer([], many=True).data)
def courses_is_enrolled_in(self, request, *args, **kwargs): user = self.get_object() return response.Response( ag_serializers.CourseSerializer(user.courses_is_enrolled_in.all(), many=True).data)
def courses_is_handgrader_for(self, request, *args, **kwargs): user = self.get_object() return response.Response( ag_serializers.CourseSerializer( user.courses_is_handgrader_for.all(), many=True).data)