diff --git a/website_form_require_legal/README.rst b/website_form_require_legal/README.rst index 6493b9434e..47ec338713 100644 --- a/website_form_require_legal/README.rst +++ b/website_form_require_legal/README.rst @@ -82,6 +82,10 @@ Contributors - Carlos Roca +- `NICO SOLUTIONS `__: + + - Nils Coenen + Maintainers ----------- diff --git a/website_form_require_legal/__manifest__.py b/website_form_require_legal/__manifest__.py index 7210fbf821..00255d3f7b 100644 --- a/website_form_require_legal/__manifest__.py +++ b/website_form_require_legal/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Website Form Require Legal", "summary": "Add possibility to require confirm legal terms.", - "version": "16.0.1.0.0", + "version": "17.0.1.0.0", "category": "Website", "license": "LGPL-3", "website": "https://github.com/OCA/website", @@ -14,7 +14,7 @@ "data": ["views/snippets.xml"], "assets": { "website.assets_wysiwyg": [ - "website_form_require_legal/static/src/js/options.js", + "website_form_require_legal/static/src/js/options.esm.js", "website_form_require_legal/static/src/xml/website_form_editor.xml", ], "web.assets_frontend": [ diff --git a/website_form_require_legal/readme/CONTRIBUTORS.md b/website_form_require_legal/readme/CONTRIBUTORS.md index 4b7dfed851..45bd008237 100644 --- a/website_form_require_legal/readme/CONTRIBUTORS.md +++ b/website_form_require_legal/readme/CONTRIBUTORS.md @@ -1,2 +1,4 @@ - [Tecnativa](https://www.tecnativa.com): - Carlos Roca +- [NICO SOLUTIONS](https://www.nico-solutions.de): + - Nils Coenen diff --git a/website_form_require_legal/static/description/index.html b/website_form_require_legal/static/description/index.html index 669296d943..9ca748d5ff 100644 --- a/website_form_require_legal/static/description/index.html +++ b/website_form_require_legal/static/description/index.html @@ -1,4 +1,3 @@ - @@ -9,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -275,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -301,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -428,12 +428,18 @@

Contributors

  • Carlos Roca
  • +
  • NICO SOLUTIONS: +
  • Maintainers

    This module is maintained by the OCA.

    -Odoo Community Association + +Odoo Community Association +

    OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

    diff --git a/website_form_require_legal/static/src/js/options.esm.js b/website_form_require_legal/static/src/js/options.esm.js new file mode 100644 index 0000000000..fc8d4c9038 --- /dev/null +++ b/website_form_require_legal/static/src/js/options.esm.js @@ -0,0 +1,50 @@ +/** @odoo-module **/ + +import options from "@web_editor/js/editor/snippets.options"; +import {renderToElement} from "@web/core/utils/render"; + +options.registry.WebsiteFormEditor.include({ + /** + * @override + */ + start: function () { + const proms = [this._super(...arguments)]; + this.$target.find(".s_website_form_legal").attr("contentEditable", true); + return Promise.all(proms); + }, + /** + * Toggle the legal terms checkbox + */ + toggleLegalTerms: function () { + const legalTermsEl = this.$target[0].querySelector(".s_website_form_legal"); + if (legalTermsEl) { + legalTermsEl.remove(); + } else { + const template = document.createElement("template"); + const labelWidth = this.$target[0].querySelector(".s_website_form_label") + .style.width; + template.content.append( + renderToElement("website_form_require_legal.s_website_form_legal", { + labelWidth: labelWidth, + termsURL: "terms", + }) + ); + const legal = template.content.firstElementChild; + legal.setAttribute("contentEditable", true); + if (this.$target.find(".s_website_form_recaptcha").length) { + this.$target.find(".s_website_form_recaptcha")[0].before(legal); + } else { + this.$target.find(".s_website_form_submit").before(legal); + } + } + }, + /** + * @override + */ + _computeWidgetState: function (methodName) { + if (methodName === "toggleLegalTerms") { + return !this.$target[0].querySelector(".s_website_form_legal") || ""; + } + return this._super(...arguments); + }, +}); diff --git a/website_form_require_legal/static/src/js/options.js b/website_form_require_legal/static/src/js/options.js deleted file mode 100644 index 3b7b29fc40..0000000000 --- a/website_form_require_legal/static/src/js/options.js +++ /dev/null @@ -1,57 +0,0 @@ -odoo.define("website_form_require_legal.form_editor", function (require) { - "use strict"; - - const core = require("web.core"); - const options = require("web_editor.snippets.options"); - require("website.form_editor_registry"); - require("website.editor.snippets.options"); - - const qweb = core.qweb; - - options.registry.WebsiteFormEditor.include({ - /** - * @override - */ - start: function () { - const proms = [this._super(...arguments)]; - this.$target.find(".s_website_form_legal").attr("contentEditable", true); - return Promise.all(proms); - }, - /** - * Toggle the legal terms checkbox - */ - toggleLegalTerms: function () { - const legalTermsEl = this.$target[0].querySelector(".s_website_form_legal"); - if (legalTermsEl) { - legalTermsEl.remove(); - } else { - const template = document.createElement("template"); - const labelWidth = this.$target[0].querySelector( - ".s_website_form_label" - ).style.width; - $(template).html( - qweb.render("website_form_require_legal.s_website_form_legal", { - labelWidth: labelWidth, - termsURL: "terms", - }) - ); - const legal = template.content.firstElementChild; - legal.setAttribute("contentEditable", true); - if (this.$target.find(".s_website_form_recaptcha").length) { - this.$target.find(".s_website_form_recaptcha")[0].before(legal); - } else { - this.$target.find(".s_website_form_submit").before(legal); - } - } - }, - /** - * @override - */ - _computeWidgetState: function (methodName) { - if (methodName === "toggleLegalTerms") { - return !this.$target[0].querySelector(".s_website_form_legal") || ""; - } - return this._super(...arguments); - }, - }); -});