From b818b76256f65baf2dd39c209fe6ff920152cc2a Mon Sep 17 00:00:00 2001 From: fkantelberg Date: Tue, 29 Nov 2022 18:44:45 +0100 Subject: [PATCH 01/44] [ADD][16.0] Module web_dark_mode --- web_dark_mode/README.rst | 79 ++++ web_dark_mode/__init__.py | 4 + web_dark_mode/__manifest__.py | 28 ++ web_dark_mode/models/__init__.py | 4 + web_dark_mode/models/ir_http.py | 22 + web_dark_mode/models/res_users.py | 12 + web_dark_mode/readme/CONTRIBUTORS.rst | 1 + web_dark_mode/readme/DESCRIPTION.rst | 2 + web_dark_mode/readme/ROADMAP.rst | 1 + web_dark_mode/static/description/index.html | 427 ++++++++++++++++++ .../static/src/js/switch_item.esm.js | 49 ++ web_dark_mode/static/src/scss/variables.scss | 65 +++ web_dark_mode/tests/__init__.py | 4 + web_dark_mode/tests/test_dark_mode.py | 35 ++ web_dark_mode/views/res_users_views.xml | 14 + 15 files changed, 747 insertions(+) create mode 100644 web_dark_mode/README.rst create mode 100644 web_dark_mode/__init__.py create mode 100644 web_dark_mode/__manifest__.py create mode 100644 web_dark_mode/models/__init__.py create mode 100644 web_dark_mode/models/ir_http.py create mode 100644 web_dark_mode/models/res_users.py create mode 100644 web_dark_mode/readme/CONTRIBUTORS.rst create mode 100644 web_dark_mode/readme/DESCRIPTION.rst create mode 100644 web_dark_mode/readme/ROADMAP.rst create mode 100644 web_dark_mode/static/description/index.html create mode 100644 web_dark_mode/static/src/js/switch_item.esm.js create mode 100644 web_dark_mode/static/src/scss/variables.scss create mode 100644 web_dark_mode/tests/__init__.py create mode 100644 web_dark_mode/tests/test_dark_mode.py create mode 100644 web_dark_mode/views/res_users_views.xml diff --git a/web_dark_mode/README.rst b/web_dark_mode/README.rst new file mode 100644 index 000000000000..f119aff9fc20 --- /dev/null +++ b/web_dark_mode/README.rst @@ -0,0 +1,79 @@ +========= +Dark Mode +========= + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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%2Fweb-lightgray.png?logo=github + :target: https://github.com/OCA/web/tree/16.0/web_dark_mode + :alt: OCA/web +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/web-16-0/web-16-0-web_dark_mode + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/webui/builds.html?repo=OCA/web&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This modules offers the dark mode for Odoo CE. The dark mode can be activated by +every user in the user menu in the top right. + +**Table of contents** + +.. contents:: + :local: + +Known issues / Roadmap +====================== + +- Implement dark mode for PoS with a glue module + +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 smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* initOS GmbH + +Contributors +~~~~~~~~~~~~ + +* Florian Kantelberg + +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/web `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/web_dark_mode/__init__.py b/web_dark_mode/__init__.py new file mode 100644 index 000000000000..1d408a8a039e --- /dev/null +++ b/web_dark_mode/__init__.py @@ -0,0 +1,4 @@ +# © 2022 Florian Kantelberg - initOS GmbH +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import models diff --git a/web_dark_mode/__manifest__.py b/web_dark_mode/__manifest__.py new file mode 100644 index 000000000000..b32c688e9b70 --- /dev/null +++ b/web_dark_mode/__manifest__.py @@ -0,0 +1,28 @@ +# © 2022 Florian Kantelberg - initOS GmbH +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Dark Mode", + "summary": "Enabled Dark Mode for the Odoo Backend", + "license": "AGPL-3", + "version": "16.0.1.0.0", + "website": "https://github.com/OCA/web", + "author": "initOS GmbH, Odoo Community Association (OCA)", + "depends": ["web"], + "excludes": ["web_enterprise"], + "installable": True, + "assets": { + "web.dark_mode_assets_common": [ + ("prepend", "web_dark_mode/static/src/scss/variables.scss"), + ], + "web.dark_mode_assets_backend": [ + ("prepend", "web_dark_mode/static/src/scss/variables.scss"), + ], + "web.assets_backend": [ + "web_dark_mode/static/src/js/switch_item.esm.js", + ], + }, + "data": [ + "views/res_users_views.xml", + ], +} diff --git a/web_dark_mode/models/__init__.py b/web_dark_mode/models/__init__.py new file mode 100644 index 000000000000..d565f59dcc8d --- /dev/null +++ b/web_dark_mode/models/__init__.py @@ -0,0 +1,4 @@ +# © 2022 Florian Kantelberg - initOS GmbH +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import ir_http, res_users diff --git a/web_dark_mode/models/ir_http.py b/web_dark_mode/models/ir_http.py new file mode 100644 index 000000000000..20755c49de24 --- /dev/null +++ b/web_dark_mode/models/ir_http.py @@ -0,0 +1,22 @@ +# © 2022 Florian Kantelberg - initOS GmbH +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models +from odoo.http import request + + +class IrHttp(models.AbstractModel): + _inherit = "ir.http" + + @classmethod + def _set_color_scheme(cls, response): + scheme = request.httprequest.cookies.get("color_scheme") + user = request.env.user + user_scheme = "dark" if user.dark_mode else "light" + if (not user.dark_mode_device_dependent) and scheme != user_scheme: + response.set_cookie("color_scheme", user_scheme) + + @classmethod + def _post_dispatch(cls, response): + cls._set_color_scheme(response) + return super()._post_dispatch(response) diff --git a/web_dark_mode/models/res_users.py b/web_dark_mode/models/res_users.py new file mode 100644 index 000000000000..c1bb2a9df8be --- /dev/null +++ b/web_dark_mode/models/res_users.py @@ -0,0 +1,12 @@ +# © 2022 Florian Kantelberg - initOS GmbH +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + + +from odoo import fields, models + + +class ResUsers(models.Model): + _inherit = "res.users" + + dark_mode = fields.Boolean() + dark_mode_device_dependent = fields.Boolean("Device Dependent Dark Mode") diff --git a/web_dark_mode/readme/CONTRIBUTORS.rst b/web_dark_mode/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000000..e2028261215c --- /dev/null +++ b/web_dark_mode/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Florian Kantelberg diff --git a/web_dark_mode/readme/DESCRIPTION.rst b/web_dark_mode/readme/DESCRIPTION.rst new file mode 100644 index 000000000000..acfc15cd7266 --- /dev/null +++ b/web_dark_mode/readme/DESCRIPTION.rst @@ -0,0 +1,2 @@ +This modules offers the dark mode for Odoo CE. The dark mode can be activated by +every user in the user menu in the top right. diff --git a/web_dark_mode/readme/ROADMAP.rst b/web_dark_mode/readme/ROADMAP.rst new file mode 100644 index 000000000000..b1437e5f398e --- /dev/null +++ b/web_dark_mode/readme/ROADMAP.rst @@ -0,0 +1 @@ +- Implement dark mode for PoS with a glue module diff --git a/web_dark_mode/static/description/index.html b/web_dark_mode/static/description/index.html new file mode 100644 index 000000000000..87e4776f7e0a --- /dev/null +++ b/web_dark_mode/static/description/index.html @@ -0,0 +1,427 @@ + + + + + + +Dark Mode + + + +
+

Dark Mode

+ + +

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

+

This modules offers the dark mode for Odoo CE. The dark mode can be activated by +every user in the user menu in the top right.

+

Table of contents

+ +
+

Known issues / Roadmap

+
    +
  • Implement dark mode for PoS with a glue module
  • +
+
+
+

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 smashing it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • initOS GmbH
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+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.

+

This module is part of the OCA/web project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/web_dark_mode/static/src/js/switch_item.esm.js b/web_dark_mode/static/src/js/switch_item.esm.js new file mode 100644 index 000000000000..1eb67e77e45d --- /dev/null +++ b/web_dark_mode/static/src/js/switch_item.esm.js @@ -0,0 +1,49 @@ +/** @odoo-module **/ + +import {browser} from "@web/core/browser/browser"; +import {registry} from "@web/core/registry"; + +export function darkModeSwitchItem(env) { + return { + type: "switch", + id: "color_scheme.switch", + description: env._t("Dark Mode"), + callback: () => { + env.services.color_scheme.switchColorScheme(); + }, + isChecked: env.services.cookie.current.color_scheme === "dark", + sequence: 40, + }; +} + +export const colorSchemeService = { + dependencies: ["cookie", "orm", "ui", "user"], + + async start(env, {cookie, orm, ui, user}) { + registry.category("user_menuitems").add("darkmode", darkModeSwitchItem); + + if (!cookie.current.color_scheme) { + const match_media = window.matchMedia("(prefers-color-scheme: dark)"); + const dark_mode = match_media.matches; + cookie.setCookie("color_scheme", dark_mode ? "dark" : "light"); + if (dark_mode) browser.location.reload(); + } + + return { + async switchColorScheme() { + const scheme = + cookie.current.color_scheme === "dark" ? "light" : "dark"; + cookie.setCookie("color_scheme", scheme); + + await orm.write("res.users", [user.userId], { + dark_mode: scheme === "dark", + }); + + ui.block(); + browser.location.reload(); + }, + }; + }, +}; + +registry.category("services").add("color_scheme", colorSchemeService); diff --git a/web_dark_mode/static/src/scss/variables.scss b/web_dark_mode/static/src/scss/variables.scss new file mode 100644 index 000000000000..a32c59d44373 --- /dev/null +++ b/web_dark_mode/static/src/scss/variables.scss @@ -0,0 +1,65 @@ +$o-webclient-color-scheme: dark; + +$o-white: #000000; +$o-black: #ffffff; + +$o-gray-100: #191c24; +$o-gray-200: #242733; +$o-gray-300: #3f4149; +$o-gray-400: #5f6167; +$o-gray-500: #797a80; +$o-gray-600: #94959a; +$o-gray-700: #b0b0b4; +$o-gray-800: #cccccf; +$o-gray-900: #e9e9eb; + +$o-community-color: $o-gray-400; +$o-enterprise-color: $o-gray-400; +$o-enterprise-primary-color: $o-gray-500; +$o-brand-primary: $o-gray-600; +$o-brand-secondary: $o-gray-700; + +$o-success: #28a745; +$o-info: #74dcf3; +$o-warning: #ff7b00; +$o-danger: #ff0020; + +$primary: $o-gray-800; + +$o-main-bg-color: #f0eeee; +$o-main-favorite-color: #f3cc00; +$o-main-code-color: #d2317b; + +$o-view-background-color: $o-white; +$o-view-background-color: $o-gray-100; +$o-shadow-color: #c0c0c0; + +$o-form-lightsecondary: #ccc; + +$o-list-footer-bg-color: #eee; + +$o-tooltip-arrow-color: white; + +// Layout +$o-dropdown-box-shadow: 0 1rem 1.1rem rgba(#fff, 0.1); + +// == List group + +$o-list-group-active-bg: lighten(saturate(adjust-hue($o-info, 15), 1.8), 5); +$o-list-footer-bg-color: $o-gray-200; + +// == Badges + +// Define a minimum width. This value is arbitrary and strictly font-related. +$o-datepicker-week-color: #8f8f8f; + +$component-active-bg: red; + +$o-webclient-background-color: $o-gray-300; + +.o-settings-form-view .o_base_settings { + --settings__tab-bg: #{$o-gray-100}; + --settings__tab-bg--active: #{$o-gray-300}; + --settings__tab-color: #{$o-gray-700}; + --settings__title-bg: #{$o-gray-100}; +} diff --git a/web_dark_mode/tests/__init__.py b/web_dark_mode/tests/__init__.py new file mode 100644 index 000000000000..634cfc9d3dc0 --- /dev/null +++ b/web_dark_mode/tests/__init__.py @@ -0,0 +1,4 @@ +# © 2022 Florian Kantelberg - initOS GmbH +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import test_dark_mode diff --git a/web_dark_mode/tests/test_dark_mode.py b/web_dark_mode/tests/test_dark_mode.py new file mode 100644 index 000000000000..466ee7e3ac19 --- /dev/null +++ b/web_dark_mode/tests/test_dark_mode.py @@ -0,0 +1,35 @@ +# © 2022 Florian Kantelberg - initOS GmbH +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from unittest.mock import MagicMock + +import odoo.http +from odoo.tests import common + + +class TestDarkMode(common.TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.request = MagicMock(env=cls.env) + odoo.http._request_stack.push(cls.request) + + def test_dark_mode_cookie(self): + response = MagicMock() + + # Cookie is set because the color_scheme changed + self.request.httprequest.cookies = {"color_scheme": "dark"} + self.env["ir.http"]._post_dispatch(response) + response.set_cookie.assert_called_with("color_scheme", "light") + + # Cookie isn't set because the color_scheme is the same + response.reset_mock() + self.request.httprequest.cookies = {"color_scheme": "light"} + self.env["ir.http"]._post_dispatch(response) + response.set_cookie.assert_not_called() + + # Cookie isn't set because it's device dependent + self.env.user.dark_mode_device_dependent = True + self.request.httprequest.cookies = {"color_scheme": "dark"} + self.env["ir.http"]._post_dispatch(response) + response.set_cookie.assert_not_called() diff --git a/web_dark_mode/views/res_users_views.xml b/web_dark_mode/views/res_users_views.xml new file mode 100644 index 000000000000..47f02427f757 --- /dev/null +++ b/web_dark_mode/views/res_users_views.xml @@ -0,0 +1,14 @@ + + + + res.users + + + + + + + + + + From 08b9964bffce5567423c2164d902f8eac0c8aab1 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Wed, 7 Dec 2022 08:41:45 +0000 Subject: [PATCH 02/44] [UPD] Update web_dark_mode.pot --- web_dark_mode/i18n/web_dark_mode.pot | 37 ++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 web_dark_mode/i18n/web_dark_mode.pot diff --git a/web_dark_mode/i18n/web_dark_mode.pot b/web_dark_mode/i18n/web_dark_mode.pot new file mode 100644 index 000000000000..f3daced67eea --- /dev/null +++ b/web_dark_mode/i18n/web_dark_mode.pot @@ -0,0 +1,37 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_dark_mode +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \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: web_dark_mode +#. odoo-javascript +#: code:addons/web_dark_mode/static/src/js/switch_item.esm.js:0 +#: model:ir.model.fields,field_description:web_dark_mode.field_res_users__dark_mode +#, python-format +msgid "Dark Mode" +msgstr "" + +#. module: web_dark_mode +#: model:ir.model.fields,field_description:web_dark_mode.field_res_users__dark_mode_device_dependent +msgid "Device Dependent Dark Mode" +msgstr "" + +#. module: web_dark_mode +#: model:ir.model,name:web_dark_mode.model_ir_http +msgid "HTTP Routing" +msgstr "" + +#. module: web_dark_mode +#: model:ir.model,name:web_dark_mode.model_res_users +msgid "User" +msgstr "" From 78a679ff3ebc65884eb015831ce042339955ca5d Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 7 Dec 2022 08:43:48 +0000 Subject: [PATCH 03/44] [UPD] README.rst --- web_dark_mode/README.rst | 6 +++--- web_dark_mode/static/description/index.html | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/web_dark_mode/README.rst b/web_dark_mode/README.rst index f119aff9fc20..d29503d0000b 100644 --- a/web_dark_mode/README.rst +++ b/web_dark_mode/README.rst @@ -19,9 +19,9 @@ Dark Mode .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png :target: https://translation.odoo-community.org/projects/web-16-0/web-16-0-web_dark_mode :alt: Translate me on Weblate -.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/webui/builds.html?repo=OCA/web&target_branch=16.0 - :alt: Try me on Runboat +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/162/16.0 + :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| diff --git a/web_dark_mode/static/description/index.html b/web_dark_mode/static/description/index.html index 87e4776f7e0a..273e0bae3607 100644 --- a/web_dark_mode/static/description/index.html +++ b/web_dark_mode/static/description/index.html @@ -3,7 +3,7 @@ - + Dark Mode + + +
+

Web Sort Menu

+ + +

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

+

By default, apps displayed in dropdown menu are sorted alphabetically. +If web_responsive module is installed, apps displayed on NavBar menu is sorted in alphabetical order. +Menus are sorted based on languages used by users.

+

Table of contents

+ +
+

Usage

+

To use this module, you need to install it. After installation, Apps displayed on dropdown/NavBar menu will be sorted alphabetically.

+
+
+

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

+
    +
  • Anusri Veerappan Prakasam
  • +
+
+
+

Contributors

+
    +
  • Anusri Veerappan Prakasam, Odoo Community Association (OCA)
  • +
+
+
+

Maintainers

+

This module is maintained by the OCA.

+ +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.

+

This module is part of the OCA/web project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/web_sort_menu/static/src/js/sort_app_menu.esm.js b/web_sort_menu/static/src/js/sort_app_menu.esm.js new file mode 100644 index 000000000000..60ec85cb87ae --- /dev/null +++ b/web_sort_menu/static/src/js/sort_app_menu.esm.js @@ -0,0 +1,10 @@ +/** @odoo-module **/ + +import {NavBar} from "@web/webclient/navbar/navbar"; +import {patch} from "@web/core/utils/patch"; + +patch(NavBar.prototype, "web_sort_menu.sortmenu", { + sortApps: (apps) => { + return apps.sort((a, b) => a.name.localeCompare(b.name)); + }, +}); diff --git a/web_sort_menu/static/src/xml/sort_app_menu.xml b/web_sort_menu/static/src/xml/sort_app_menu.xml new file mode 100644 index 000000000000..db79bac46ef0 --- /dev/null +++ b/web_sort_menu/static/src/xml/sort_app_menu.xml @@ -0,0 +1,13 @@ + + + + + + + + From a81680e005d73e1208286fc0bc90d3674517585c Mon Sep 17 00:00:00 2001 From: anusrinps96 Date: Tue, 28 Oct 2025 10:08:18 +0100 Subject: [PATCH 40/44] [MIG] web_sort_menu: Migration to 18.0 --- web_sort_menu/README.rst | 26 ++++++++++-------- web_sort_menu/__manifest__.py | 2 +- web_sort_menu/pyproject.toml | 3 ++ web_sort_menu/readme/CONTRIBUTORS.md | 1 + web_sort_menu/readme/CONTRIBUTORS.rst | 1 - .../{DESCRIPTION.rst => DESCRIPTION.md} | 5 ++-- web_sort_menu/readme/USAGE.md | 2 ++ web_sort_menu/readme/USAGE.rst | 1 - web_sort_menu/static/description/icon.png | Bin 9455 -> 0 bytes web_sort_menu/static/description/index.html | 14 ++++++---- .../static/src/js/sort_app_menu.esm.js | 4 +-- .../static/src/xml/sort_app_menu.xml | 15 ++++------ 12 files changed, 38 insertions(+), 36 deletions(-) create mode 100644 web_sort_menu/pyproject.toml create mode 100644 web_sort_menu/readme/CONTRIBUTORS.md delete mode 100644 web_sort_menu/readme/CONTRIBUTORS.rst rename web_sort_menu/readme/{DESCRIPTION.rst => DESCRIPTION.md} (60%) create mode 100644 web_sort_menu/readme/USAGE.md delete mode 100644 web_sort_menu/readme/USAGE.rst delete mode 100644 web_sort_menu/static/description/icon.png diff --git a/web_sort_menu/README.rst b/web_sort_menu/README.rst index d49f382c9ca5..0eb3df871e03 100644 --- a/web_sort_menu/README.rst +++ b/web_sort_menu/README.rst @@ -17,20 +17,21 @@ Web Sort Menu :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github - :target: https://github.com/OCA/web/tree/16.0/web_sort_menu + :target: https://github.com/OCA/web/tree/18.0/web_sort_menu :alt: OCA/web .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/web-16-0/web-16-0-web_sort_menu + :target: https://translation.odoo-community.org/projects/web-18-0/web-18-0-web_sort_menu :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/web&target_branch=16.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| By default, apps displayed in dropdown menu are sorted alphabetically. -If web_responsive module is installed, apps displayed on NavBar menu is sorted in alphabetical order. -Menus are sorted based on languages used by users. +If web_responsive module is installed, apps displayed on NavBar menu is +sorted in alphabetical order. Menus are sorted based on languages used +by users. **Table of contents** @@ -40,7 +41,8 @@ Menus are sorted based on languages used by users. Usage ===== -To use this module, you need to install it. After installation, Apps displayed on dropdown/NavBar menu will be sorted alphabetically. +To use this module, you need to install it. After installation, Apps +displayed on dropdown/NavBar menu will be sorted alphabetically. Bug Tracker =========== @@ -48,7 +50,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. @@ -56,17 +58,17 @@ Credits ======= Authors -~~~~~~~ +------- * Anusri Veerappan Prakasam Contributors -~~~~~~~~~~~~ +------------ -* Anusri Veerappan Prakasam, Odoo Community Association (OCA) +- Anusri Veerappan Prakasam, Odoo Community Association (OCA) Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -78,6 +80,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/web `_ project on GitHub. +This module is part of the `OCA/web `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/web_sort_menu/__manifest__.py b/web_sort_menu/__manifest__.py index 24f6e5e3151f..0291d26ec724 100644 --- a/web_sort_menu/__manifest__.py +++ b/web_sort_menu/__manifest__.py @@ -1,7 +1,7 @@ { "name": "Web Sort Menu", "summary": "Sort Apps in DropDown/NavBar Menu alphabetically", - "version": "16.0.1.0.0", + "version": "18.0.1.0.0", "category": "Web", "author": "Anusri Veerappan Prakasam, Odoo Community Association (OCA)", "website": "https://github.com/OCA/web", diff --git a/web_sort_menu/pyproject.toml b/web_sort_menu/pyproject.toml new file mode 100644 index 000000000000..4231d0cccb3d --- /dev/null +++ b/web_sort_menu/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/web_sort_menu/readme/CONTRIBUTORS.md b/web_sort_menu/readme/CONTRIBUTORS.md new file mode 100644 index 000000000000..9c9119a49fbe --- /dev/null +++ b/web_sort_menu/readme/CONTRIBUTORS.md @@ -0,0 +1 @@ +- Anusri Veerappan Prakasam, Odoo Community Association (OCA) diff --git a/web_sort_menu/readme/CONTRIBUTORS.rst b/web_sort_menu/readme/CONTRIBUTORS.rst deleted file mode 100644 index a7a016d43a93..000000000000 --- a/web_sort_menu/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1 +0,0 @@ -* Anusri Veerappan Prakasam, Odoo Community Association (OCA) diff --git a/web_sort_menu/readme/DESCRIPTION.rst b/web_sort_menu/readme/DESCRIPTION.md similarity index 60% rename from web_sort_menu/readme/DESCRIPTION.rst rename to web_sort_menu/readme/DESCRIPTION.md index 01033502b0c4..3463228e471d 100644 --- a/web_sort_menu/readme/DESCRIPTION.rst +++ b/web_sort_menu/readme/DESCRIPTION.md @@ -1,3 +1,4 @@ By default, apps displayed in dropdown menu are sorted alphabetically. -If web_responsive module is installed, apps displayed on NavBar menu is sorted in alphabetical order. -Menus are sorted based on languages used by users. +If web_responsive module is installed, apps displayed on NavBar menu is +sorted in alphabetical order. Menus are sorted based on languages used +by users. diff --git a/web_sort_menu/readme/USAGE.md b/web_sort_menu/readme/USAGE.md new file mode 100644 index 000000000000..b2f260192a3a --- /dev/null +++ b/web_sort_menu/readme/USAGE.md @@ -0,0 +1,2 @@ +To use this module, you need to install it. After installation, Apps +displayed on dropdown/NavBar menu will be sorted alphabetically. diff --git a/web_sort_menu/readme/USAGE.rst b/web_sort_menu/readme/USAGE.rst deleted file mode 100644 index be9bb61389a7..000000000000 --- a/web_sort_menu/readme/USAGE.rst +++ /dev/null @@ -1 +0,0 @@ -To use this module, you need to install it. After installation, Apps displayed on dropdown/NavBar menu will be sorted alphabetically. diff --git a/web_sort_menu/static/description/icon.png b/web_sort_menu/static/description/icon.png deleted file mode 100644 index 3a0328b516c4980e8e44cdb63fd945757ddd132d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9455 zcmW++2RxMjAAjx~&dlBk9S+%}OXg)AGE&Cb*&}d0jUxM@u(PQx^-s)697TX`ehR4?GS^qbkof1cslKgkU)h65qZ9Oc=ml_0temigYLJfnz{IDzUf>bGs4N!v3=Z3jMq&A#7%rM5eQ#dc?k~! zVpnB`o+K7|Al`Q_U;eD$B zfJtP*jH`siUq~{KE)`jP2|#TUEFGRryE2`i0**z#*^6~AI|YzIWy$Cu#CSLW3q=GA z6`?GZymC;dCPk~rBS%eCb`5OLr;RUZ;D`}um=H)BfVIq%7VhiMr)_#G0N#zrNH|__ zc+blN2UAB0=617@>_u;MPHN;P;N#YoE=)R#i$k_`UAA>WWCcEVMh~L_ zj--gtp&|K1#58Yz*AHCTMziU1Jzt_jG0I@qAOHsk$2}yTmVkBp_eHuY$A9)>P6o~I z%aQ?!(GqeQ-Y+b0I(m9pwgi(IIZZzsbMv+9w{PFtd_<_(LA~0H(xz{=FhLB@(1&qHA5EJw1>>=%q2f&^X>IQ{!GJ4e9U z&KlB)z(84HmNgm2hg2C0>WM{E(DdPr+EeU_N@57;PC2&DmGFW_9kP&%?X4}+xWi)( z;)z%wI5>D4a*5XwD)P--sPkoY(a~WBw;E~AW`Yue4kFa^LM3X`8x|}ZUeMnqr}>kH zG%WWW>3ml$Yez?i%)2pbKPI7?5o?hydokgQyZsNEr{a|mLdt;X2TX(#B1j35xPnPW z*bMSSOauW>o;*=kO8ojw91VX!qoOQb)zHJ!odWB}d+*K?#sY_jqPdg{Sm2HdYzdEx zOGVPhVRTGPtv0o}RfVP;Nd(|CB)I;*t&QO8h zFfekr30S!-LHmV_Su-W+rEwYXJ^;6&3|L$mMC8*bQptyOo9;>Qb9Q9`ySe3%V$A*9 zeKEe+b0{#KWGp$F+tga)0RtI)nhMa-K@JS}2krK~n8vJ=Ngm?R!9G<~RyuU0d?nz# z-5EK$o(!F?hmX*2Yt6+coY`6jGbb7tF#6nHA zuKk=GGJ;ZwON1iAfG$E#Y7MnZVmrY|j0eVI(DN_MNFJmyZ|;w4tf@=CCDZ#5N_0K= z$;R~bbk?}TpfDjfB&aiQ$VA}s?P}xPERJG{kxk5~R`iRS(SK5d+Xs9swCozZISbnS zk!)I0>t=A<-^z(cmSFz3=jZ23u13X><0b)P)^1T_))Kr`e!-pb#q&J*Q`p+B6la%C zuVl&0duN<;uOsB3%T9Fp8t{ED108<+W(nOZd?gDnfNBC3>M8WE61$So|P zVvqH0SNtDTcsUdzaMDpT=Ty0pDHHNL@Z0w$Y`XO z2M-_r1S+GaH%pz#Uy0*w$Vdl=X=rQXEzO}d6J^R6zjM1u&c9vYLvLp?W7w(?np9x1 zE_0JSAJCPB%i7p*Wvg)pn5T`8k3-uR?*NT|J`eS#_#54p>!p(mLDvmc-3o0mX*mp_ zN*AeS<>#^-{S%W<*mz^!X$w_2dHWpcJ6^j64qFBft-o}o_Vx80o0>}Du;>kLts;$8 zC`7q$QI(dKYG`Wa8#wl@V4jVWBRGQ@1dr-hstpQL)Tl+aqVpGpbSfN>5i&QMXfiZ> zaA?T1VGe?rpQ@;+pkrVdd{klI&jVS@I5_iz!=UMpTsa~mBga?1r}aRBm1WS;TT*s0f0lY=JBl66Upy)-k4J}lh=P^8(SXk~0xW=T9v*B|gzIhN z>qsO7dFd~mgxAy4V?&)=5ieYq?zi?ZEoj)&2o)RLy=@hbCRcfT5jigwtQGE{L*8<@Yd{zg;CsL5mvzfDY}P-wos_6PfprFVaeqNE%h zKZhLtcQld;ZD+>=nqN~>GvROfueSzJD&BE*}XfU|H&(FssBqY=hPCt`d zH?@s2>I(|;fcW&YM6#V#!kUIP8$Nkdh0A(bEVj``-AAyYgwY~jB zT|I7Bf@%;7aL7Wf4dZ%VqF$eiaC38OV6oy3Z#TER2G+fOCd9Iaoy6aLYbPTN{XRPz z;U!V|vBf%H!}52L2gH_+j;`bTcQRXB+y9onc^wLm5wi3-Be}U>k_u>2Eg$=k!(l@I zcCg+flakT2Nej3i0yn+g+}%NYb?ta;R?(g5SnwsQ49U8Wng8d|{B+lyRcEDvR3+`O{zfmrmvFrL6acVP%yG98X zo&+VBg@px@i)%o?dG(`T;n*$S5*rnyiR#=wW}}GsAcfyQpE|>a{=$Hjg=-*_K;UtD z#z-)AXwSRY?OPefw^iI+ z)AXz#PfEjlwTes|_{sB?4(O@fg0AJ^g8gP}ex9Ucf*@_^J(s_5jJV}c)s$`Myn|Kd z$6>}#q^n{4vN@+Os$m7KV+`}c%4)4pv@06af4-x5#wj!KKb%caK{A&Y#Rfs z-po?Dcb1({W=6FKIUirH&(yg=*6aLCekcKwyfK^JN5{wcA3nhO(o}SK#!CINhI`-I z1)6&n7O&ZmyFMuNwvEic#IiOAwNkR=u5it{B9n2sAJV5pNhar=j5`*N!Na;c7g!l$ z3aYBqUkqqTJ=Re-;)s!EOeij=7SQZ3Hq}ZRds%IM*PtM$wV z@;rlc*NRK7i3y5BETSKuumEN`Xu_8GP1Ri=OKQ$@I^ko8>H6)4rjiG5{VBM>B|%`&&s^)jS|-_95&yc=GqjNo{zFkw%%HHhS~e=s zD#sfS+-?*t|J!+ozP6KvtOl!R)@@-z24}`9{QaVLD^9VCSR2b`b!KC#o;Ki<+wXB6 zx3&O0LOWcg4&rv4QG0)4yb}7BFSEg~=IR5#ZRj8kg}dS7_V&^%#Do==#`u zpy6{ox?jWuR(;pg+f@mT>#HGWHAJRRDDDv~@(IDw&R>9643kK#HN`!1vBJHnC+RM&yIh8{gG2q zA%e*U3|N0XSRa~oX-3EAneep)@{h2vvd3Xvy$7og(sayr@95+e6~Xvi1tUqnIxoIH zVWo*OwYElb#uyW{Imam6f2rGbjR!Y3`#gPqkv57dB6K^wRGxc9B(t|aYDGS=m$&S!NmCtrMMaUg(c zc2qC=2Z`EEFMW-me5B)24AqF*bV5Dr-M5ig(l-WPS%CgaPzs6p_gnCIvTJ=Y<6!gT zVt@AfYCzjjsMEGi=rDQHo0yc;HqoRNnNFeWZgcm?f;cp(6CNylj36DoL(?TS7eU#+ z7&mfr#y))+CJOXQKUMZ7QIdS9@#-}7y2K1{8)cCt0~-X0O!O?Qx#E4Og+;A2SjalQ zs7r?qn0H044=sDN$SRG$arw~n=+T_DNdSrarmu)V6@|?1-ZB#hRn`uilTGPJ@fqEy zGt(f0B+^JDP&f=r{#Y_wi#AVDf-y!RIXU^0jXsFpf>=Ji*TeqSY!H~AMbJdCGLhC) zn7Rx+sXw6uYj;WRYrLd^5IZq@6JI1C^YkgnedZEYy<&4(z%Q$5yv#Boo{AH8n$a zhb4Y3PWdr269&?V%uI$xMcUrMzl=;w<_nm*qr=c3Rl@i5wWB;e-`t7D&c-mcQl7x! zZWB`UGcw=Y2=}~wzrfLx=uet<;m3~=8I~ZRuzvMQUQdr+yTV|ATf1Uuomr__nDf=X zZ3WYJtHp_ri(}SQAPjv+Y+0=fH4krOP@S&=zZ-t1jW1o@}z;xk8 z(Nz1co&El^HK^NrhVHa-_;&88vTU>_J33=%{if;BEY*J#1n59=07jrGQ#IP>@u#3A z;!q+E1Rj3ZJ+!4bq9F8PXJ@yMgZL;>&gYA0%_Kbi8?S=XGM~dnQZQ!yBSgcZhY96H zrWnU;k)qy`rX&&xlDyA%(a1Hhi5CWkmg(`Gb%m(HKi-7Z!LKGRP_B8@`7&hdDy5n= z`OIxqxiVfX@OX1p(mQu>0Ai*v_cTMiw4qRt3~NBvr9oBy0)r>w3p~V0SCm=An6@3n)>@z!|o-$HvDK z|3D2ZMJkLE5loMKl6R^ez@Zz%S$&mbeoqH5`Bb){Ei21q&VP)hWS2tjShfFtGE+$z zzCR$P#uktu+#!w)cX!lWN1XU%K-r=s{|j?)Akf@q#3b#{6cZCuJ~gCxuMXRmI$nGtnH+-h z+GEi!*X=AP<|fG`1>MBdTb?28JYc=fGvAi2I<$B(rs$;eoJCyR6_bc~p!XR@O-+sD z=eH`-ye})I5ic1eL~TDmtfJ|8`0VJ*Yr=hNCd)G1p2MMz4C3^Mj?7;!w|Ly%JqmuW zlIEW^Ft%z?*|fpXda>Jr^1noFZEwFgVV%|*XhH@acv8rdGxeEX{M$(vG{Zw+x(ei@ zmfXb22}8-?Fi`vo-YVrTH*C?a8%M=Hv9MqVH7H^J$KsD?>!SFZ;ZsvnHr_gn=7acz z#W?0eCdVhVMWN12VV^$>WlQ?f;P^{(&pYTops|btm6aj>_Uz+hqpGwB)vWp0Cf5y< zft8-je~nn?W11plq}N)4A{l8I7$!ks_x$PXW-2XaRFswX_BnF{R#6YIwMhAgd5F9X zGmwdadS6(a^fjHtXg8=l?Rc0Sm%hk6E9!5cLVloEy4eh(=FwgP`)~I^5~pBEWo+F6 zSf2ncyMurJN91#cJTy_u8Y}@%!bq1RkGC~-bV@SXRd4F{R-*V`bS+6;W5vZ(&+I<9$;-V|eNfLa5n-6% z2(}&uGRF;p92eS*sE*oR$@pexaqr*meB)VhmIg@h{uzkk$9~qh#cHhw#>O%)b@+(| z^IQgqzuj~Sk(J;swEM-3TrJAPCq9k^^^`q{IItKBRXYe}e0Tdr=Huf7da3$l4PdpwWDop%^}n;dD#K4s#DYA8SHZ z&1!riV4W4R7R#C))JH1~axJ)RYnM$$lIR%6fIVA@zV{XVyx}C+a-Dt8Y9M)^KU0+H zR4IUb2CJ{Hg>CuaXtD50jB(_Tcx=Z$^WYu2u5kubqmwp%drJ6 z?Fo40g!Qd<-l=TQxqHEOuPX0;^z7iX?Ke^a%XT<13TA^5`4Xcw6D@Ur&VT&CUe0d} z1GjOVF1^L@>O)l@?bD~$wzgf(nxX1OGD8fEV?TdJcZc2KoUe|oP1#=$$7ee|xbY)A zDZq+cuTpc(fFdj^=!;{k03C69lMQ(|>uhRfRu%+!k&YOi-3|1QKB z z?n?eq1XP>p-IM$Z^C;2L3itnbJZAip*Zo0aw2bs8@(s^~*8T9go!%dHcAz2lM;`yp zD=7&xjFV$S&5uDaiScyD?B-i1ze`+CoRtz`Wn+Zl&#s4&}MO{@N!ufrzjG$B79)Y2d3tBk&)TxUTw@QS0TEL_?njX|@vq?Uz(nBFK5Pq7*xj#u*R&i|?7+6# z+|r_n#SW&LXhtheZdah{ZVoqwyT{D>MC3nkFF#N)xLi{p7J1jXlmVeb;cP5?e(=f# zuT7fvjSbjS781v?7{)-X3*?>tq?)Yd)~|1{BDS(pqC zC}~H#WXlkUW*H5CDOo<)#x7%RY)A;ShGhI5s*#cRDA8YgqG(HeKDx+#(ZQ?386dv! zlXCO)w91~Vw4AmOcATuV653fa9R$fyK8ul%rG z-wfS zihugoZyr38Im?Zuh6@RcF~t1anQu7>#lPpb#}4cOA!EM11`%f*07RqOVkmX{p~KJ9 z^zP;K#|)$`^Rb{rnHGH{~>1(fawV0*Z#)}M`m8-?ZJV<+e}s9wE# z)l&az?w^5{)`S(%MRzxdNqrs1n*-=jS^_jqE*5XDrA0+VE`5^*p3CuM<&dZEeCjoz zR;uu_H9ZPZV|fQq`Cyw4nscrVwi!fE6ciMmX$!_hN7uF;jjKG)d2@aC4ropY)8etW=xJvni)8eHi`H$%#zn^WJ5NLc-rqk|u&&4Z6fD_m&JfSI1Bvb?b<*n&sfl0^t z=HnmRl`XrFvMKB%9}>PaA`m-fK6a0(8=qPkWS5bb4=v?XcWi&hRY?O5HdulRi4?fN zlsJ*N-0Qw+Yic@s0(2uy%F@ib;GjXt01Fmx5XbRo6+n|pP(&nodMoap^z{~q ziEeaUT@Mxe3vJSfI6?uLND(CNr=#^W<1b}jzW58bIfyWTDle$mmS(|x-0|2UlX+9k zQ^EX7Nw}?EzVoBfT(-LT|=9N@^hcn-_p&sqG z&*oVs2JSU+N4ZD`FhCAWaS;>|wH2G*Id|?pa#@>tyxX`+4HyIArWDvVrX)2WAOQff z0qyHu&-S@i^MS-+j--!pr4fPBj~_8({~e1bfcl0wI1kaoN>mJL6KUPQm5N7lB(ui1 zE-o%kq)&djzWJ}ob<-GfDlkB;F31j-VHKvQUGQ3sp`CwyGJk_i!y^sD0fqC@$9|jO zOqN!r!8-p==F@ZVP=U$qSpY(gQ0)59P1&t@y?5rvg<}E+GB}26NYPp4f2YFQrQtot5mn3wu_qprZ=>Ig-$ zbW26Ws~IgY>}^5w`vTB(G`PTZaDiGBo5o(tp)qli|NeV( z@H_=R8V39rt5J5YB2Ky?4eJJ#b`_iBe2ot~6%7mLt5t8Vwi^Jy7|jWXqa3amOIoRb zOr}WVFP--DsS`1WpN%~)t3R!arKF^Q$e12KEqU36AWwnCBICpH4XCsfnyrHr>$I$4 z!DpKX$OKLWarN7nv@!uIA+~RNO)l$$w}p(;b>mx8pwYvu;dD_unryX_NhT8*Tj>BTrTTL&!?O+%Rv;b?B??gSzdp?6Uug9{ zd@V08Z$BdI?fpoCS$)t4mg4rT8Q_I}h`0d-vYZ^|dOB*Q^S|xqTV*vIg?@fVFSmMpaw0qtTRbx} z({Pg?#{2`sc9)M5N$*N|4;^t$+QP?#mov zGVC@I*lBVrOU-%2y!7%)fAKjpEFsgQc4{amtiHb95KQEwvf<(3T<9-Zm$xIew#P22 zc2Ix|App^>v6(3L_MCU0d3W##AB0M~3D00EWoKZqsJYT(#@w$Y_H7G22M~ApVFTRHMI_3be)Lkn#0F*V8Pq zc}`Cjy$bE;FJ6H7p=0y#R>`}-m4(0F>%@P|?7fx{=R^uFdISRnZ2W_xQhD{YuR3t< z{6yxu=4~JkeA;|(J6_nv#>Nvs&FuLA&PW^he@t(UwFFE8)|a!R{`E`K`i^ZnyE4$k z;(749Ix|oi$c3QbEJ3b~D_kQsPz~fIUKym($a_7dJ?o+40*OLl^{=&oq$<#Q(yyrp z{J-FAniyAw9tPbe&IhQ|a`DqFTVQGQ&Gq3!C2==4x{6EJwiPZ8zub-iXoUtkJiG{} zPaR&}_fn8_z~(=;5lD-aPWD3z8PZS@AaUiomF!G8I}Mf>e~0g#BelA-5#`cj;O5>N Xviia!U7SGha1wx#SCgwmn*{w2TRX*I diff --git a/web_sort_menu/static/description/index.html b/web_sort_menu/static/description/index.html index b1b9d60c72a8..8c81d3a7aa31 100644 --- a/web_sort_menu/static/description/index.html +++ b/web_sort_menu/static/description/index.html @@ -369,10 +369,11 @@

Web Sort Menu

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:5e79dd93ca6197202c76aef91babbcc3175a386bc2037885d95f65e662813fd9 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

By default, apps displayed in dropdown menu are sorted alphabetically. -If web_responsive module is installed, apps displayed on NavBar menu is sorted in alphabetical order. -Menus are sorted based on languages used by users.

+If web_responsive module is installed, apps displayed on NavBar menu is +sorted in alphabetical order. Menus are sorted based on languages used +by users.

Table of contents

    @@ -388,14 +389,15 @@

    Web Sort Menu

Usage

-

To use this module, you need to install it. After installation, Apps displayed on dropdown/NavBar menu will be sorted alphabetically.

+

To use this module, you need to install it. After installation, Apps +displayed on dropdown/NavBar menu will be sorted alphabetically.

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.

@@ -421,7 +423,7 @@

Maintainers

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/web project on GitHub.

+

This module is part of the OCA/web project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

diff --git a/web_sort_menu/static/src/js/sort_app_menu.esm.js b/web_sort_menu/static/src/js/sort_app_menu.esm.js index 60ec85cb87ae..a8c88ca924c5 100644 --- a/web_sort_menu/static/src/js/sort_app_menu.esm.js +++ b/web_sort_menu/static/src/js/sort_app_menu.esm.js @@ -1,9 +1,7 @@ -/** @odoo-module **/ - import {NavBar} from "@web/webclient/navbar/navbar"; import {patch} from "@web/core/utils/patch"; -patch(NavBar.prototype, "web_sort_menu.sortmenu", { +patch(NavBar.prototype, { sortApps: (apps) => { return apps.sort((a, b) => a.name.localeCompare(b.name)); }, diff --git a/web_sort_menu/static/src/xml/sort_app_menu.xml b/web_sort_menu/static/src/xml/sort_app_menu.xml index db79bac46ef0..62b618edae3f 100644 --- a/web_sort_menu/static/src/xml/sort_app_menu.xml +++ b/web_sort_menu/static/src/xml/sort_app_menu.xml @@ -1,13 +1,8 @@ - - - - - + + + + + From a166fa98ef9ae64544a530f08d9b005232d13d9c Mon Sep 17 00:00:00 2001 From: oca-ci Date: Tue, 30 Dec 2025 10:47:50 +0000 Subject: [PATCH 41/44] [UPD] Update web_sort_menu.pot --- web_sort_menu/i18n/web_sort_menu.pot | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 web_sort_menu/i18n/web_sort_menu.pot diff --git a/web_sort_menu/i18n/web_sort_menu.pot b/web_sort_menu/i18n/web_sort_menu.pot new file mode 100644 index 000000000000..aadee09bfeda --- /dev/null +++ b/web_sort_menu/i18n/web_sort_menu.pot @@ -0,0 +1,13 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \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" From 240c85a12122efb623956863375b244717e8ab44 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 30 Dec 2025 10:52:30 +0000 Subject: [PATCH 42/44] [BOT] post-merge updates --- README.md | 1 + setup/_metapackage/pyproject.toml | 3 ++- web_sort_menu/README.rst | 8 ++++-- web_sort_menu/static/description/icon.png | Bin 0 -> 10254 bytes web_sort_menu/static/description/index.html | 28 ++++++++++++-------- 5 files changed, 26 insertions(+), 14 deletions(-) create mode 100644 web_sort_menu/static/description/icon.png diff --git a/README.md b/README.md index 78afdce19e64..536be4879d31 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,7 @@ addon | version | maintainers | summary [web_search_with_and](web_search_with_and/) | 18.0.1.0.1 | | Use AND conditions on omnibar search [web_send_message_popup](web_send_message_popup/) | 18.0.1.0.0 | | Web Send Message as Popup [web_session_auto_close](web_session_auto_close/) | 18.0.1.0.1 | | Automatically logs out inactive users based on a configurable timeout. +[web_sort_menu](web_sort_menu/) | 18.0.1.0.0 | | Sort Apps in DropDown/NavBar Menu alphabetically [web_systray_button_init_action](web_systray_button_init_action/) | 18.0.1.0.2 | | Add a button to go to the user init action. [web_theme_classic](web_theme_classic/) | 18.0.1.1.0 | legalsylvain | Contrasted style on fields to improve the UI. [web_timeline](web_timeline/) | 18.0.1.0.1 | tarteo | Interactive visualization chart to show events in time diff --git a/setup/_metapackage/pyproject.toml b/setup/_metapackage/pyproject.toml index cd8c8ce8d4aa..f5deabf84d8e 100644 --- a/setup/_metapackage/pyproject.toml +++ b/setup/_metapackage/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "odoo-addons-oca-web" -version = "18.0.20251201.0" +version = "18.0.20251230.0" dependencies = [ "odoo-addon-web_calendar_slot_duration==18.0.*", "odoo-addon-web_chatter_position==18.0.*", @@ -35,6 +35,7 @@ dependencies = [ "odoo-addon-web_search_with_and==18.0.*", "odoo-addon-web_send_message_popup==18.0.*", "odoo-addon-web_session_auto_close==18.0.*", + "odoo-addon-web_sort_menu==18.0.*", "odoo-addon-web_systray_button_init_action==18.0.*", "odoo-addon-web_theme_classic==18.0.*", "odoo-addon-web_timeline==18.0.*", diff --git a/web_sort_menu/README.rst b/web_sort_menu/README.rst index 0eb3df871e03..e997e30dd95a 100644 --- a/web_sort_menu/README.rst +++ b/web_sort_menu/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + ============= Web Sort Menu ============= @@ -7,13 +11,13 @@ Web Sort Menu !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:5e79dd93ca6197202c76aef91babbcc3175a386bc2037885d95f65e662813fd9 + !! source digest: sha256:f1d56e2c1ad3ffd632fdba68876daefc03d26f76bcfd71126db70a25721d7c07 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |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 +.. |badge2| image:: https://img.shields.io/badge/license-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%2Fweb-lightgray.png?logo=github diff --git a/web_sort_menu/static/description/icon.png b/web_sort_menu/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1dcc49c24f364e9adf0afbc6fc0bac6dbecdeb11 GIT binary patch literal 10254 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 -Web Sort Menu +README.rst -
-

Web Sort Menu

+
+ + +Odoo Community Association + +
+

Web Sort Menu

-

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

By default, apps displayed in dropdown menu are sorted alphabetically. If web_responsive module is installed, apps displayed on NavBar menu is sorted in alphabetical order. Menus are sorted based on languages used @@ -388,12 +393,12 @@

Web Sort Menu

-

Usage

+

Usage

To use this module, you need to install it. After installation, Apps displayed on dropdown/NavBar menu will be sorted alphabetically.

-

Bug Tracker

+

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 @@ -401,21 +406,21 @@

Bug Tracker

Do not contact contributors directly about support or help with technical issues.

-

Credits

+

Credits

-

Authors

+

Authors

  • Anusri Veerappan Prakasam
-

Contributors

+

Contributors

  • Anusri Veerappan Prakasam, Odoo Community Association (OCA)
-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -428,5 +433,6 @@

Maintainers

+
From b01be3bf1424aec548221aac2e34f168185b66fc Mon Sep 17 00:00:00 2001 From: oca-ci Date: Tue, 30 Dec 2025 18:00:30 +0000 Subject: [PATCH 43/44] [UPD] Update web_dark_mode.pot --- web_dark_mode/i18n/web_dark_mode.pot | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/web_dark_mode/i18n/web_dark_mode.pot b/web_dark_mode/i18n/web_dark_mode.pot index f3daced67eea..020fd87e814e 100644 --- a/web_dark_mode/i18n/web_dark_mode.pot +++ b/web_dark_mode/i18n/web_dark_mode.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0\n" +"Project-Id-Version: Odoo Server 18.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -17,7 +17,6 @@ msgstr "" #. odoo-javascript #: code:addons/web_dark_mode/static/src/js/switch_item.esm.js:0 #: model:ir.model.fields,field_description:web_dark_mode.field_res_users__dark_mode -#, python-format msgid "Dark Mode" msgstr "" From a111fc87fd853a0e097ced6652aba1cbc9a64b1a Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 30 Dec 2025 18:05:30 +0000 Subject: [PATCH 44/44] [BOT] post-merge updates --- README.md | 1 + setup/_metapackage/pyproject.toml | 3 ++- web_dark_mode/README.rst | 8 ++++-- web_dark_mode/static/description/index.html | 28 +++++++++++++-------- 4 files changed, 26 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 536be4879d31..132205e2a32f 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,7 @@ addon | version | maintainers | summary [web_chatter_position](web_chatter_position/) | 18.0.1.0.1 | trisdoan | Add an option to change the chatter position [web_company_color](web_company_color/) | 18.0.1.0.4 | | Web Company Color [web_copy_confirm](web_copy_confirm/) | 18.0.1.0.0 | | Show confirmation dialogue before copying records +[web_dark_mode](web_dark_mode/) | 18.0.1.0.0 | | Enabled Dark Mode for the Odoo Backend [web_datetime_picker_default_time](web_datetime_picker_default_time/) | 18.0.1.0.0 | grindtildeath | Allows to define a default time on datetime picker [web_dialog_size](web_dialog_size/) | 18.0.1.0.1 | | A module that lets the user expand a dialog box to the full screen width. [web_disable_export_group](web_disable_export_group/) | 18.0.1.0.0 | | Web Disable Export Group diff --git a/setup/_metapackage/pyproject.toml b/setup/_metapackage/pyproject.toml index f5deabf84d8e..07bd0e740027 100644 --- a/setup/_metapackage/pyproject.toml +++ b/setup/_metapackage/pyproject.toml @@ -1,11 +1,12 @@ [project] name = "odoo-addons-oca-web" -version = "18.0.20251230.0" +version = "18.0.20251230.1" dependencies = [ "odoo-addon-web_calendar_slot_duration==18.0.*", "odoo-addon-web_chatter_position==18.0.*", "odoo-addon-web_company_color==18.0.*", "odoo-addon-web_copy_confirm==18.0.*", + "odoo-addon-web_dark_mode==18.0.*", "odoo-addon-web_datetime_picker_default_time==18.0.*", "odoo-addon-web_dialog_size==18.0.*", "odoo-addon-web_disable_export_group==18.0.*", diff --git a/web_dark_mode/README.rst b/web_dark_mode/README.rst index 673f4cbe09e3..bdebf789ad24 100644 --- a/web_dark_mode/README.rst +++ b/web_dark_mode/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + ========= Dark Mode ========= @@ -7,13 +11,13 @@ Dark Mode !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:92c42b374159b10469f7a113505b270486a72f4a3bec1552c591c18146e82035 + !! source digest: sha256:412634e63cb76e61a9461ecdc1ffef9271510b8a8a1d6e63ee98df7eeeedaaae !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |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 +.. |badge2| image:: https://img.shields.io/badge/license-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%2Fweb-lightgray.png?logo=github diff --git a/web_dark_mode/static/description/index.html b/web_dark_mode/static/description/index.html index 1d19272e0be5..660e33ec5346 100644 --- a/web_dark_mode/static/description/index.html +++ b/web_dark_mode/static/description/index.html @@ -3,7 +3,7 @@ -Dark Mode +README.rst -
-

Dark Mode

+
+ + +Odoo Community Association + +
+

Dark Mode

-

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

This modules offers the dark mode for Odoo CE. The dark mode can be activated by every user in the user menu in the top right.

Table of contents

@@ -386,13 +391,13 @@

Dark Mode

-

Known issues / Roadmap

+

Known issues / Roadmap

  • Implement dark mode for PoS with a glue module
-

Bug Tracker

+

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 @@ -400,15 +405,15 @@

Bug Tracker

Do not contact contributors directly about support or help with technical issues.

-

Credits

+

Credits

-

Authors

+

Authors

  • initOS GmbH
-

Contributors

+

Contributors

-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -431,5 +436,6 @@

Maintainers

+