def place_order(request, pk=None):
"""
Place a specific order.
"""
order = get_object_or_404(rest.models.Order, pk=pk)
if not request.user.is_superuser:
if not order.organization.can_user_scan(request.user):
raise PermissionDenied("You do not have sufficient privileges to start scans for that organization.")
if not order.is_ready_to_place:
raise PermissionDenied(order.get_ready_errors())
order.place_order()
order.save()
send_emails_for_placed_order.delay(
order_uuid=unicode(order.uuid),
receipt_description=order.get_receipt_description(),
)
handle_placed_order.delay(order_uuid=unicode(order.uuid))
return Response(status=204)
评论列表
文章目录