From d0c24208ba199426e4954ca632d7f308ef9762f9 Mon Sep 17 00:00:00 2001 From: Jan Suhr Date: Fri, 25 Sep 2026 09:46:56 +0200 Subject: [PATCH] [IMP] website_altcha: allow appending the widget Add altcha_append_to so that inheriting widgets can append the widget to an element instead of prepending it, such as website_mass_mailing_altcha. Assisted-by: Claude Opus 5.5 (1M context) --- website_altcha/static/src/altcha.esm.js | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/website_altcha/static/src/altcha.esm.js b/website_altcha/static/src/altcha.esm.js index 996bfbb97a..62b295a370 100644 --- a/website_altcha/static/src/altcha.esm.js +++ b/website_altcha/static/src/altcha.esm.js @@ -4,6 +4,9 @@ import {session} from "@web/session"; export const AltchaBaseFunctionality = { altcha_prepend_to: "div.oe_login_buttons", + altcha_append_to: false, + altcha_before: false, + altcha_after: false, altcha_enabled: false, altcha_init() { @@ -24,9 +27,23 @@ export const AltchaBaseFunctionality = { }, altcha_insert_widget() { if (this.altcha_enabled && !this.$el.find("altcha-widget").length) { - this.$el - .find(this.altcha_prepend_to) - .prepend(renderToString("website_altcha.AltchaWidget", {})); + if (this.altcha_before) { + this.$el + .find(this.altcha_before) + .before(renderToString("website_altcha.AltchaWidget", {})); + } else if (this.altcha_after) { + this.$el + .find(this.altcha_after) + .after(renderToString("website_altcha.AltchaWidget", {})); + } else if (this.altcha_append_to) { + this.$el + .find(this.altcha_append_to) + .append(renderToString("website_altcha.AltchaWidget", {})); + } else if (this.altcha_prepend_to) { + this.$el + .find(this.altcha_prepend_to) + .prepend(renderToString("website_altcha.AltchaWidget", {})); + } } }, };