Skip to content

Commit b0f3038

Browse files
authored
Merge pull request #5569 from dixmit/18.0-fix-website-newsletter
[18.0][OU-FIX] website_mass_mailing: Manage changes on newsletter
2 parents e1a74db + 3c34aef commit b0f3038

3 files changed

Lines changed: 44 additions & 0 deletions

File tree

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Copyright 2026 Dixmit Consulting
2+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
3+
4+
from lxml import etree
5+
from openupgradelib import openupgrade
6+
7+
8+
@openupgrade.migrate()
9+
def migrate(env, version):
10+
new_snippet = env.ref("website_mass_mailing.s_newsletter_subscribe_form")
11+
views = env["ir.ui.view"].search(
12+
[
13+
(
14+
"arch_db",
15+
"ilike",
16+
'class="s_newsletter_subscribe_form s_newsletter_list js_subscribe"',
17+
),
18+
("website_id", "!=", False),
19+
]
20+
)
21+
for view in views:
22+
root = etree.fromstring(view.arch_db)
23+
for node in root.cssselect(".s_newsletter_subscribe_form"):
24+
new_node = new_snippet._get_combined_arch().getchildren()[0]
25+
button = node.cssselect(".js_subscribe_btn")
26+
if button:
27+
new_node.cssselect(".js_subscribe_btn")[0].text = button[0].text
28+
thanks = node.cssselect(".js_subscribed_btn")
29+
if thanks:
30+
new_node.xpath("//*[hasclass('js_subscribed_wrap')]/p")[0].text = (
31+
" " + thanks[0].text
32+
)
33+
# TODO: Check what happens with translations
34+
node.getparent().replace(node, new_node)
35+
view.arch_db = etree.tostring(root)
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---Models in module 'website_mass_mailing'---
2+
---Fields in module 'website_mass_mailing'---
3+
---XML records in module 'website_mass_mailing'---
4+
---nothing has changed in this module--
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---Models in module 'website_mass_mailing'---
2+
---Fields in module 'website_mass_mailing'---
3+
---XML records in module 'website_mass_mailing'---
4+
---nothing has changed in this module--
5+
# NOTHING TO DO

0 commit comments

Comments
 (0)