示例#1
0
def api_presentation_order(request, presentation_id, order_id):
    try:
        if request.method == "GET":
            presentation = Presentation.objects.get(pk=presentation_id)
            order = Order.objects.get(pk=order_id)

            presentation_order = PresentationOrder(presentation=presentation, order=order)
            presentation_order.save()

            return HttpResponse(json.dumps(order.convert_to_dict()), mimetype="application/json")

        if request.method == "POST":
            new_order_dict = order_duplicate(order_id, "PRE-BOOK")

            presentation = Presentation.objects.get(pk=presentation_id)
            order = Order.objects.get(pk=new_order_dict["order_id"])

            presentation_order = PresentationOrder(presentation=presentation, order=order)
            presentation_order.save()

            return HttpResponse(json.dumps(new_order_dict), mimetype="application/json")

        if request.method == "DELETE":
            presentation = Presentation.objects.get(pk=presentation_id)
            order = Order.objects.get(pk=order_id)
            presentation_order = PresentationOrder.objects.get(presentation=presentation, order=order)
            presentation_order.delete()

            return HttpResponse(json.dumps({"status": "deleted"}), mimetype="application/json")

    except Exception, e:
        logger.error("api_presentation_order: {}".format(e))
        return HttpResponseServerError(e)