diff --git a/uncloud_v3/app/services.py b/uncloud_v3/app/services.py
index ce98c66..1db25e1 100644
--- a/uncloud_v3/app/services.py
+++ b/uncloud_v3/app/services.py
@@ -21,6 +21,7 @@ def order_product(product, timeframe, formdata):
resource = get_object_or_404(Resource, slug=res)
ro = ResourceOrder.objects.create(value=value, resource=resource)
po.resources.add(ro)
+ return po
# Ordering without a timeframe
# if not timeframe:
diff --git a/uncloud_v3/app/templates/app/order_confirmation.html b/uncloud_v3/app/templates/app/order_confirmation.html
new file mode 100644
index 0000000..ed57513
--- /dev/null
+++ b/uncloud_v3/app/templates/app/order_confirmation.html
@@ -0,0 +1,13 @@
+
Order Confirmation
+
+
+Thank you for the order. The details are below:
+
+
+ Order ID: {{ product_order.id }}
+ Product: {{ product_order.product.name }}
+
+
+
diff --git a/uncloud_v3/app/views.py b/uncloud_v3/app/views.py
index 0478578..db1cde9 100644
--- a/uncloud_v3/app/views.py
+++ b/uncloud_v3/app/views.py
@@ -10,12 +10,23 @@ from .models import *
from .forms import *
from .services import *
+
+class OrderConfirmationView(TemplateView):
+ template_name = 'app/order_confirmation.html'
+
+ def get_context_data(self, **kwargs):
+ context = super().get_context_data(**kwargs)
+ po_id = self.request.session.pop('product_order_id', None)
+ context['product_order'] = get_object_or_404(ProductOrder, id=po_id)
+ return context
+
+
class ProductOneTimeOrderView(FormView):
form_class = ProductOneTimeOrderForm
template_name = 'app/productorder_form.html'
def get_success_url(self):
- return "/"
+ return reverse("order-confirmation")
def get_form_kwargs(self):
kwargs = super().get_form_kwargs()
@@ -58,8 +69,8 @@ class ProductOneTimeOrderView(FormView):
else:
timeframe = None
- order_product(product, timeframe, form.cleaned_data)
-
+ po = order_product(product, timeframe, form.cleaned_data)
+ self.request.session['product_order_id'] = po.id
return super().form_valid(form)
class ProductOrderView(ProductOneTimeOrderView):
diff --git a/uncloud_v3/uncloud/urls.py b/uncloud_v3/uncloud/urls.py
index 33b46b8..bebb926 100644
--- a/uncloud_v3/uncloud/urls.py
+++ b/uncloud_v3/uncloud/urls.py
@@ -23,6 +23,7 @@ urlpatterns = [
path('order//', appviews.ProductOrderView.as_view(), name='product-order'),
path('order/recurring///', appviews.ProductOrderView.as_view(), name='product-order-tf'),
path('order/onetime//', appviews.ProductOneTimeOrderView.as_view(), name='product-order-onetime'),
+ path('order-confirmation', appviews.OrderConfirmationView.as_view(), name='order-confirmation'),
path('product/', appviews.ProductListView.as_view(), name='products'),
path('product//', appviews.ProductDetailView.as_view(), name='product-detail'),
path('', appviews.IndexView.as_view(), name='index'),