Example #1
0
def ProductList(request):

    if request.method == 'GET':
        contacts = Product.objects.all()
        serializer = ProductSerializer(contacts, many=True)
        return Response(serializer.data)
    elif request.method == 'POST':
        serializer = ProductSerializer(data=request.data)

        serializer.is_valid(raise_exception=True)
        product = Product()
        event = Event()

        if serializer.data["productid"] == '':
            product.productid = str(uuid.uuid4())[26:36]
            event.EventTypeReason = "New product received via API"
        else:
            product.productid = serializer.data["productid"]
            event.EventTypeReason = "Product added via API"

        product.name = serializer.data["name"]
        product.slug = slugify(product.name),

        product.description = serializer.data["description"]
        product.description_html = misaka.html(product.description),
        product.coverage_limit = serializer.data["coverage_limit"]
        product.price_per_1000_units = serializer.data["price_per_1000_units"]

        product.source = "Post API"

        product.creator = get_object_or_404(User,
                                            pk=serializer.data["creator"])

        product.backend_SOR_connection = "Disconnected"
        product.response = ""
        product.commit_indicator = "Not Committed"
        product.record_status = ""
        product.bulk_upload_indicator = "Y"

        #Log events
        event.EventTypeCode = "PRW"
        event.EventSubjectId = product.productid
        event.EventSubjectName = product.name
        event.source = "Post API"
        event.creator = product.creator
        event.save()

        product.save()
        return Response(serializer.data)