Ejemplo n.º 1
0
	def put(self, request, student_id, format=None):
		student = self.get_object(student_id)
		serializer = StudentSerializer(student, data=request.DATA)
		if serializer.is_valid():
			serializer.save()
			return Response(serializer.data)
		return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 2
0
 def put(self, request, student_id, format=None):
     student = self.get_object(student_id)
     serializer = StudentSerializer(student, data=request.DATA)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
 def post(self, req):
     student = StudentSerializer(data=req.data)
     if student.is_valid():
         student.save()
         return Response(status=status.HTTP_201_CREATED)
     else:
         return Response(status=status.HTTP_400, data=student.errors)
Ejemplo n.º 4
0
def student_detail(request, sID):
	"""
	Retrieve, update or delete a code snippet.
	"""
	try:
		if sID[0]<="m":
			student = Student.objects.using('student1').get(studentID=sID)
		else:
			student = Student.objects.using('student2').get(studentID=sID)
	except Student.DoesNotExist:
		return HttpResponse(status=404)

	if request.method == 'GET':
		serializer = StudentSerializer(student)
		return JSONResponse(serializer.data)

	elif request.method == 'PUT':
		data = JSONParser().parse(request)
		serializer = StudentSerializer(student, data=data)
		if serializer.is_valid():
			serializer.save()
			return JSONResponse(serializer.data)
		return JSONResponse(serializer.errors, status=400)

	elif request.method == 'DELETE':
		enroll_delete(sID=sID)
		print "test"
		student.delete()
		return HttpResponse(status=204)
Ejemplo n.º 5
0
    def get(self, request):
        students = Student.objects.all()

        # query_set
        id = request.query_params.get('id')
        status = request.query_params.get('status')
        admission_year = request.query_params.get('admission_year')
        classroom_id = request.query_params.get('classroom_id')
        sort = request.query_params.get(ORDERING_PARAM)

        if id:
            students = students.filter(pk=id)
        if status:
            students = students.filter(status=status)
        if admission_year:
            students = students.filter(admission_year=admission_year)
        if classroom_id:
            students = students.filter(classroom_id=classroom_id)
        if sort:
            students = students.order_by(f'{sort}')

        serializer = StudentSerializer(students, many=True)

        # paginate
        page = self.paginate_queryset(students)
        if page:
            serializer = self.get_paginated_response(StudentSerializer(page, many=True).data)
        return Response(serializer.data)
 def put(self, req, pk):
     student_obj = get_object_or_404(Student, id=pk)
     serialized = StudentSerializer(instance=student_obj,
                                    data=req.data,
                                    partial=True)
     if serialized.is_valid():
         serialized.save()
         return Response(status=status.HTTP_200_OK)
     else:
         return Response(status=status.HTTP_400_BAD_REQUEST,
                         data=serialized.errors)
Ejemplo n.º 7
0
 def students(self, request, pk=None):
     course = self.get_object()
     # Obtain course's students from enrollments.
     students = []
     for enr in course.enrollment_set.all():
         students.append(enr.student)
     students = StudentSerializer(students, many=True).data
     return Response(students)
Ejemplo n.º 8
0
    def get(self, request):
        user = request.user
        try:
            student = Student.objects.get(account=user)
        except Exception:
            raise serializers.ValidationError(
                'Your account is don\'t have permissions to acess this information'
            )

        serializer = StudentSerializer(student)
        return Response(serializer.data)
Ejemplo n.º 9
0
    def test_retrieve_students(self):
        """Test retrieving students by user school"""
        sample_objects.get_student(sample_objects.get_school())
        sample_objects.get_student(self.staff.school)

        res = self.client1.get(STUDENTS_URL)
        students = Student.objects.filter(school=self.staff.school)
        serializer = StudentSerializer(students, many=True)

        self.assertEquals(res.status_code, status.HTTP_200_OK)
        self.assertEquals(len(res.data), 1)
        self.assertEquals(res.data, serializer.data)
Ejemplo n.º 10
0
def student_list(request):
	"""
   	List all code students, or create a new students.
	"""
	if request.method == 'GET':
		s1 = Student.objects.using('student1').all()
		s2 = Student.objects.using('student2').all()
		#students = s1&s2
		serializer1 = StudentSerializer(s1, many=True)
		#print serializer1.data
		serializer2 = StudentSerializer(s2, many=True)
		#print serializer2.data
		return JSONResponse(serializer1.data+serializer2.data)
		
	elif request.method == 'POST':
		data = JSONParser().parse(request)
		print data
		serializer = StudentSerializer(data=data)
		if serializer.is_valid():
			serializer.save()
			return JSONResponse(serializer.data, status=201)
		return JSONResponse(serializer.errors, status=400)
Ejemplo n.º 11
0
 def post(self, request):
     student = StudentSerializer(data=request.data)
     try:
         student.is_valid(raise_exception=True)
         student.save()
         return Response(data=student.data, status=status.HTTP_201_CREATED)
     except serializers.ValidationError:
         return Response(student.errors, status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 12
0
def student_list(request,format=None):
    if request.method == 'GET':
        snippets = Students.objects.all()
        serializer = StudentSerializer(snippets, many=True)
        return Response(serializer.data)

    elif request.method == 'POST':
        serializer = StudentSerializer(data=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)
Ejemplo n.º 13
0
    def students(self, request, pk=None):
        subject = self.get_object()

        if request.method == 'GET':
            serialized = StudentSerializer(subject.students, many=True)
            return Response(status=status.HTTP_200_OK, data=serialized.data)

        if request.method == 'POST':
            students_ids = request.data.get('students')
            for id in students_ids:
                student = Student.objects.get(id=id)
                subject.students.add(student)
            subject.save()
            return Response(status=status.HTTP_200_OK)
Ejemplo n.º 14
0
def student_list(request):
    if request.method == 'GET':
        students = Students.objects.all()
        serializer = StudentSerializer(students, many=True)
        return JsonResponse(serializer.data, safe=False)

    elif request.method == 'POST':
        data = JSONParser().parse(request)
        serializer = StudentSerializer(data=data)
        if serializer.is_valid():
            serializer.save()
            return JsonResponse(serializer.data, status=201)
        return JsonResponse(serializer.errors, status=400)
Ejemplo n.º 15
0
class SchoolSerializer(serializers.ModelSerializer):
    students = StudentSerializer(many=True, required=False)
    students_count = serializers.IntegerField(read_only=True)

    class Meta:
        model = School
        fields = ('id', 'name', 'maximum_students_count', 'students',
                  'students_count')
        extra_kwargs = {
            'id': {
                'required': False
            },
            'students': {
                'required': False
            },
            'students_count': {
                'required': False
            },
        }
Ejemplo n.º 16
0
    def put(self, request):
        # Need id
        id = request.query_params.get('id')
        if id:
            student = get_student(id)
            serializer = StudentSerializer(student, data=request.data, partial=True)
            try:
                serializer.is_valid(raise_exception=True)
                serializer.save()
                return Response(serializer.data, status=status.HTTP_200_OK)
            except serializers.ValidationError:
                return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

        else:
            return Response({'id query param need to be provided'}, status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 17
0
def student_detail(request, pk,format=None):
    try:
        student = Students.objects.get(pk=pk)
    except Students.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)

    if request.method == 'GET':
        serializer = StudentSerializer(student)
        return Response(serializer.data)

    elif request.method == 'PUT':
        serializer = StudentSerializer(student, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    elif request.method == 'DELETE':
        student.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)
Ejemplo n.º 18
0
def student_detail(request, pk):
    try:
        student = Students.objects.get(pk=pk)
    except Students.DoesNotExist:
        return HttpResponse(status=404)

    if request.method == 'GET':
        serializer = StudentSerializer(student)
        return JsonResponse(serializer.data)

    elif request.method == 'PUT':
        data = JSONParser().parse(request)
        serializer = StudentSerializer(student, data=data)
        if serializer.is_valid():
            serializer.save()
            return JsonResponse(serializer.data)
        return JsonResponse(serializer.errors, status=400)

    elif request.method == 'DELETE':
        student.delete()
        return HttpResponse(status=204)
Ejemplo n.º 19
0
 def get(self, request, student_id, format=None):
     student = self.get_object(student_id)
     serializer = StudentSerializer(student, many=True)
     return Response(serializer.data)
Ejemplo n.º 20
0
 def students(self, request, pk=None):
     course = self.get_object()
     students = course.students.all()
     serialized = StudentSerializer(students, many=True)
     return Response(status=status.HTTP_200_OK, data=serialized.data)
Ejemplo n.º 21
0
 def send_email(self, request, pk=None):
     subject = self.get_object()
     serialized = StudentSerializer(subject.students.all(), many=True)
     date_to = datetime.now() + timedelta(minutes=2)
     send_email_to_students.apply_async(args=[serialized.data], eta=date_to)
     return Response(status=status.HTTP_200_OK)
Ejemplo n.º 22
0
 def get(self, req, pk):
     student_obj = get_object_or_404(Student, id=pk)
     student_serialized = StudentSerializer(student_obj)
     return Response(status=status.HTTP_200_OK,
                     data=student_serialized.data)
Ejemplo n.º 23
0
 def get(self, request, pk, format=None):
     courses = Student.objects.filter(courses=pk)
     serializer = StudentSerializer(courses, many=True)
     return Response(serializer.data)
Ejemplo n.º 24
0
 def get(self, req):
     students = Student.objects.all()
     students_serialized = StudentSerializer(students, many=True)
     return Response(status=status.HTTP_200_OK,
                     data=students_serialized.data)
Ejemplo n.º 25
0
 def get(self, request, pk, format=None):
     student = self.get_object(pk)
     serializer = StudentSerializer(student)
     return Response(serializer.data)
Ejemplo n.º 26
0
 def post(self, request, format=None):
     serializer = StudentSerializer(data=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)
Ejemplo n.º 27
0
 def get(self, request, format=None):
     students = Students.objects.all()
     serializer = StudentSerializer(students, many=True)
     return Response(serializer.data)
Ejemplo n.º 28
0
	def post(self, request, format=None):
		serializer = StudentSerializer(data=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)
Ejemplo n.º 29
0
def students_view(request):
    request_data = request.data

    if request.method == 'GET':
        grade = request.GET.get("grade")
        std_dev = request.GET.get("stdDev")
        sorted_last_name = request.GET.get("sorted_last_name")
        sorted_age = request.GET.get("sorted_age")
        sorted_grade = request.GET.get("sorted_grade")
        student_id = request.GET.get("student_id")

        if student_id:
            try:
                student = Student.objects.get(student_id=student_id)
            except Student.DoesNotExist:
                return JsonResponse({"student": "Not Found"}, status=404)

            serializer = StudentSerializer(student)

        elif grade:
            students = Student.objects.filter(school_grade=grade)
            num_students = len(students)

            students_avg_grade = students.aggregate(average=Avg('student_average'))

            res_json = {"num_students": num_students,
                        "school_grade": grade}

            res_json.update(students_avg_grade)

            if std_dev:
                students_stdDev = students.aggregate(std_dev=StdDev('student_average'))
                students_stdDev['std_dev'] = round(students_stdDev['std_dev'], 2)
                res_json.update(students_stdDev)

            serializer = StudentGradeAggSerializer(res_json)

        else:
            if sorted_last_name:
                students = Student.objects.order_by("last_name").all()

            elif sorted_age:
                students = Student.objects.order_by("-date_of_birth").all()

            elif sorted_grade:
                students = Student.objects.order_by("-school_grade").all()

            else:
                students = Student.objects.all()

            serializer = StudentSerializer(students, many=True)
        return JsonResponse(serializer.data, safe=False)

    elif request.method == 'POST':
        serializer = StudentSerializer(data=request_data)
        if serializer.is_valid():
            serializer.save()
            return_json = dict(serializer.data)
            return_json["created_at"] = datetime.now()
            return JsonResponse(return_json, status=201)
        return JsonResponse(serializer.errors, status=400)

    elif request.method == 'DELETE':
        student_id = request.GET.get("student_id")
        if student_id:
            try:
                student = Student.objects.get(student_id=student_id)
            except Student.DoesNotExist:
                return JsonResponse({"student": "Not Found"}, status=404)

            student.delete()
            return_json = model_to_dict(student)
            del return_json["id"]
            return_json["deleted_at"] = datetime.now()

        else:
            Student.objects.all().delete()
            return_json = {"num_students": 0}

        return JsonResponse(return_json, status=204)