in order/views.py [0:0]
def fulfillOrder(request, storeId, orderId):
''' View to fulfill order, where you can add carrier and tracking number'''
if canViewThisStore(storeId, request.user.id):
store = Store.objects.get(id=storeId)
if request.method == "POST":
# Create a form instance and populate it with data from the request (binding):
form = FulfillOrderForm(request.POST)
# Check if the form is valid:
if form.is_valid():
carrier = form.cleaned_data["carrier"]
tracking_number = form.cleaned_data["tracking_number"]
# NOTE Currently only fulfilling orders fully
fulfill_order_async.delay(orderId, carrier, tracking_number)
messages.warning(request, ASYNCTASK_MSG.format("Fulfillment"))
return redirect("viewOrder", storeId, orderId)
form = FulfillOrderForm()
breadcrumbs = [
(store.name, "viewStore", store.id),
("Orders", "viewOrders", store.id),
("Order {}".format(orderId), "viewOrder", (storeId, orderId)),
]
context = {
"form": form,
"page_title": "Fulfill Order",
"breadcrumbs": breadcrumbs,
"button": "Fulfill",
}
return render(request, "core/update.html", context)
else:
return render(request, "403.html")