From f942cfe54fc8f2813ac431180bb415e635e7ec25 Mon Sep 17 00:00:00 2001 From: Unai Beristain Date: Mon, 7 Oct 2024 09:34:56 +0200 Subject: [PATCH] [IMP] website_sale_order_to_cart: Add cancel sale.order button --- .../controllers/main.py | 12 ++++++ .../views/website_templates.xml | 40 ++++++++++++++----- 2 files changed, 41 insertions(+), 11 deletions(-) diff --git a/website_sale_order_to_cart/controllers/main.py b/website_sale_order_to_cart/controllers/main.py index d5cf40f6..f8fb6abe 100644 --- a/website_sale_order_to_cart/controllers/main.py +++ b/website_sale_order_to_cart/controllers/main.py @@ -34,3 +34,15 @@ def sale_order_to_cart(self, **kwargs): return request.redirect("/shop/cart") return request.redirect("/shop") + + @http.route("/cancel_sale_order", type="http", auth="user", website=True) + def cancel_sale_order(self, **kwargs): + order_id = kwargs.get("order_id") + if order_id: + sale_order = request.env["sale.order"].sudo().browse(int(order_id)) + # Only cancel the order if the partner_id of the order is the user + # if sale_order and sale_order.partner_id == request.env.user.partner_id: + if sale_order and sale_order.state not in ["sale"]: + sale_order.action_cancel() + + return request.redirect("/shop") diff --git a/website_sale_order_to_cart/views/website_templates.xml b/website_sale_order_to_cart/views/website_templates.xml index 246f059c..1454dde2 100644 --- a/website_sale_order_to_cart/views/website_templates.xml +++ b/website_sale_order_to_cart/views/website_templates.xml @@ -7,13 +7,23 @@ >
- + + Confirm Cart + + + Cancel Cart + +
@@ -27,13 +37,22 @@ @@ -49,6 +68,5 @@ > False -