Exemple #1
0
    def post(self, request, format=None):
        """
        Method used to create a new DynamicTag object.
        The object data is provided in a serialized format.

        @param request: HttpRequest used to provide tag data.
        @type request: HttpRequest
        @param format: The format used for object serialization.
        @type format: string
        @return: HttpResponse containing the id of the new DynamicTag object, error otherwise.
        @rtype: HttpResponse
        """
        serializer = DynamicTagSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
            logger.debug('Created new DynamicTag object')
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        logger.error('Error on creating a new DynamicTag object')
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Exemple #2
0
    def put(self, request, pk, format=None):
        """
        Method used to update a DynamicTag object data, providing all
        fresh data in a serialized form.

        @param request: HttpRequest containing the updated DynamicTag field data.
        @type request: HttpRequest
        @param pk: DynamicTag 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:
            tag = self.get_object(pk)
            serializer = DynamicTagSerializer(tag, data=request.data, partial=True)
            if serializer.is_valid():
                serializer.save()
                logger.debug('Updated data for DynamicTag object with id ' + str(pk))
                return Response(serializer.data)
            logger.error('Error on update of DynamicTag object with id ' + str(pk))
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)