From 49df3498d90982c95bb1f5e680a64623dfc03589 Mon Sep 17 00:00:00 2001 From: Laetitia Getti Date: Mon, 15 May 2023 11:16:29 +0200 Subject: [PATCH] confirmation page after a user orders --- .../order/grouped_order_overview.html | 2 +- .../order/templates/order/order_detail.html | 35 +++++++++++++++++++ la_chariotte/order/tests/test_views.py | 6 ++-- la_chariotte/order/urls.py | 5 +++ la_chariotte/order/views.py | 8 ++++- 5 files changed, 52 insertions(+), 4 deletions(-) create mode 100644 la_chariotte/order/templates/order/order_detail.html diff --git a/la_chariotte/order/templates/order/grouped_order_overview.html b/la_chariotte/order/templates/order/grouped_order_overview.html index 08293a5..664aeb5 100644 --- a/la_chariotte/order/templates/order/grouped_order_overview.html +++ b/la_chariotte/order/templates/order/grouped_order_overview.html @@ -24,7 +24,7 @@ diff --git a/la_chariotte/order/templates/order/order_detail.html b/la_chariotte/order/templates/order/order_detail.html new file mode 100644 index 0000000..acd73a9 --- /dev/null +++ b/la_chariotte/order/templates/order/order_detail.html @@ -0,0 +1,35 @@ +{% extends 'base.html' %} + +{% block title %}Votre commande{% endblock %} + +{% block content_title %}Commande confirmée !{% endblock %} + +{% block content %} +
+

Merci !

+

Votre participation à la commande groupée "{{ order.grouped_order }}" a bien été confirmée ! + Dans une prochaine version de la Chariotte, vous recevrez un mail de confirmation :)

+

En attendant, vous pouvez bien noter ces infos :

+ +

Votre commande

+ + +

Rendez-vous le {{ order.grouped_order.delivery_date }} à {{ order.grouped_order.place }} pour récupérer vos produits !

+ +

Pour toute question, vous pouvez contacter l'organisateur·ice de la commande, {{ order.grouped_order.orga }} : + Envoyer un mail

+ +
+ Retour à la page de commande + {% if user == order.grouped_order.orga %} + Page de gestion de la commande + {% endif %} +
+
+{% endblock %} \ No newline at end of file diff --git a/la_chariotte/order/tests/test_views.py b/la_chariotte/order/tests/test_views.py index 00d7d5e..4b7cc66 100644 --- a/la_chariotte/order/tests/test_views.py +++ b/la_chariotte/order/tests/test_views.py @@ -249,10 +249,12 @@ class TestGroupedOrderDetailView: }, ) assert response.status_code == 302 + order = Order.objects.get(grouped_order=grouped_order.pk) assert response.url == reverse( - "order:grouped_order_overview", + "order:order_confirm", kwargs={ - "pk": grouped_order.pk, + "grouped_order_id": grouped_order.pk, + "pk": order.pk, }, ) item.refresh_from_db() diff --git a/la_chariotte/order/urls.py b/la_chariotte/order/urls.py index 7895098..d317634 100644 --- a/la_chariotte/order/urls.py +++ b/la_chariotte/order/urls.py @@ -14,6 +14,11 @@ urlpatterns = [ name="grouped_order_overview", ), path("/commander/", views.order, name="order"), + path( + "//confirmation/", + views.OrderDetailView.as_view(), + name="order_confirm", + ), path("creer", views.GroupedOrderCreateView.as_view(), name="create_grouped_order"), path( "/gerer-produits", diff --git a/la_chariotte/order/views.py b/la_chariotte/order/views.py index 3348de2..eece0b9 100644 --- a/la_chariotte/order/views.py +++ b/la_chariotte/order/views.py @@ -156,7 +156,7 @@ def order(request, grouped_order_id): # with POST data. This prevents data from being posted twice if a # user hits the Back button. return HttpResponseRedirect( - reverse("order:grouped_order_overview", args=(grouped_order.pk,)) + reverse("order:order_confirm", args=(grouped_order.pk, order.pk)) ) @@ -176,3 +176,9 @@ def compute_order_articles_nb(order): articles_nb += ord_item.nb order.articles_nb = articles_nb order.save() + + +class OrderDetailView(generic.DetailView): + """Confirmation page after a user orders""" + + model = Order