Ejemplo n.º 1
0
    def put(self, request, pk, format=None):
        order = self.get_object(pk)
        oldvalue = serializers.OrderSerializer(order).data

        serializer = serializers.OrderSerializer(order, data=request.data)
        if serializer.is_valid():
            serializer.save()
            admin = models.User.objects.get(email=ADMIN_EMAIL)
            notify.send(sender=request.user, recipient=admin,
                        verb=ORDER_VERB["update"], target=order, description={
                            "old": oldvalue,
                            "new": serializer.data
                        })
            return Response(serializer.data)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 2
0
    def delete(self, request, pk, format=None):
        order = self.get_object(pk)

        admin = models.User.objects.get(email=ADMIN_EMAIL)
        notify.send(sender=request.user, recipient=admin,
                    verb=ORDER_VERB["delete"], target=order, description=serializers.OrderSerializer(order).data)

        order.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)
Ejemplo n.º 3
0
    def post(self, request, format=None):
        serializer = serializers.OrderSerializer(data=request.data)
        if serializer.is_valid():
            order = serializer.save(employer=request.user)

            admin = models.User.objects.get(email=ADMIN_EMAIL)
            notify.send(sender=request.user, recipient=admin,
                        verb=ORDER_VERB["create"], target=order, description=serializer.data)
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 4
0
 def orders(self, request, pk):
     if request.method == 'POST':
         instance = self.get_object()
         serializer = serializers.OrderSerializer(data=request.data)
         if serializer.is_valid():
             serializer.save()
             return Response(serializer.data)
         logger.info(
             f"{self.request.user} created order: {serializer.data.get('username')}"
         )
         return Response(serializer.errors)
Ejemplo n.º 5
0
 def get(self, request, pk, format=None):
     order = self.get_object(pk)
     serializer = serializers.OrderSerializer(order)
     return Response(serializer.data)