From 5a2bf0cb9d4428915d9ce0bb4514f5d96379ae1a Mon Sep 17 00:00:00 2001
From: David
Date: Mon, 8 Jul 2024 16:58:02 +0200
Subject: [PATCH 1/5] [ADD] website_conditional_visibility_user_group: New
module
TT50008
---
.../README.rst | 94 ++++
.../__init__.py | 1 +
.../__manifest__.py | 28 ++
.../i18n/es.po | 43 ++
...site_conditional_visibility_user_group.pot | 41 ++
.../models/__init__.py | 1 +
.../models/ir_http.py | 20 +
.../readme/CONFIGURE.md | 9 +
.../readme/CONTRIBUTORS.md | 2 +
.../readme/DESCRIPTION.md | 2 +
.../static/description/index.html | 441 ++++++++++++++++++
.../static/src/js/inject_dom.esm.js | 9 +
.../snippet_visibility_portal_tests.esm.js | 28 ++
.../src/tests/snippet_visibility_tests.esm.js | 67 +++
.../tests/__init__.py | 1 +
.../test_conditional_visibility_user_group.py | 19 +
.../views/snippet_options_template.xml | 48 ++
17 files changed, 854 insertions(+)
create mode 100644 website_conditional_visibility_user_group/README.rst
create mode 100644 website_conditional_visibility_user_group/__init__.py
create mode 100644 website_conditional_visibility_user_group/__manifest__.py
create mode 100644 website_conditional_visibility_user_group/i18n/es.po
create mode 100644 website_conditional_visibility_user_group/i18n/website_conditional_visibility_user_group.pot
create mode 100644 website_conditional_visibility_user_group/models/__init__.py
create mode 100644 website_conditional_visibility_user_group/models/ir_http.py
create mode 100644 website_conditional_visibility_user_group/readme/CONFIGURE.md
create mode 100644 website_conditional_visibility_user_group/readme/CONTRIBUTORS.md
create mode 100644 website_conditional_visibility_user_group/readme/DESCRIPTION.md
create mode 100644 website_conditional_visibility_user_group/static/description/index.html
create mode 100644 website_conditional_visibility_user_group/static/src/js/inject_dom.esm.js
create mode 100644 website_conditional_visibility_user_group/static/src/tests/snippet_visibility_portal_tests.esm.js
create mode 100644 website_conditional_visibility_user_group/static/src/tests/snippet_visibility_tests.esm.js
create mode 100644 website_conditional_visibility_user_group/tests/__init__.py
create mode 100644 website_conditional_visibility_user_group/tests/test_conditional_visibility_user_group.py
create mode 100644 website_conditional_visibility_user_group/views/snippet_options_template.xml
diff --git a/website_conditional_visibility_user_group/README.rst b/website_conditional_visibility_user_group/README.rst
new file mode 100644
index 0000000000..db42063980
--- /dev/null
+++ b/website_conditional_visibility_user_group/README.rst
@@ -0,0 +1,94 @@
+====================================================
+Conditional visibility for internal users in Website
+====================================================
+
+..
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! This file is generated by oca-gen-addon-readme !!
+ !! changes will be overwritten. !!
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! source digest: sha256:748c0a8174d9f9a0b4aee5b58aeaced2309a29997f74d53c86a129c7b0b021a0
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
+ :target: https://odoo-community.org/page/development-status
+ :alt: Beta
+.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
+ :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
+ :alt: License: AGPL-3
+.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fwebsite-lightgray.png?logo=github
+ :target: https://github.com/OCA/website/tree/15.0/website_conditional_visibility_user_group
+ :alt: OCA/website
+.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
+ :target: https://translation.odoo-community.org/projects/website-15-0/website-15-0-website_conditional_visibility_user_group
+ :alt: Translate me on Weblate
+.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
+ :target: https://runboat.odoo-community.org/builds?repo=OCA/website&target_branch=15.0
+ :alt: Try me on Runboat
+
+|badge1| |badge2| |badge3| |badge4| |badge5|
+
+This module adds extra granularity in the visibility of the website
+snippets allowing to set if the users that can see a block are internal
+or portal ones.
+
+**Table of contents**
+
+.. contents::
+ :local:
+
+Configuration
+=============
+
+To configure the user group visibility:
+
+- With the frontend editor opened select the block you want to set the
+ visibility for.
+- In *Style* tab of the editor panel set the *Visibility* option to
+ *Conditional* and unfold it.
+- Set the *Users* option to *Visible for logged in*.
+- Now you'll see the new *Groups* option.
+- You can choose between *Only internal users*, *Only portal users* or
+ *No restriction*, which is the default value.
+
+Bug Tracker
+===========
+
+Bugs are tracked on `GitHub Issues `_.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us to smash it by providing a detailed and welcomed
+`feedback `_.
+
+Do not contact contributors directly about support or help with technical issues.
+
+Credits
+=======
+
+Authors
+-------
+
+* Tecnativa
+
+Contributors
+------------
+
+- `Tecnativa `__
+
+ - David Vidal
+
+Maintainers
+-----------
+
+This module is maintained by the OCA.
+
+.. image:: https://odoo-community.org/logo.png
+ :alt: Odoo Community Association
+ :target: https://odoo-community.org
+
+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.
+
+This module is part of the `OCA/website `_ project on GitHub.
+
+You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/website_conditional_visibility_user_group/__init__.py b/website_conditional_visibility_user_group/__init__.py
new file mode 100644
index 0000000000..0650744f6b
--- /dev/null
+++ b/website_conditional_visibility_user_group/__init__.py
@@ -0,0 +1 @@
+from . import models
diff --git a/website_conditional_visibility_user_group/__manifest__.py b/website_conditional_visibility_user_group/__manifest__.py
new file mode 100644
index 0000000000..d7fe90cb76
--- /dev/null
+++ b/website_conditional_visibility_user_group/__manifest__.py
@@ -0,0 +1,28 @@
+# Copyright 2024 Tecnativa - David Vidal
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+{
+ "name": "Conditional visibility for internal users in Website",
+ "summary": "Only internal users will see the blocks you add this condition to",
+ "version": "15.0.1.0.0",
+ "category": "Product",
+ "website": "https://github.com/OCA/website",
+ "author": "Tecnativa, Odoo Community Association (OCA)",
+ "license": "AGPL-3",
+ "depends": ["website"],
+ "data": ["views/snippet_options_template.xml"],
+ "assets": {
+ "web.assets_frontend_minimal": [
+ "website_conditional_visibility_user_group/static/src/js/*.js",
+ ],
+ "web.assets_frontend_lazy": [
+ # Remove assets_frontend_minimal
+ (
+ "remove",
+ "website_conditional_visibility_user_group/static/src/js/*.js",
+ ),
+ ],
+ "web.assets_tests": [
+ "website_conditional_visibility_user_group/static/src/tests/*.js"
+ ],
+ },
+}
diff --git a/website_conditional_visibility_user_group/i18n/es.po b/website_conditional_visibility_user_group/i18n/es.po
new file mode 100644
index 0000000000..b0c0c3eeeb
--- /dev/null
+++ b/website_conditional_visibility_user_group/i18n/es.po
@@ -0,0 +1,43 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * website_conditional_visibility_user_group
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 15.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2024-07-12 05:20+0000\n"
+"PO-Revision-Date: 2024-07-12 07:21+0200\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 3.4.4\n"
+
+#. module: website_conditional_visibility_user_group
+#: model:ir.model,name:website_conditional_visibility_user_group.model_ir_http
+msgid "HTTP Routing"
+msgstr "Ruta HTTP"
+
+#. module: website_conditional_visibility_user_group
+#: model_terms:ir.ui.view,arch_db:website_conditional_visibility_user_group.snippet_options
+msgid "No restriction"
+msgstr "Sin restricciones"
+
+#. module: website_conditional_visibility_user_group
+#: model_terms:ir.ui.view,arch_db:website_conditional_visibility_user_group.snippet_options
+msgid "Only internal users"
+msgstr "Solo usuarios internos"
+
+#. module: website_conditional_visibility_user_group
+#: model_terms:ir.ui.view,arch_db:website_conditional_visibility_user_group.snippet_options
+msgid "Only portal users"
+msgstr "Solo usuarios de portal"
+
+#. module: website_conditional_visibility_user_group
+#: model_terms:ir.ui.view,arch_db:website_conditional_visibility_user_group.snippet_options
+msgid "⌙ Groups"
+msgstr "⌙ Grupos"
diff --git a/website_conditional_visibility_user_group/i18n/website_conditional_visibility_user_group.pot b/website_conditional_visibility_user_group/i18n/website_conditional_visibility_user_group.pot
new file mode 100644
index 0000000000..eb2f3ac984
--- /dev/null
+++ b/website_conditional_visibility_user_group/i18n/website_conditional_visibility_user_group.pot
@@ -0,0 +1,41 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * website_conditional_visibility_user_group
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 15.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2024-07-12 05:19+0000\n"
+"PO-Revision-Date: 2024-07-12 05:19+0000\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: website_conditional_visibility_user_group
+#: model:ir.model,name:website_conditional_visibility_user_group.model_ir_http
+msgid "HTTP Routing"
+msgstr ""
+
+#. module: website_conditional_visibility_user_group
+#: model_terms:ir.ui.view,arch_db:website_conditional_visibility_user_group.snippet_options
+msgid "No restriction"
+msgstr ""
+
+#. module: website_conditional_visibility_user_group
+#: model_terms:ir.ui.view,arch_db:website_conditional_visibility_user_group.snippet_options
+msgid "Only internal users"
+msgstr ""
+
+#. module: website_conditional_visibility_user_group
+#: model_terms:ir.ui.view,arch_db:website_conditional_visibility_user_group.snippet_options
+msgid "Only portal users"
+msgstr ""
+
+#. module: website_conditional_visibility_user_group
+#: model_terms:ir.ui.view,arch_db:website_conditional_visibility_user_group.snippet_options
+msgid "⌙ Groups"
+msgstr ""
diff --git a/website_conditional_visibility_user_group/models/__init__.py b/website_conditional_visibility_user_group/models/__init__.py
new file mode 100644
index 0000000000..9a5eb71871
--- /dev/null
+++ b/website_conditional_visibility_user_group/models/__init__.py
@@ -0,0 +1 @@
+from . import ir_http
diff --git a/website_conditional_visibility_user_group/models/ir_http.py b/website_conditional_visibility_user_group/models/ir_http.py
new file mode 100644
index 0000000000..5bbd10afbc
--- /dev/null
+++ b/website_conditional_visibility_user_group/models/ir_http.py
@@ -0,0 +1,20 @@
+# Copyright 2024 Tecnativa - David Vidal
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+from odoo import api, models
+from odoo.http import request
+
+
+class IrHttp(models.AbstractModel):
+ _inherit = "ir.http"
+
+ @api.model
+ def get_frontend_session_info(self):
+ # Used for the visibility of the website snippets
+ session_info = super().get_frontend_session_info()
+ if request.env.user.has_group("base.group_user"):
+ session_info["user_group"] = "internal"
+ elif request.env.user.has_group("base.group_portal"):
+ session_info["user_group"] = "portal"
+ else:
+ session_info["user_group"] = "public"
+ return session_info
diff --git a/website_conditional_visibility_user_group/readme/CONFIGURE.md b/website_conditional_visibility_user_group/readme/CONFIGURE.md
new file mode 100644
index 0000000000..b518af04f9
--- /dev/null
+++ b/website_conditional_visibility_user_group/readme/CONFIGURE.md
@@ -0,0 +1,9 @@
+To configure the user group visibility:
+
+- With the frontend editor opened select the block you want to set the visibility for.
+- In *Style* tab of the editor panel set the *Visibility* option to *Conditional* and
+ unfold it.
+- Set the *Users* option to *Visible for logged in*.
+- Now you'll see the new *Groups* option.
+- You can choose between *Only internal users*, *Only portal users* or *No restriction*,
+ which is the default value.
diff --git a/website_conditional_visibility_user_group/readme/CONTRIBUTORS.md b/website_conditional_visibility_user_group/readme/CONTRIBUTORS.md
new file mode 100644
index 0000000000..96d0c4c7ff
--- /dev/null
+++ b/website_conditional_visibility_user_group/readme/CONTRIBUTORS.md
@@ -0,0 +1,2 @@
+- [Tecnativa](https://tecnativa.com)
+ - David Vidal
diff --git a/website_conditional_visibility_user_group/readme/DESCRIPTION.md b/website_conditional_visibility_user_group/readme/DESCRIPTION.md
new file mode 100644
index 0000000000..d97bd2b265
--- /dev/null
+++ b/website_conditional_visibility_user_group/readme/DESCRIPTION.md
@@ -0,0 +1,2 @@
+This module adds extra granularity in the visibility of the website snippets allowing
+to set if the users that can see a block are internal or portal ones.
diff --git a/website_conditional_visibility_user_group/static/description/index.html b/website_conditional_visibility_user_group/static/description/index.html
new file mode 100644
index 0000000000..b8faeddd20
--- /dev/null
+++ b/website_conditional_visibility_user_group/static/description/index.html
@@ -0,0 +1,441 @@
+
+
+
+
+
+
+Conditional visibility for internal users in Website
+
+
+
+
+
Conditional visibility for internal users in Website
+
+
+
+
This module adds extra granularity in the visibility of the website
+snippets allowing to set if the users that can see a block are internal
+or portal ones.
+
Table of contents
+
+
+
+
To configure the user group visibility:
+
+- With the frontend editor opened select the block you want to set the
+visibility for.
+- In Style tab of the editor panel set the Visibility option to
+Conditional and unfold it.
+- Set the Users option to Visible for logged in.
+- Now you’ll see the new Groups option.
+- You can choose between Only internal users, Only portal users or
+No restriction, which is the default value.
+
+
+
+
+
Bugs are tracked on GitHub Issues.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us to smash it by providing a detailed and welcomed
+feedback.
+
Do not contact contributors directly about support or help with technical issues.
+
+
+
+
+
+
+
+
This module is maintained by the OCA.
+
+
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.
+
This module is part of the OCA/website project on GitHub.
+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
+
+
+
+
+
diff --git a/website_conditional_visibility_user_group/static/src/js/inject_dom.esm.js b/website_conditional_visibility_user_group/static/src/js/inject_dom.esm.js
new file mode 100644
index 0000000000..0190631516
--- /dev/null
+++ b/website_conditional_visibility_user_group/static/src/js/inject_dom.esm.js
@@ -0,0 +1,9 @@
+/** @odoo-module */
+/* Copyright 2024 Tecnativa - David Vidal
+ * License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). */
+import {session} from "@web/session";
+
+document.addEventListener("DOMContentLoaded", () => {
+ const htmlEl = document.documentElement;
+ htmlEl.dataset.user_group = session.user_group;
+});
diff --git a/website_conditional_visibility_user_group/static/src/tests/snippet_visibility_portal_tests.esm.js b/website_conditional_visibility_user_group/static/src/tests/snippet_visibility_portal_tests.esm.js
new file mode 100644
index 0000000000..867ea65984
--- /dev/null
+++ b/website_conditional_visibility_user_group/static/src/tests/snippet_visibility_portal_tests.esm.js
@@ -0,0 +1,28 @@
+/** @odoo-module */
+/* Copyright 2024 Tecnativa - David Vidal
+ * License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). */
+import tour from "web_tour.tour";
+
+tour.register(
+ "conditional_visibility_portal",
+ {
+ test: true,
+ url: "/",
+ },
+ [
+ {
+ content: "The content should be hidden for portal users",
+ trigger: "#wrap",
+ run: function () {
+ const style = window.getComputedStyle(
+ this.$anchor[0].getElementsByClassName("s_text_image")[0]
+ );
+ if (style.display !== "none") {
+ console.error(
+ "Error: This item should be invisible for portal users"
+ );
+ }
+ },
+ },
+ ]
+);
diff --git a/website_conditional_visibility_user_group/static/src/tests/snippet_visibility_tests.esm.js b/website_conditional_visibility_user_group/static/src/tests/snippet_visibility_tests.esm.js
new file mode 100644
index 0000000000..a192b485bd
--- /dev/null
+++ b/website_conditional_visibility_user_group/static/src/tests/snippet_visibility_tests.esm.js
@@ -0,0 +1,67 @@
+/** @odoo-module */
+/* Copyright 2024 Tecnativa - David Vidal
+ * License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). */
+import tour from "web_tour.tour";
+import wTourUtils from "website.tour_utils";
+
+const snippet = {
+ id: "s_text_image",
+ name: "Text - Image",
+};
+
+tour.register(
+ "conditional_visibility_only_internal_user",
+ {
+ test: true,
+ url: "/",
+ },
+ [
+ {
+ content: "enter edit mode",
+ trigger: "a[data-action=edit]",
+ },
+ wTourUtils.dragNDrop(snippet),
+ wTourUtils.clickOnSnippet(snippet),
+ wTourUtils.changeOption("ConditionalVisibility", "we-toggler"),
+ {
+ content: "Set on conditional visibility",
+ trigger: '[data-name="visibility_conditional"]',
+ run: "click",
+ },
+ {
+ content: "Click in User visibility",
+ trigger: '[data-save-attribute="visibilityValueLogged"]',
+ run: "click",
+ },
+ {
+ content: "Set visibility to logged in users",
+ trigger: '[data-name="visibility_logged_in"]',
+ run: "click",
+ },
+ {
+ content: "Click in group visibility",
+ trigger: '[data-save-attribute="visibilityUserGroup"]',
+ run: "click",
+ },
+ {
+ content: "Set visibility to logged internal users only",
+ trigger: '[data-name="user_group_internal"]',
+ run: "click",
+ },
+ ...wTourUtils.clickOnSave(),
+ {
+ content: "Check if the rule was applied",
+ trigger: "body:not(.editor_enable) #wrap",
+ run: function () {
+ const style = window.getComputedStyle(
+ this.$anchor[0].getElementsByClassName("s_text_image")[0]
+ );
+ if (style.display === "none") {
+ console.error(
+ "Error: this item should be visible for internal users"
+ );
+ }
+ },
+ },
+ ]
+);
diff --git a/website_conditional_visibility_user_group/tests/__init__.py b/website_conditional_visibility_user_group/tests/__init__.py
new file mode 100644
index 0000000000..d1c4bc70cb
--- /dev/null
+++ b/website_conditional_visibility_user_group/tests/__init__.py
@@ -0,0 +1 @@
+from . import test_conditional_visibility_user_group
diff --git a/website_conditional_visibility_user_group/tests/test_conditional_visibility_user_group.py b/website_conditional_visibility_user_group/tests/test_conditional_visibility_user_group.py
new file mode 100644
index 0000000000..d21c0546d3
--- /dev/null
+++ b/website_conditional_visibility_user_group/tests/test_conditional_visibility_user_group.py
@@ -0,0 +1,19 @@
+# Copyright 2024 Tecnativa - David Vidal
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+from odoo.tests import HttpCase, new_test_user, tagged
+
+
+@tagged("-at_install", "post_install")
+class TestConditionalVisibilityUserGroup(HttpCase):
+ @classmethod
+ def setUpClass(cls):
+ super().setUpClass()
+ new_test_user(cls.env, login="portal_user", groups="base.group_portal")
+
+ def test_snippet_for_internal_users(self):
+ """Only internal users can see the snippet"""
+ # We drag a new block, set its visibility to internal users and check that
+ # we can see it as internal users
+ self.start_tour("/", "conditional_visibility_only_internal_user", login="admin")
+ # The block is hidden for portal users
+ self.start_tour("/", "conditional_visibility_portal", login="portal_user")
diff --git a/website_conditional_visibility_user_group/views/snippet_options_template.xml b/website_conditional_visibility_user_group/views/snippet_options_template.xml
new file mode 100644
index 0000000000..9b387a8265
--- /dev/null
+++ b/website_conditional_visibility_user_group/views/snippet_options_template.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+ visibility_logged_in
+
+
+
+
+ No restriction
+ Only portal users
+ Only internal users
+
+
+
+
+ user_group_all
+
+
+
From 43b867dceaa87012ea52dc5f03a7377668598b15 Mon Sep 17 00:00:00 2001
From: oca-ci
Date: Fri, 12 Jul 2024 07:46:18 +0000
Subject: [PATCH 2/5] [UPD] Update
website_conditional_visibility_user_group.pot
---
.../i18n/website_conditional_visibility_user_group.pot | 2 --
1 file changed, 2 deletions(-)
diff --git a/website_conditional_visibility_user_group/i18n/website_conditional_visibility_user_group.pot b/website_conditional_visibility_user_group/i18n/website_conditional_visibility_user_group.pot
index eb2f3ac984..0cadf36a81 100644
--- a/website_conditional_visibility_user_group/i18n/website_conditional_visibility_user_group.pot
+++ b/website_conditional_visibility_user_group/i18n/website_conditional_visibility_user_group.pot
@@ -6,8 +6,6 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-07-12 05:19+0000\n"
-"PO-Revision-Date: 2024-07-12 05:19+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
From 0f14f18368bcea2b9b170213f0d9aedbe330efef Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Fri, 12 Jul 2024 07:49:30 +0000
Subject: [PATCH 3/5] [BOT] post-merge updates
---
.../static/description/icon.png | Bin 0 -> 9455 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 website_conditional_visibility_user_group/static/description/icon.png
diff --git a/website_conditional_visibility_user_group/static/description/icon.png b/website_conditional_visibility_user_group/static/description/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d
GIT binary patch
literal 9455
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
z
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
Xviia!U7SGha1wx#SCgwmn*{w2TRX*I
literal 0
HcmV?d00001
From c376697d205a51c3ebf2830763c98713a6a3fa92 Mon Sep 17 00:00:00 2001
From: pilarvargas-tecnativa
Date: Fri, 10 Jan 2025 14:10:48 +0100
Subject: [PATCH 4/5] [IMP] website_conditional_visibility_user_group:
pre-commit auto fixes
---
website_conditional_visibility_user_group/pyproject.toml | 3 +++
1 file changed, 3 insertions(+)
create mode 100644 website_conditional_visibility_user_group/pyproject.toml
diff --git a/website_conditional_visibility_user_group/pyproject.toml b/website_conditional_visibility_user_group/pyproject.toml
new file mode 100644
index 0000000000..4231d0cccb
--- /dev/null
+++ b/website_conditional_visibility_user_group/pyproject.toml
@@ -0,0 +1,3 @@
+[build-system]
+requires = ["whool"]
+build-backend = "whool.buildapi"
From e70867acc03e13c6b9dbf6fd90d6b23df8a828ac Mon Sep 17 00:00:00 2001
From: pilarvargas-tecnativa
Date: Mon, 13 Jan 2025 11:19:54 +0100
Subject: [PATCH 5/5] [MIG] website_conditional_visibility_user_group:
Migration to version 17.0
TT51963
---
.../README.rst | 11 +++---
.../__manifest__.py | 2 +-
.../readme/CONTRIBUTORS.md | 1 +
.../static/description/index.html | 19 +++++----
.../snippet_visibility_portal_tests.esm.js | 28 ++++++++-----
.../src/tests/snippet_visibility_tests.esm.js | 39 +++++++------------
6 files changed, 52 insertions(+), 48 deletions(-)
diff --git a/website_conditional_visibility_user_group/README.rst b/website_conditional_visibility_user_group/README.rst
index db42063980..6cc9577a98 100644
--- a/website_conditional_visibility_user_group/README.rst
+++ b/website_conditional_visibility_user_group/README.rst
@@ -17,13 +17,13 @@ Conditional visibility for internal users in Website
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fwebsite-lightgray.png?logo=github
- :target: https://github.com/OCA/website/tree/15.0/website_conditional_visibility_user_group
+ :target: https://github.com/OCA/website/tree/17.0/website_conditional_visibility_user_group
:alt: OCA/website
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/website-15-0/website-15-0-website_conditional_visibility_user_group
+ :target: https://translation.odoo-community.org/projects/website-17-0/website-17-0-website_conditional_visibility_user_group
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
- :target: https://runboat.odoo-community.org/builds?repo=OCA/website&target_branch=15.0
+ :target: https://runboat.odoo-community.org/builds?repo=OCA/website&target_branch=17.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -57,7 +57,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues `_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
-`feedback `_.
+`feedback `_.
Do not contact contributors directly about support or help with technical issues.
@@ -75,6 +75,7 @@ Contributors
- `Tecnativa `__
- David Vidal
+ - Pilar Vargas
Maintainers
-----------
@@ -89,6 +90,6 @@ 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.
-This module is part of the `OCA/website `_ project on GitHub.
+This module is part of the `OCA/website `_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/website_conditional_visibility_user_group/__manifest__.py b/website_conditional_visibility_user_group/__manifest__.py
index d7fe90cb76..0917acf526 100644
--- a/website_conditional_visibility_user_group/__manifest__.py
+++ b/website_conditional_visibility_user_group/__manifest__.py
@@ -3,7 +3,7 @@
{
"name": "Conditional visibility for internal users in Website",
"summary": "Only internal users will see the blocks you add this condition to",
- "version": "15.0.1.0.0",
+ "version": "17.0.1.0.0",
"category": "Product",
"website": "https://github.com/OCA/website",
"author": "Tecnativa, Odoo Community Association (OCA)",
diff --git a/website_conditional_visibility_user_group/readme/CONTRIBUTORS.md b/website_conditional_visibility_user_group/readme/CONTRIBUTORS.md
index 96d0c4c7ff..d0b6436b45 100644
--- a/website_conditional_visibility_user_group/readme/CONTRIBUTORS.md
+++ b/website_conditional_visibility_user_group/readme/CONTRIBUTORS.md
@@ -1,2 +1,3 @@
- [Tecnativa](https://tecnativa.com)
- David Vidal
+ - Pilar Vargas
diff --git a/website_conditional_visibility_user_group/static/description/index.html b/website_conditional_visibility_user_group/static/description/index.html
index b8faeddd20..38ddce875b 100644
--- a/website_conditional_visibility_user_group/static/description/index.html
+++ b/website_conditional_visibility_user_group/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 {
@@ -369,7 +369,7 @@ Conditional visibility for internal users in Website
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:748c0a8174d9f9a0b4aee5b58aeaced2309a29997f74d53c86a129c7b0b021a0
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-
+
This module adds extra granularity in the visibility of the website
snippets allowing to set if the users that can see a block are internal
or portal ones.
@@ -405,7 +405,7 @@
Bugs are tracked on GitHub Issues.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
-feedback.
+feedback.
Do not contact contributors directly about support or help with technical issues.
@@ -421,6 +421,7 @@
@@ -428,11 +429,13 @@
This module is maintained by the OCA.
-
+
+
+
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.
-
This module is part of the OCA/website project on GitHub.
+
This module is part of the OCA/website project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/website_conditional_visibility_user_group/static/src/tests/snippet_visibility_portal_tests.esm.js b/website_conditional_visibility_user_group/static/src/tests/snippet_visibility_portal_tests.esm.js
index 867ea65984..08b3102ef0 100644
--- a/website_conditional_visibility_user_group/static/src/tests/snippet_visibility_portal_tests.esm.js
+++ b/website_conditional_visibility_user_group/static/src/tests/snippet_visibility_portal_tests.esm.js
@@ -1,26 +1,34 @@
/** @odoo-module */
/* Copyright 2024 Tecnativa - David Vidal
* License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). */
-import tour from "web_tour.tour";
-tour.register(
+import wTourUtils from "@website/js/tours/tour_utils";
+
+wTourUtils.registerWebsitePreviewTour(
"conditional_visibility_portal",
{
test: true,
url: "/",
},
- [
+ () => [
+ {
+ content: "Go to '/'",
+ trigger: 'header#top a[href="/"]',
+ },
{
content: "The content should be hidden for portal users",
trigger: "#wrap",
run: function () {
- const style = window.getComputedStyle(
- this.$anchor[0].getElementsByClassName("s_text_image")[0]
- );
- if (style.display !== "none") {
- console.error(
- "Error: This item should be invisible for portal users"
- );
+ const elements = this.$anchor[0].getElementsByClassName("s_text_image");
+ if (elements.length === 0) {
+ console.log("Success: Element is not visible for portal users");
+ } else {
+ const style = window.getComputedStyle(elements[0]);
+ if (style.display !== "none") {
+ console.error(
+ "Error: This item should be invisible for portal users"
+ );
+ }
}
},
},
diff --git a/website_conditional_visibility_user_group/static/src/tests/snippet_visibility_tests.esm.js b/website_conditional_visibility_user_group/static/src/tests/snippet_visibility_tests.esm.js
index a192b485bd..ed29d54b4d 100644
--- a/website_conditional_visibility_user_group/static/src/tests/snippet_visibility_tests.esm.js
+++ b/website_conditional_visibility_user_group/static/src/tests/snippet_visibility_tests.esm.js
@@ -1,33 +1,26 @@
/** @odoo-module */
/* Copyright 2024 Tecnativa - David Vidal
* License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). */
-import tour from "web_tour.tour";
-import wTourUtils from "website.tour_utils";
+import wTourUtils from "@website/js/tours/tour_utils";
-const snippet = {
- id: "s_text_image",
- name: "Text - Image",
-};
-
-tour.register(
+wTourUtils.registerWebsitePreviewTour(
"conditional_visibility_only_internal_user",
{
test: true,
url: "/",
+ edition: true,
},
- [
- {
- content: "enter edit mode",
- trigger: "a[data-action=edit]",
- },
- wTourUtils.dragNDrop(snippet),
- wTourUtils.clickOnSnippet(snippet),
+ () => [
+ wTourUtils.dragNDrop({id: "s_text_image", name: "Text - Image"}),
+ wTourUtils.clickOnSnippet({
+ id: "s_text_image",
+ name: "Text - Image",
+ }),
wTourUtils.changeOption("ConditionalVisibility", "we-toggler"),
- {
- content: "Set on conditional visibility",
- trigger: '[data-name="visibility_conditional"]',
- run: "click",
- },
+ wTourUtils.changeOption(
+ "ConditionalVisibility",
+ '[data-name="visibility_conditional"]'
+ ),
{
content: "Click in User visibility",
trigger: '[data-save-attribute="visibilityValueLogged"]',
@@ -51,11 +44,9 @@ tour.register(
...wTourUtils.clickOnSave(),
{
content: "Check if the rule was applied",
- trigger: "body:not(.editor_enable) #wrap",
+ trigger: "iframe #wrap .s_text_image",
run: function () {
- const style = window.getComputedStyle(
- this.$anchor[0].getElementsByClassName("s_text_image")[0]
- );
+ const style = window.getComputedStyle(this.$anchor[0]);
if (style.display === "none") {
console.error(
"Error: this item should be visible for internal users"