Ejemplo n.º 1
0
Archivo: views.py Proyecto: crs4/ACTIVE
    def post(self, request, format=None):
        """
        Method used to create a new ImageItem object.
        The object data is provided in a serialized format.

        @param request: HttpRequest used to provide item data.
        @type request: HttpRequest
        @param format: The format used for object serialization.
        @type format: string
        @return: HttpResponse containing the id of the new ImageItem object, error otherwise.
        @rtype: HttpResponse
        """
	request.data['owner'] = request.user.id
        serializer = ImageItemSerializer(data=request.data)
        if request.FILES and request.FILES['file'].content_type.split('/')[0] != 'image' :
            logger.error('Error on ImageItem creation: format not supported')
            return Response('Content type not supported', status=status.HTTP_400_BAD_REQUEST)
        if serializer.is_valid():
            serializer.save()
            logger.debug('Created a new ImageItem object')
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        logger.error('Error on ImageItem creation')
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 2
0
Archivo: views.py Proyecto: crs4/ACTIVE
    def put(self, request, pk, format=None):
        """
        Method used to update an ImageItem object data, providing all
        fresh data in a serialized form.

        @param request: HttpRequest containing the updated ImageItem field data.
        @type request: HttpRequest
        @param pk: ImageItem primary key, used to retrieve object data.
        @type pk: int
        @param format: Format used for data serialization.
        @type format: string
        @return: HttpResponse
        @rtype: HttpResponse
        """
        with edit_lock:
            item = self.get_object(pk,request.user)
            serializer = ImageItemSerializer(item, data=request.data, partial=True)
            if serializer.is_valid():
                serializer.save()
                logger.debug('Updated data on ImageItem with id ' + str(pk))
                return Response(serializer.data)
            logger.error('Error on update of ImageItem with id ' + str(pk))
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)