From 10aeb09ebf436676fea3bc4e62169d7d678c842e Mon Sep 17 00:00:00 2001
From: pilarvargas-tecnativa
Date: Tue, 10 Dec 2024 17:29:54 +0100
Subject: [PATCH] [MIG] website_event_sale_b2x_alt_price: Migration to version
17.0
TT51967
---
website_event_sale_b2x_alt_price/README.rst | 1 +
.../__manifest__.py | 2 +-
.../models/event_ticket.py | 3 +-
.../readme/CONTRIBUTORS.md | 1 +
.../static/description/index.html | 1 +
.../static/src/js/b2b.esm.js | 60 +++++++++----------
.../static/src/js/b2c.esm.js | 60 +++++++++----------
.../templates/website_event_sale.xml | 51 ++++++++++------
.../tests/test_ui.py | 4 +-
9 files changed, 98 insertions(+), 85 deletions(-)
diff --git a/website_event_sale_b2x_alt_price/README.rst b/website_event_sale_b2x_alt_price/README.rst
index eb40777aa..b0b0f2ee7 100644
--- a/website_event_sale_b2x_alt_price/README.rst
+++ b/website_event_sale_b2x_alt_price/README.rst
@@ -84,6 +84,7 @@ Contributors
- Jairo Llopis
- Carlos Roca
- David Vidal
+ - Pilar Vargas
Maintainers
-----------
diff --git a/website_event_sale_b2x_alt_price/__manifest__.py b/website_event_sale_b2x_alt_price/__manifest__.py
index 9a576ea2d..05233e0d9 100644
--- a/website_event_sale_b2x_alt_price/__manifest__.py
+++ b/website_event_sale_b2x_alt_price/__manifest__.py
@@ -3,7 +3,7 @@
{
"name": "Online event ticket sales with alternative prices",
"summary": "Display alt. price (B2B for B2C websites, and viceversa)",
- "version": "15.0.1.1.0",
+ "version": "17.0.1.0.0",
"development_status": "Beta",
"category": "Website",
"website": "https://github.com/OCA/event",
diff --git a/website_event_sale_b2x_alt_price/models/event_ticket.py b/website_event_sale_b2x_alt_price/models/event_ticket.py
index 8edae1de0..866c268c5 100644
--- a/website_event_sale_b2x_alt_price/models/event_ticket.py
+++ b/website_event_sale_b2x_alt_price/models/event_ticket.py
@@ -9,10 +9,11 @@ class EventEventTicket(models.Model):
def _get_ticket_combination_info(self):
"""Imitate product.template's _get_combination_info()."""
+ website = self.env["website"].get_current_website(fallback=False)
# Obtain the inverse field of the normal b2b/b2c behavior
alt_field = (
"total_included"
- if self.env.user.has_group("account.group_show_line_subtotals_tax_excluded")
+ if website.show_line_subtotals_tax_selection == "tax_excluded"
else "total_excluded"
)
price, alt_price = self.price_reduce, self.price_reduce_taxinc
diff --git a/website_event_sale_b2x_alt_price/readme/CONTRIBUTORS.md b/website_event_sale_b2x_alt_price/readme/CONTRIBUTORS.md
index 3ad5fc0ce..1a6d26e1d 100644
--- a/website_event_sale_b2x_alt_price/readme/CONTRIBUTORS.md
+++ b/website_event_sale_b2x_alt_price/readme/CONTRIBUTORS.md
@@ -2,3 +2,4 @@
- Jairo Llopis
- Carlos Roca
- David Vidal
+ - Pilar Vargas
diff --git a/website_event_sale_b2x_alt_price/static/description/index.html b/website_event_sale_b2x_alt_price/static/description/index.html
index 90496ee70..fbf9725e6 100644
--- a/website_event_sale_b2x_alt_price/static/description/index.html
+++ b/website_event_sale_b2x_alt_price/static/description/index.html
@@ -432,6 +432,7 @@
Jairo Llopis
Carlos Roca
David Vidal
+Pilar Vargas
diff --git a/website_event_sale_b2x_alt_price/static/src/js/b2b.esm.js b/website_event_sale_b2x_alt_price/static/src/js/b2b.esm.js
index d75b130c3..013d8d318 100644
--- a/website_event_sale_b2x_alt_price/static/src/js/b2b.esm.js
+++ b/website_event_sale_b2x_alt_price/static/src/js/b2b.esm.js
@@ -1,37 +1,35 @@
/** @odoo-module */
+
/* Copyright 2022 Carlos Roca - Tecnativa
Copyright 2021 Tecnativa - David Vidal
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
*/
-import tour from "web_tour.tour";
-
-export const steps = [
- {
- trigger: "a:has(span:contains('Test Event One Ticket'))",
- },
- {
- trigger: "a[href='/event']",
- extra_trigger:
- ".o_wevent_registration_single:has(span[data-oe-field='price_reduce']:contains('100.0')):has(span.js_alt_price:contains('122.00')):has(h6:contains('Test Ticket'))",
- },
- {
- trigger: "a:has(span:contains('Test Event More Tickets'))",
- },
- {
- trigger:
- "#o_wevent_tickets_collapse > div:has(span[data-oe-field='price_reduce']:contains('100.00')):has(span.js_alt_price:contains('122.00')):has(h5:contains('Test Ticket 1'))",
- },
- {
- trigger:
- "#o_wevent_tickets_collapse > div:has(span[data-oe-field='price_reduce']:contains('100.00')):not(:has(span.js_alt_price)):has(h5:contains('Test Ticket 2'))",
- },
-];
+import {registry} from "@web/core/registry";
+import wsTourUtils from "@website_sale/js/tours/tour_utils";
-tour.register(
- "website_event_sale_b2x_alt_price_b2b",
- {
- test: true,
- url: "/event",
- },
- steps
-);
+registry.category("web_tour.tours").add("website_event_sale_b2x_alt_price_b2b", {
+ test: true,
+ url: "/event",
+ steps: () => [
+ {
+ content: "Open the Test Event One Ticket event page",
+ trigger: '.o_wevent_events_list a:contains("Test Event One Ticket")',
+ },
+ {
+ content: "Open the register modal",
+ trigger: 'button:contains("Register")',
+ },
+ {
+ extra_trigger:
+ ".o_wevent_registration_single:has(span[data-oe-field='price_reduce']:contains('100.00')):has(span.js_alt_price:contains('122.00'))",
+ trigger: '.btn-primary.o_wait_lazy_js:contains("Register")',
+ },
+ {
+ content: "Validate attendees details",
+ extra_trigger:
+ "input[name*='1-name'], input[name*='2-name'], input[name*='3-name']",
+ trigger: 'button[type=submit]:contains("Go to Payment")',
+ },
+ wsTourUtils.goToCart({quantity: 1}),
+ ],
+});
diff --git a/website_event_sale_b2x_alt_price/static/src/js/b2c.esm.js b/website_event_sale_b2x_alt_price/static/src/js/b2c.esm.js
index be8bb0fe9..3f2cde034 100644
--- a/website_event_sale_b2x_alt_price/static/src/js/b2c.esm.js
+++ b/website_event_sale_b2x_alt_price/static/src/js/b2c.esm.js
@@ -1,37 +1,35 @@
/** @odoo-module */
+
/* Copyright 2022 Carlos Roca - Tecnativa
Copyright 2021 Tecnativa - David Vidal
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
*/
-import tour from "web_tour.tour";
-
-export const steps = [
- {
- trigger: "a:has(span:contains('Test Event One Ticket'))",
- },
- {
- trigger: "a[href='/event']",
- extra_trigger:
- ".o_wevent_registration_single:has(span[data-oe-field='price_reduce_taxinc']:contains('122.0')):has(span.js_alt_price:contains('100.00')):has(h6:contains('Test Ticket'))",
- },
- {
- trigger: "a:has(span:contains('Test Event More Tickets'))",
- },
- {
- trigger:
- "#o_wevent_tickets_collapse > div:has(span[data-oe-field='price_reduce_taxinc']:contains('122.00')):has(span.js_alt_price:contains('100.00')):has(h5:contains('Test Ticket 1'))",
- },
- {
- trigger:
- "#o_wevent_tickets_collapse > div:has(span[data-oe-field='price_reduce_taxinc']:contains('100.00')):not(:has(span.js_alt_price)):has(h5:contains('Test Ticket 2'))",
- },
-];
+import {registry} from "@web/core/registry";
+import wsTourUtils from "@website_sale/js/tours/tour_utils";
-tour.register(
- "website_event_sale_b2x_alt_price_b2c",
- {
- test: true,
- url: "/event",
- },
- steps
-);
+registry.category("web_tour.tours").add("website_event_sale_b2x_alt_price_b2c", {
+ test: true,
+ url: "/event",
+ steps: () => [
+ {
+ content: "Open the Test Event One Ticket event page",
+ trigger: '.o_wevent_events_list a:contains("Test Event One Ticket")',
+ },
+ {
+ content: "Open the register modal",
+ trigger: 'button:contains("Register")',
+ },
+ {
+ extra_trigger:
+ ".o_wevent_registration_single:has(span[data-oe-field='price_reduce_taxinc']:contains('122.00')):has(span.js_alt_price:contains('100.00'))",
+ trigger: '.btn-primary.o_wait_lazy_js:contains("Register")',
+ },
+ {
+ content: "Validate attendees details",
+ extra_trigger:
+ "input[name*='1-name'], input[name*='2-name'], input[name*='3-name']",
+ trigger: 'button[type=submit]:contains("Go to Payment")',
+ },
+ wsTourUtils.goToCart({quantity: 1}),
+ ],
+});
diff --git a/website_event_sale_b2x_alt_price/templates/website_event_sale.xml b/website_event_sale_b2x_alt_price/templates/website_event_sale.xml
index 6636190c9..ba9792a3d 100644
--- a/website_event_sale_b2x_alt_price/templates/website_event_sale.xml
+++ b/website_event_sale_b2x_alt_price/templates/website_event_sale.xml
@@ -6,46 +6,61 @@
-
+
+
-
+
+
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
+
diff --git a/website_event_sale_b2x_alt_price/tests/test_ui.py b/website_event_sale_b2x_alt_price/tests/test_ui.py
index a7f3e15b9..9a2ebe339 100644
--- a/website_event_sale_b2x_alt_price/tests/test_ui.py
+++ b/website_event_sale_b2x_alt_price/tests/test_ui.py
@@ -35,14 +35,12 @@ def setUp(self):
product_form.name = "Test Product Event Without Taxes"
product_form.lst_price = 100
product_form.detailed_type = "event"
- product_form.type = "service"
self.product_without_taxes = product_form.save()
self.product_without_taxes.taxes_id = False
product_form = Form(self.env["product.product"])
product_form.name = "Test Product Event With Taxes"
product_form.lst_price = 100
product_form.detailed_type = "event"
- product_form.type = "service"
self.product_with_taxes = product_form.save()
self.product_with_taxes.taxes_id = self.tax_22_sale
event_form = Form(self.env["event.event"])
@@ -84,7 +82,7 @@ def _switch_tax_mode(self, mode):
def test_ui_website_b2b(self):
"""Test frontend b2b tour."""
- UICase._switch_tax_mode(self, "tax_excluded")
+ self._switch_tax_mode("tax_excluded")
self.start_tour(
"/event",
"website_event_sale_b2x_alt_price_b2b",