From 1c1f60987b0dc29987c24bad57b749c76f12adc4 Mon Sep 17 00:00:00 2001 From: Samir GUESMI Date: Wed, 19 Aug 2026 16:58:46 +0200 Subject: [PATCH 01/19] [19.0][ADD] web_search_deactivate_autosearch --- README.md | 1 + web_search_deactivate_autosearch/README.rst | 111 +++++ web_search_deactivate_autosearch/__init__.py | 0 .../__manifest__.py | 21 + .../pyproject.toml | 3 + .../readme/CONTRIBUTORS.md | 2 + .../readme/DESCRIPTION.md | 9 + .../readme/USAGE.md | 7 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 452 ++++++++++++++++++ .../src/search/search_bar/search_bar.esm.js | 40 ++ .../src/search/search_bar/search_bar.xml | 28 ++ .../static/src/search/search_model.esm.js | 31 ++ 13 files changed, 705 insertions(+) create mode 100644 web_search_deactivate_autosearch/README.rst create mode 100644 web_search_deactivate_autosearch/__init__.py create mode 100644 web_search_deactivate_autosearch/__manifest__.py create mode 100644 web_search_deactivate_autosearch/pyproject.toml create mode 100644 web_search_deactivate_autosearch/readme/CONTRIBUTORS.md create mode 100644 web_search_deactivate_autosearch/readme/DESCRIPTION.md create mode 100644 web_search_deactivate_autosearch/readme/USAGE.md create mode 100644 web_search_deactivate_autosearch/static/description/icon.png create mode 100644 web_search_deactivate_autosearch/static/description/index.html create mode 100644 web_search_deactivate_autosearch/static/src/search/search_bar/search_bar.esm.js create mode 100644 web_search_deactivate_autosearch/static/src/search/search_bar/search_bar.xml create mode 100644 web_search_deactivate_autosearch/static/src/search/search_model.esm.js diff --git a/README.md b/README.md index f9167fd213b9..18cd8e11154f 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,7 @@ addon | version | maintainers | summary [web_refresher](web_refresher/) | 19.0.1.0.0 | | Web Refresher [web_remember_tree_column_width](web_remember_tree_column_width/) | 19.0.1.0.0 | frahikLV luisg123v cuongnmtm | Remember the tree columns' widths across sessions. [web_responsive](web_responsive/) | 19.0.1.1.0 | Tardo SplashS | Responsive web client, community-supported +[web_search_deactivate_autosearch](web_search_deactivate_autosearch/) | 19.0.1.0.0 | | Allow user to deactivate autosearch to add multiple filters [web_search_with_and](web_search_with_and/) | 19.0.1.0.0 | | Use AND conditions on omnibar search [web_timeline](web_timeline/) | 19.0.1.0.0 | | Interactive visualization chart to show events in time [web_tree_many2one_clickable](web_tree_many2one_clickable/) | 19.0.1.0.0 | | Open the linked resource when clicking on their name diff --git a/web_search_deactivate_autosearch/README.rst b/web_search_deactivate_autosearch/README.rst new file mode 100644 index 000000000000..7e979ac965a1 --- /dev/null +++ b/web_search_deactivate_autosearch/README.rst @@ -0,0 +1,111 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + +================================ +Web Search Deactivate Autosearch +================================ + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:890d01a081f35054fe4f795b257312afa76dd9fe89c1a9e3b8a13d99c70685c1 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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/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 + :target: https://github.com/OCA/web/tree/19.0/web_search_deactivate_autosearch + :alt: OCA/web +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/web-19-0/web-19-0-web_search_deactivate_autosearch + :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=19.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +By default, Odoo triggers a new search every time you add or remove a +filter, a group by, or a favorite in the search bar. When you need to +combine several filters before looking at the result, this means the +search is run once per filter, which can be slow and noisy. + +This module adds an "Auto search" checkbox next to the search bar. When +unchecked, adding or removing filters no longer triggers an automatic +search: you can freely combine several filters and only trigger the +search once, by clicking the search icon. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +1. Go to any view with a search bar (e.g. a list or kanban view). +2. Uncheck the "Auto search" checkbox displayed next to the search bar. +3. Add or remove as many filters, group by, or favorites as you need: + the view is not refreshed automatically anymore. +4. Click the search icon to run the search with all the selected filters + at once. +5. Check "Auto search" again to go back to the default behavior. + +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 +------- + +* ACSONE SA/NV + +Contributors +------------ + +- Zina Rasoamanana +- Samir Guesmi + +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. + +.. |maintainer-samirGuesmi| image:: https://github.com/samirGuesmi.png?size=40px + :target: https://github.com/samirGuesmi + :alt: samirGuesmi +.. |maintainer-AnizR| image:: https://github.com/AnizR.png?size=40px + :target: https://github.com/AnizR + :alt: AnizR + +Current `maintainers `__: + +|maintainer-samirGuesmi| |maintainer-AnizR| + +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_search_deactivate_autosearch/__init__.py b/web_search_deactivate_autosearch/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/web_search_deactivate_autosearch/__manifest__.py b/web_search_deactivate_autosearch/__manifest__.py new file mode 100644 index 000000000000..493216b5143b --- /dev/null +++ b/web_search_deactivate_autosearch/__manifest__.py @@ -0,0 +1,21 @@ +# Copyright 2025 ACSONE SA/NV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +{ + "name": "Web Search Deactivate Autosearch", + "summary": "Allow user to deactivate autosearch to add multiple filters", + "version": "19.0.1.0.0", + "development_status": "Beta", + "category": "Web", + "website": "https://github.com/OCA/web", + "author": "ACSONE SA/NV, Odoo Community Association (OCA)", + "maintainers": ["samirGuesmi", "AnizR"], + "license": "AGPL-3", + "installable": True, + "depends": ["web"], + "assets": { + "web.assets_backend": [ + "web_search_deactivate_autosearch/static/src/search/search_model.esm.js", + "web_search_deactivate_autosearch/static/src/search/search_bar/*", + ], + }, +} diff --git a/web_search_deactivate_autosearch/pyproject.toml b/web_search_deactivate_autosearch/pyproject.toml new file mode 100644 index 000000000000..4231d0cccb3d --- /dev/null +++ b/web_search_deactivate_autosearch/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/web_search_deactivate_autosearch/readme/CONTRIBUTORS.md b/web_search_deactivate_autosearch/readme/CONTRIBUTORS.md new file mode 100644 index 000000000000..68d340d91f9d --- /dev/null +++ b/web_search_deactivate_autosearch/readme/CONTRIBUTORS.md @@ -0,0 +1,2 @@ +- Zina Rasoamanana \<\> +- Samir Guesmi \<\> diff --git a/web_search_deactivate_autosearch/readme/DESCRIPTION.md b/web_search_deactivate_autosearch/readme/DESCRIPTION.md new file mode 100644 index 000000000000..8a04c7192c9f --- /dev/null +++ b/web_search_deactivate_autosearch/readme/DESCRIPTION.md @@ -0,0 +1,9 @@ +By default, Odoo triggers a new search every time you add or remove a +filter, a group by, or a favorite in the search bar. When you need to +combine several filters before looking at the result, this means the +search is run once per filter, which can be slow and noisy. + +This module adds an "Auto search" checkbox next to the search bar. When +unchecked, adding or removing filters no longer triggers an automatic +search: you can freely combine several filters and only trigger the +search once, by clicking the search icon. diff --git a/web_search_deactivate_autosearch/readme/USAGE.md b/web_search_deactivate_autosearch/readme/USAGE.md new file mode 100644 index 000000000000..58f4c9541ef5 --- /dev/null +++ b/web_search_deactivate_autosearch/readme/USAGE.md @@ -0,0 +1,7 @@ +1. Go to any view with a search bar (e.g. a list or kanban view). +2. Uncheck the "Auto search" checkbox displayed next to the search bar. +3. Add or remove as many filters, group by, or favorites as you need: + the view is not refreshed automatically anymore. +4. Click the search icon to run the search with all the selected + filters at once. +5. Check "Auto search" again to go back to the default behavior. diff --git a/web_search_deactivate_autosearch/static/description/icon.png b/web_search_deactivate_autosearch/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 diff --git a/web_search_deactivate_autosearch/static/description/index.html b/web_search_deactivate_autosearch/static/description/index.html new file mode 100644 index 000000000000..818de0769240 --- /dev/null +++ b/web_search_deactivate_autosearch/static/description/index.html @@ -0,0 +1,452 @@ + + + + + +README.rst + + + +
+ + + +Odoo Community Association + +
+

Web Search Deactivate Autosearch

+ +

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

+

By default, Odoo triggers a new search every time you add or remove a +filter, a group by, or a favorite in the search bar. When you need to +combine several filters before looking at the result, this means the +search is run once per filter, which can be slow and noisy.

+

This module adds an “Auto search” checkbox next to the search bar. When +unchecked, adding or removing filters no longer triggers an automatic +search: you can freely combine several filters and only trigger the +search once, by clicking the search icon.

+

Table of contents

+ +
+

Usage

+
    +
  1. Go to any view with a search bar (e.g. a list or kanban view).
  2. +
  3. Uncheck the “Auto search” checkbox displayed next to the search bar.
  4. +
  5. Add or remove as many filters, group by, or favorites as you need: +the view is not refreshed automatically anymore.
  6. +
  7. Click the search icon to run the search with all the selected filters +at once.
  8. +
  9. Check “Auto search” again to go back to the default behavior.
  10. +
+
+
+

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

+
    +
  • ACSONE SA/NV
  • +
+
+
+

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.

+

Current maintainers:

+

samirGuesmi AnizR

+

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_search_deactivate_autosearch/static/src/search/search_bar/search_bar.esm.js b/web_search_deactivate_autosearch/static/src/search/search_bar/search_bar.esm.js new file mode 100644 index 000000000000..b6ee0abbbfb6 --- /dev/null +++ b/web_search_deactivate_autosearch/static/src/search/search_bar/search_bar.esm.js @@ -0,0 +1,40 @@ +import {SearchBar} from "@web/search/search_bar/search_bar"; +import {browser} from "@web/core/browser/browser"; +import {patch} from "@web/core/utils/patch"; +import {useBus} from "@web/core/utils/hooks"; + +patch(SearchBar.prototype, { + setup() { + super.setup(...arguments); + this.autosearch = + browser.localStorage.getItem( + `odoo.deactivateAutoSearch.${this.env.searchModel.resModel}` + ) !== "true"; + useBus(this.env.searchModel, "force-search-bar-update", this.render); + }, + + toggleAutoSearch() { + const deactivate = + browser.localStorage.getItem( + `odoo.deactivateAutoSearch.${this.env.searchModel.resModel}` + ) !== "true"; + browser.localStorage.setItem( + `odoo.deactivateAutoSearch.${this.env.searchModel.resModel}`, + deactivate + ); + this.autosearch = !deactivate; + this.env.searchModel._notify(); + }, + + onClickSearchIcon() { + const deactivateAutoSearch = + browser.localStorage.getItem( + `odoo.deactivateAutoSearch.${this.env.searchModel.resModel}` + ) === "true"; + if (deactivateAutoSearch) { + this.env.searchModel.trigger_search(); + } else { + super.onClickSearchIcon(...arguments); + } + }, +}); diff --git a/web_search_deactivate_autosearch/static/src/search/search_bar/search_bar.xml b/web_search_deactivate_autosearch/static/src/search/search_bar/search_bar.xml new file mode 100644 index 000000000000..f576f522451e --- /dev/null +++ b/web_search_deactivate_autosearch/static/src/search/search_bar/search_bar.xml @@ -0,0 +1,28 @@ + + + + +
+ + +
+
+
+
diff --git a/web_search_deactivate_autosearch/static/src/search/search_model.esm.js b/web_search_deactivate_autosearch/static/src/search/search_model.esm.js new file mode 100644 index 000000000000..ebdabac0f36b --- /dev/null +++ b/web_search_deactivate_autosearch/static/src/search/search_model.esm.js @@ -0,0 +1,31 @@ +import {SearchModel} from "@web/search/search_model"; +import {browser} from "@web/core/browser/browser"; +import {patch} from "@web/core/utils/patch"; + +patch(SearchModel.prototype, { + async _notify() { + const deactivateAutoSearch = + browser.localStorage.getItem( + `odoo.deactivateAutoSearch.${this.resModel}` + ) === "true"; + if (deactivateAutoSearch) { + if (this.blockNotification) { + return; + } + this._reset(); + await this._reloadSections(); + this.trigger("force-search-bar-update"); + return; + } + return super._notify(...arguments); + }, + + async trigger_search() { + if (this.blockNotification) { + return; + } + this._reset(); + await this._reloadSections(); + this.trigger("update"); + }, +}); From b25fc507b95e052e72c58b79945d6ad8340599dc Mon Sep 17 00:00:00 2001 From: Florian Mounier Date: Fri, 28 Jun 2024 11:50:55 +0200 Subject: [PATCH 02/19] [ADD] web_notify_upgrade --- web_notify_upgrade/README.rst | 80 ++++ web_notify_upgrade/__init__.py | 1 + web_notify_upgrade/__manifest__.py | 14 + web_notify_upgrade/models/__init__.py | 1 + web_notify_upgrade/models/ir_model.py | 60 +++ web_notify_upgrade/readme/CONTRIBUTORS.rst | 3 + web_notify_upgrade/readme/DESCRIPTION.rst | 3 + .../static/description/index.html | 424 ++++++++++++++++++ 8 files changed, 586 insertions(+) create mode 100644 web_notify_upgrade/README.rst create mode 100644 web_notify_upgrade/__init__.py create mode 100644 web_notify_upgrade/__manifest__.py create mode 100644 web_notify_upgrade/models/__init__.py create mode 100644 web_notify_upgrade/models/ir_model.py create mode 100644 web_notify_upgrade/readme/CONTRIBUTORS.rst create mode 100644 web_notify_upgrade/readme/DESCRIPTION.rst create mode 100644 web_notify_upgrade/static/description/index.html diff --git a/web_notify_upgrade/README.rst b/web_notify_upgrade/README.rst new file mode 100644 index 000000000000..f71b7b8e8840 --- /dev/null +++ b/web_notify_upgrade/README.rst @@ -0,0 +1,80 @@ +================== +Web Notify Upgrade +================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:43d4c2b1f0259f640d095bcf8eb7e5afe9cba9ab249dad54c96068d2624bdec8 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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/14.0/web_notify_upgrade + :alt: OCA/web +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/web-14-0/web-14-0-web_notify_upgrade + :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=14.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module uses web_notify send a notification to every active users whenever a module has been installed or upgraded. + +The notification will ask the user to refresh the page to get the latest changes. + +**Table of contents** + +.. contents:: + :local: + +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 +~~~~~~~ + +* Akretion + +Contributors +~~~~~~~~~~~~ + +* `Akretion `_: + + * Florian Mounier + +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_notify_upgrade/__init__.py b/web_notify_upgrade/__init__.py new file mode 100644 index 000000000000..0650744f6bc6 --- /dev/null +++ b/web_notify_upgrade/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/web_notify_upgrade/__manifest__.py b/web_notify_upgrade/__manifest__.py new file mode 100644 index 000000000000..2bfd025f2992 --- /dev/null +++ b/web_notify_upgrade/__manifest__.py @@ -0,0 +1,14 @@ +# Copyright 2024 Akretion (http://www.akretion.com). +# @author Florian Mounier +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Web Notify Upgrade", + "summary": "Notify active users when a module is installed or updated", + "version": "14.0.1.0.0", + "license": "AGPL-3", + "depends": ["web_notify"], + "author": "Akretion, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/web", + "installable": True, +} diff --git a/web_notify_upgrade/models/__init__.py b/web_notify_upgrade/models/__init__.py new file mode 100644 index 000000000000..413bb2380140 --- /dev/null +++ b/web_notify_upgrade/models/__init__.py @@ -0,0 +1 @@ +from . import ir_model diff --git a/web_notify_upgrade/models/ir_model.py b/web_notify_upgrade/models/ir_model.py new file mode 100644 index 000000000000..684bf3623850 --- /dev/null +++ b/web_notify_upgrade/models/ir_model.py @@ -0,0 +1,60 @@ +# Copyright 2024 Akretion (http://www.akretion.com). +# @author Florian Mounier +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +import logging + +from odoo import api, models + +from odoo.addons.bus.models.bus_presence import AWAY_TIMER, DISCONNECTION_TIMER + +_logger = logging.getLogger(__name__) + + +class IrModelData(models.Model): + _inherit = "ir.model.data" + + @api.model + def _process_end(self, modules): + # This function is called at the end of the module installation + # only if at least a module has been installed or updated. + rv = super()._process_end(modules) + self._notify_active_users_of_upgrade() + return rv + + def _notify_active_users_of_upgrade(self): + # Look for active users + active_users = self._get_active_users_to_notify_of_upgrade() + if active_users: + _logger.info( + "Installation detected. Notifying %s active users", len(active_users) + ) + # Notify them + active_users.notify_info(**self._get_upgrade_notification_params()) + + def _get_active_users_to_notify_of_upgrade(self): + """Return the active users that should be notified of the upgrade.""" + self.env.cr.execute( + """ + SELECT user_id + FROM bus_presence + WHERE last_poll is not null + AND ( + age(now() AT TIME ZONE 'UTC', last_poll) < interval %s + OR age(now() AT TIME ZONE 'UTC', last_presence) < interval %s + ) + """, + ("%s seconds" % DISCONNECTION_TIMER, "%s seconds" % AWAY_TIMER), + ) + return self.env["res.users"].browse([res[0] for res in self.env.cr.fetchall()]) + + def _get_upgrade_notification_params(self): + """Return the parameters to pass to the notify_info method.""" + return dict( + message="Your odoo instance has been upgraded, " + "please reload the web page.
" + '", + title="Upgrade Notification", + sticky=True, + ) diff --git a/web_notify_upgrade/readme/CONTRIBUTORS.rst b/web_notify_upgrade/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000000..a4d0ad92299d --- /dev/null +++ b/web_notify_upgrade/readme/CONTRIBUTORS.rst @@ -0,0 +1,3 @@ +* `Akretion `_: + + * Florian Mounier diff --git a/web_notify_upgrade/readme/DESCRIPTION.rst b/web_notify_upgrade/readme/DESCRIPTION.rst new file mode 100644 index 000000000000..854e257a6c2d --- /dev/null +++ b/web_notify_upgrade/readme/DESCRIPTION.rst @@ -0,0 +1,3 @@ +This module uses web_notify send a notification to every active users whenever a module has been installed or upgraded. + +The notification will ask the user to refresh the page to get the latest changes. diff --git a/web_notify_upgrade/static/description/index.html b/web_notify_upgrade/static/description/index.html new file mode 100644 index 000000000000..aab5720bffe5 --- /dev/null +++ b/web_notify_upgrade/static/description/index.html @@ -0,0 +1,424 @@ + + + + + +Web Notify Upgrade + + + +
+

Web Notify Upgrade

+ + +

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

+

This module uses web_notify send a notification to every active users whenever a module has been installed or upgraded.

+

The notification will ask the user to refresh the page to get the latest changes.

+

Table of contents

+ +
+

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

+
    +
  • Akretion
  • +
+
+
+

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.

+
+
+
+ + From c7057913bbb9ebb5f4929a33c3140363f71fbeb5 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Thu, 4 Jul 2024 09:22:40 +0000 Subject: [PATCH 03/19] [UPD] Update web_notify_upgrade.pot --- .../i18n/web_notify_upgrade.pot | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 web_notify_upgrade/i18n/web_notify_upgrade.pot diff --git a/web_notify_upgrade/i18n/web_notify_upgrade.pot b/web_notify_upgrade/i18n/web_notify_upgrade.pot new file mode 100644 index 000000000000..fc0b462bac97 --- /dev/null +++ b/web_notify_upgrade/i18n/web_notify_upgrade.pot @@ -0,0 +1,34 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_notify_upgrade +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.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_notify_upgrade +#: model:ir.model.fields,field_description:web_notify_upgrade.field_ir_model_data__display_name +msgid "Display Name" +msgstr "" + +#. module: web_notify_upgrade +#: model:ir.model.fields,field_description:web_notify_upgrade.field_ir_model_data__id +msgid "ID" +msgstr "" + +#. module: web_notify_upgrade +#: model:ir.model.fields,field_description:web_notify_upgrade.field_ir_model_data____last_update +msgid "Last Modified on" +msgstr "" + +#. module: web_notify_upgrade +#: model:ir.model,name:web_notify_upgrade.model_ir_model_data +msgid "Model Data" +msgstr "" From f9b6a7fb6fc7750a8565aeec8dfd02c663feeede Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 4 Jul 2024 09:27:51 +0000 Subject: [PATCH 04/19] [BOT] post-merge updates --- web_notify_upgrade/README.rst | 2 +- web_notify_upgrade/__manifest__.py | 2 +- web_notify_upgrade/static/description/icon.png | Bin 0 -> 9455 bytes web_notify_upgrade/static/description/index.html | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 web_notify_upgrade/static/description/icon.png diff --git a/web_notify_upgrade/README.rst b/web_notify_upgrade/README.rst index f71b7b8e8840..b03fd17ecfb8 100644 --- a/web_notify_upgrade/README.rst +++ b/web_notify_upgrade/README.rst @@ -7,7 +7,7 @@ Web Notify Upgrade !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:43d4c2b1f0259f640d095bcf8eb7e5afe9cba9ab249dad54c96068d2624bdec8 + !! source digest: sha256:73f36f681a3bdab0c199d3f256b69f03aba5a56d03e9a35545d14d1992c865bd !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/web_notify_upgrade/__manifest__.py b/web_notify_upgrade/__manifest__.py index 2bfd025f2992..2c4a2396c84f 100644 --- a/web_notify_upgrade/__manifest__.py +++ b/web_notify_upgrade/__manifest__.py @@ -5,7 +5,7 @@ { "name": "Web Notify Upgrade", "summary": "Notify active users when a module is installed or updated", - "version": "14.0.1.0.0", + "version": "14.0.1.0.1", "license": "AGPL-3", "depends": ["web_notify"], "author": "Akretion, Odoo Community Association (OCA)", diff --git a/web_notify_upgrade/static/description/icon.png b/web_notify_upgrade/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 diff --git a/web_notify_upgrade/static/description/index.html b/web_notify_upgrade/static/description/index.html index aab5720bffe5..0c307119ca94 100644 --- a/web_notify_upgrade/static/description/index.html +++ b/web_notify_upgrade/static/description/index.html @@ -366,7 +366,7 @@

Web Notify Upgrade

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:43d4c2b1f0259f640d095bcf8eb7e5afe9cba9ab249dad54c96068d2624bdec8 +!! source digest: sha256:73f36f681a3bdab0c199d3f256b69f03aba5a56d03e9a35545d14d1992c865bd !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

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

This module uses web_notify send a notification to every active users whenever a module has been installed or upgraded.

From 2d5e1a4fe97456dcba9e6450b1f4129d85d1e00a Mon Sep 17 00:00:00 2001 From: David Beal Date: Mon, 5 Aug 2024 20:12:16 +0200 Subject: [PATCH 05/19] [16.0][MIG] web_notify_upgrade --- web_notify_upgrade/README.rst | 10 +++++----- web_notify_upgrade/__manifest__.py | 2 +- web_notify_upgrade/static/description/index.html | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/web_notify_upgrade/README.rst b/web_notify_upgrade/README.rst index b03fd17ecfb8..9346623b2a3e 100644 --- a/web_notify_upgrade/README.rst +++ b/web_notify_upgrade/README.rst @@ -17,13 +17,13 @@ Web Notify Upgrade :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/14.0/web_notify_upgrade + :target: https://github.com/OCA/web/tree/16.0/web_notify_upgrade :alt: OCA/web .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/web-14-0/web-14-0-web_notify_upgrade + :target: https://translation.odoo-community.org/projects/web-16-0/web-16-0-web_notify_upgrade :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=14.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=16.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -43,7 +43,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,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_notify_upgrade/__manifest__.py b/web_notify_upgrade/__manifest__.py index 2c4a2396c84f..24ae27e06544 100644 --- a/web_notify_upgrade/__manifest__.py +++ b/web_notify_upgrade/__manifest__.py @@ -5,7 +5,7 @@ { "name": "Web Notify Upgrade", "summary": "Notify active users when a module is installed or updated", - "version": "14.0.1.0.1", + "version": "16.0.1.0.0", "license": "AGPL-3", "depends": ["web_notify"], "author": "Akretion, Odoo Community Association (OCA)", diff --git a/web_notify_upgrade/static/description/index.html b/web_notify_upgrade/static/description/index.html index 0c307119ca94..35f304af5b6f 100644 --- a/web_notify_upgrade/static/description/index.html +++ b/web_notify_upgrade/static/description/index.html @@ -368,7 +368,7 @@

Web Notify Upgrade

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:73f36f681a3bdab0c199d3f256b69f03aba5a56d03e9a35545d14d1992c865bd !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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 module uses web_notify send a notification to every active users whenever a module has been installed or upgraded.

The notification will ask the user to refresh the page to get the latest changes.

Table of contents

@@ -388,7 +388,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.

@@ -415,7 +415,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.

From 54704ee02d150d230fbb85b33f0224215669b155 Mon Sep 17 00:00:00 2001 From: David Beal Date: Mon, 5 Aug 2024 21:31:58 +0200 Subject: [PATCH 06/19] [16.0] web_notify_upgrade: fr translation --- web_notify_upgrade/README.rst | 6 ++- web_notify_upgrade/i18n/fr.po | 44 ++++++++++++++++++ web_notify_upgrade/i18n/it.po | 43 +++++++++++++++++ .../i18n/web_notify_upgrade.pot | 24 ++++++---- web_notify_upgrade/models/ir_model.py | 13 +++--- web_notify_upgrade/readme/DESCRIPTION.rst | 4 ++ .../static/description/index.html | 16 +++++-- .../static/description/notify.png | Bin 0 -> 27309 bytes 8 files changed, 129 insertions(+), 21 deletions(-) create mode 100644 web_notify_upgrade/i18n/fr.po create mode 100644 web_notify_upgrade/i18n/it.po create mode 100644 web_notify_upgrade/static/description/notify.png diff --git a/web_notify_upgrade/README.rst b/web_notify_upgrade/README.rst index 9346623b2a3e..55cf2f36c7fb 100644 --- a/web_notify_upgrade/README.rst +++ b/web_notify_upgrade/README.rst @@ -7,7 +7,7 @@ Web Notify Upgrade !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:73f36f681a3bdab0c199d3f256b69f03aba5a56d03e9a35545d14d1992c865bd + !! source digest: sha256:2eb8752f0e8e35c9d1a164c644532665c2ea80d249dc3a430df2c6579fbdfae1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png @@ -32,6 +32,10 @@ This module uses web_notify send a notification to every active users whenever a The notification will ask the user to refresh the page to get the latest changes. + +.. figure:: https://raw.githubusercontent.com/OCA/web/16.0/web_notify_upgrade/static/description/notify.png + :alt: Refresh page + **Table of contents** .. contents:: diff --git a/web_notify_upgrade/i18n/fr.po b/web_notify_upgrade/i18n/fr.po new file mode 100644 index 000000000000..b262d01acac9 --- /dev/null +++ b/web_notify_upgrade/i18n/fr.po @@ -0,0 +1,44 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_notify_upgrade +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2024-08-14 16:58+0000\n" +"Last-Translator: David Beal \n" +"Language-Team: \n" +"Language: fr\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: Weblate 5.6.2\n" + +#. module: web_notify_upgrade +#: model:ir.model,name:web_notify_upgrade.model_ir_model_data +msgid "Model Data" +msgstr "Model Data" + +#. module: web_notify_upgrade +#. odoo-python +#: code:addons/web_notify_upgrade/models/ir_model.py:0 +#, python-format +msgid "Reload" +msgstr "Recharger" + +#. module: web_notify_upgrade +#. odoo-python +#: code:addons/web_notify_upgrade/models/ir_model.py:0 +#, python-format +msgid "Upgrade Notification" +msgstr "Notification de mise à jour" + +#. module: web_notify_upgrade +#. odoo-python +#: code:addons/web_notify_upgrade/models/ir_model.py:0 +#, python-format +msgid "Your odoo instance has been upgraded, please reload the web page." +msgstr "Votre instance odoo a été mise à jour, merci de recharger la page web." diff --git a/web_notify_upgrade/i18n/it.po b/web_notify_upgrade/i18n/it.po new file mode 100644 index 000000000000..9eca29655e4a --- /dev/null +++ b/web_notify_upgrade/i18n/it.po @@ -0,0 +1,43 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_notify_upgrade +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-08-12 08:58+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: web_notify_upgrade +#: model:ir.model,name:web_notify_upgrade.model_ir_model_data +msgid "Model Data" +msgstr "Dati modello" + +#. module: web_notify_upgrade +#. odoo-python +#: code:addons/web_notify_upgrade/models/ir_model.py:0 +#, python-format +msgid "Reload" +msgstr "Ricarica" + +#. module: web_notify_upgrade +#. odoo-python +#: code:addons/web_notify_upgrade/models/ir_model.py:0 +#, python-format +msgid "Upgrade Notification" +msgstr "Aggiorna notifiche" + +#. module: web_notify_upgrade +#. odoo-python +#: code:addons/web_notify_upgrade/models/ir_model.py:0 +#, python-format +msgid "Your odoo instance has been upgraded, please reload the web page." +msgstr "L'istanza Odoo è stata aggiornata, ricaricare la pagina web." diff --git a/web_notify_upgrade/i18n/web_notify_upgrade.pot b/web_notify_upgrade/i18n/web_notify_upgrade.pot index fc0b462bac97..62a205b52152 100644 --- a/web_notify_upgrade/i18n/web_notify_upgrade.pot +++ b/web_notify_upgrade/i18n/web_notify_upgrade.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 14.0\n" +"Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,21 +14,27 @@ msgstr "" "Plural-Forms: \n" #. module: web_notify_upgrade -#: model:ir.model.fields,field_description:web_notify_upgrade.field_ir_model_data__display_name -msgid "Display Name" +#: model:ir.model,name:web_notify_upgrade.model_ir_model_data +msgid "Model Data" msgstr "" #. module: web_notify_upgrade -#: model:ir.model.fields,field_description:web_notify_upgrade.field_ir_model_data__id -msgid "ID" +#. odoo-python +#: code:addons/web_notify_upgrade/models/ir_model.py:0 +#, python-format +msgid "Reload" msgstr "" #. module: web_notify_upgrade -#: model:ir.model.fields,field_description:web_notify_upgrade.field_ir_model_data____last_update -msgid "Last Modified on" +#. odoo-python +#: code:addons/web_notify_upgrade/models/ir_model.py:0 +#, python-format +msgid "Upgrade Notification" msgstr "" #. module: web_notify_upgrade -#: model:ir.model,name:web_notify_upgrade.model_ir_model_data -msgid "Model Data" +#. odoo-python +#: code:addons/web_notify_upgrade/models/ir_model.py:0 +#, python-format +msgid "Your odoo instance has been upgraded, please reload the web page." msgstr "" diff --git a/web_notify_upgrade/models/ir_model.py b/web_notify_upgrade/models/ir_model.py index 684bf3623850..d973e4e36bc0 100644 --- a/web_notify_upgrade/models/ir_model.py +++ b/web_notify_upgrade/models/ir_model.py @@ -3,7 +3,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). import logging -from odoo import api, models +from odoo import _, api, models from odoo.addons.bus.models.bus_presence import AWAY_TIMER, DISCONNECTION_TIMER @@ -50,11 +50,12 @@ def _get_active_users_to_notify_of_upgrade(self): def _get_upgrade_notification_params(self): """Return the parameters to pass to the notify_info method.""" return dict( - message="Your odoo instance has been upgraded, " - "please reload the web page.
" + message=_( + "Your odoo instance has been upgraded, " "please reload the web page." + ) + + "
" '", - title="Upgrade Notification", + '' + _("Reload") + "", + title=_("Upgrade Notification"), sticky=True, ) diff --git a/web_notify_upgrade/readme/DESCRIPTION.rst b/web_notify_upgrade/readme/DESCRIPTION.rst index 854e257a6c2d..49656f4d69f1 100644 --- a/web_notify_upgrade/readme/DESCRIPTION.rst +++ b/web_notify_upgrade/readme/DESCRIPTION.rst @@ -1,3 +1,7 @@ This module uses web_notify send a notification to every active users whenever a module has been installed or upgraded. The notification will ask the user to refresh the page to get the latest changes. + + +.. figure:: ../static/description/notify.png + :alt: Refresh page diff --git a/web_notify_upgrade/static/description/index.html b/web_notify_upgrade/static/description/index.html index 35f304af5b6f..b666ccd0a466 100644 --- a/web_notify_upgrade/static/description/index.html +++ b/web_notify_upgrade/static/description/index.html @@ -8,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. @@ -274,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 } @@ -300,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -366,11 +367,14 @@

Web Notify Upgrade

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:73f36f681a3bdab0c199d3f256b69f03aba5a56d03e9a35545d14d1992c865bd +!! source digest: sha256:2eb8752f0e8e35c9d1a164c644532665c2ea80d249dc3a430df2c6579fbdfae1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

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

This module uses web_notify send a notification to every active users whenever a module has been installed or upgraded.

The notification will ask the user to refresh the page to get the latest changes.

+
+Refresh page +

Table of contents

    @@ -411,7 +415,9 @@

    Contributors

    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/web_notify_upgrade/static/description/notify.png b/web_notify_upgrade/static/description/notify.png new file mode 100644 index 0000000000000000000000000000000000000000..d605e3ff894eab41624e6efd61b0b73d56f9c668 GIT binary patch literal 27309 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

    ?CIV0-*+-SExRL?j5c$lLiim7VtM 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 Date: Wed, 9 Jul 2025 18:05:43 +0200 Subject: [PATCH 07/19] [IMP] web_notify_upgrade: pre-commit execution --- web_notify_upgrade/README.rst | 30 ++++++++++--------- web_notify_upgrade/pyproject.toml | 3 ++ web_notify_upgrade/readme/CONTRIBUTORS.md | 2 ++ web_notify_upgrade/readme/CONTRIBUTORS.rst | 3 -- web_notify_upgrade/readme/DESCRIPTION.md | 7 +++++ web_notify_upgrade/readme/DESCRIPTION.rst | 7 ----- .../static/description/index.html | 16 +++++----- 7 files changed, 36 insertions(+), 32 deletions(-) create mode 100644 web_notify_upgrade/pyproject.toml create mode 100644 web_notify_upgrade/readme/CONTRIBUTORS.md delete mode 100644 web_notify_upgrade/readme/CONTRIBUTORS.rst create mode 100644 web_notify_upgrade/readme/DESCRIPTION.md delete mode 100644 web_notify_upgrade/readme/DESCRIPTION.rst diff --git a/web_notify_upgrade/README.rst b/web_notify_upgrade/README.rst index 55cf2f36c7fb..02a946cdd467 100644 --- a/web_notify_upgrade/README.rst +++ b/web_notify_upgrade/README.rst @@ -17,24 +17,26 @@ Web Notify Upgrade :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_notify_upgrade + :target: https://github.com/OCA/web/tree/18.0/web_notify_upgrade :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_notify_upgrade + :target: https://translation.odoo-community.org/projects/web-18-0/web-18-0-web_notify_upgrade :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| -This module uses web_notify send a notification to every active users whenever a module has been installed or upgraded. +This module uses web_notify send a notification to every active users +whenever a module has been installed or upgraded. -The notification will ask the user to refresh the page to get the latest changes. +The notification will ask the user to refresh the page to get the latest +changes. +|image1| -.. figure:: https://raw.githubusercontent.com/OCA/web/16.0/web_notify_upgrade/static/description/notify.png - :alt: Refresh page +.. |image1| image:: https://raw.githubusercontent.com/OCA/web/18.0/web_notify_upgrade/static/description/notify.png **Table of contents** @@ -47,7 +49,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. @@ -55,19 +57,19 @@ Credits ======= Authors -~~~~~~~ +------- * Akretion Contributors -~~~~~~~~~~~~ +------------ -* `Akretion `_: +- `Akretion `__: - * Florian Mounier + - Florian Mounier Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -79,6 +81,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_notify_upgrade/pyproject.toml b/web_notify_upgrade/pyproject.toml new file mode 100644 index 000000000000..4231d0cccb3d --- /dev/null +++ b/web_notify_upgrade/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/web_notify_upgrade/readme/CONTRIBUTORS.md b/web_notify_upgrade/readme/CONTRIBUTORS.md new file mode 100644 index 000000000000..3b52e04e621e --- /dev/null +++ b/web_notify_upgrade/readme/CONTRIBUTORS.md @@ -0,0 +1,2 @@ +- [Akretion](https://www.akretion.com): + - Florian Mounier diff --git a/web_notify_upgrade/readme/CONTRIBUTORS.rst b/web_notify_upgrade/readme/CONTRIBUTORS.rst deleted file mode 100644 index a4d0ad92299d..000000000000 --- a/web_notify_upgrade/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1,3 +0,0 @@ -* `Akretion `_: - - * Florian Mounier diff --git a/web_notify_upgrade/readme/DESCRIPTION.md b/web_notify_upgrade/readme/DESCRIPTION.md new file mode 100644 index 000000000000..1e3a0476e3e7 --- /dev/null +++ b/web_notify_upgrade/readme/DESCRIPTION.md @@ -0,0 +1,7 @@ +This module uses web_notify send a notification to every active users +whenever a module has been installed or upgraded. + +The notification will ask the user to refresh the page to get the latest +changes. + +![](../static/description/notify.png) diff --git a/web_notify_upgrade/readme/DESCRIPTION.rst b/web_notify_upgrade/readme/DESCRIPTION.rst deleted file mode 100644 index 49656f4d69f1..000000000000 --- a/web_notify_upgrade/readme/DESCRIPTION.rst +++ /dev/null @@ -1,7 +0,0 @@ -This module uses web_notify send a notification to every active users whenever a module has been installed or upgraded. - -The notification will ask the user to refresh the page to get the latest changes. - - -.. figure:: ../static/description/notify.png - :alt: Refresh page diff --git a/web_notify_upgrade/static/description/index.html b/web_notify_upgrade/static/description/index.html index b666ccd0a466..6270b0935a02 100644 --- a/web_notify_upgrade/static/description/index.html +++ b/web_notify_upgrade/static/description/index.html @@ -369,12 +369,12 @@

    Web Notify Upgrade

    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:2eb8752f0e8e35c9d1a164c644532665c2ea80d249dc3a430df2c6579fbdfae1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

    -

    This module uses web_notify send a notification to every active users whenever a module has been installed or upgraded.

    -

    The notification will ask the user to refresh the page to get the latest changes.

    -
    -Refresh page -
    +

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

    +

    This module uses web_notify send a notification to every active users +whenever a module has been installed or upgraded.

    +

    The notification will ask the user to refresh the page to get the latest +changes.

    +

    image1

    Table of contents

      @@ -392,7 +392,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.

    @@ -421,7 +421,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.

    From 11952bfcc0c30482e10956307418af4eee95d9eb Mon Sep 17 00:00:00 2001 From: David Beal Date: Wed, 3 Sep 2025 12:23:02 +0200 Subject: [PATCH 08/19] [MIG] web_notify_upgrade: Migration to 18.0 --- web_notify_upgrade/__manifest__.py | 2 +- web_notify_upgrade/models/ir_model.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/web_notify_upgrade/__manifest__.py b/web_notify_upgrade/__manifest__.py index 24ae27e06544..4b38b46129e5 100644 --- a/web_notify_upgrade/__manifest__.py +++ b/web_notify_upgrade/__manifest__.py @@ -5,7 +5,7 @@ { "name": "Web Notify Upgrade", "summary": "Notify active users when a module is installed or updated", - "version": "16.0.1.0.0", + "version": "18.0.1.0.0", "license": "AGPL-3", "depends": ["web_notify"], "author": "Akretion, Odoo Community Association (OCA)", diff --git a/web_notify_upgrade/models/ir_model.py b/web_notify_upgrade/models/ir_model.py index d973e4e36bc0..fdb4e5509290 100644 --- a/web_notify_upgrade/models/ir_model.py +++ b/web_notify_upgrade/models/ir_model.py @@ -43,7 +43,7 @@ def _get_active_users_to_notify_of_upgrade(self): OR age(now() AT TIME ZONE 'UTC', last_presence) < interval %s ) """, - ("%s seconds" % DISCONNECTION_TIMER, "%s seconds" % AWAY_TIMER), + (f"{DISCONNECTION_TIMER} seconds", f"{AWAY_TIMER} seconds"), ) return self.env["res.users"].browse([res[0] for res in self.env.cr.fetchall()]) From 783bbb418d5433c6183d811e4cc07775579d0d1e Mon Sep 17 00:00:00 2001 From: oca-ci Date: Mon, 8 Sep 2025 13:13:39 +0000 Subject: [PATCH 09/19] [UPD] Update web_notify_upgrade.pot --- web_notify_upgrade/i18n/web_notify_upgrade.pot | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/web_notify_upgrade/i18n/web_notify_upgrade.pot b/web_notify_upgrade/i18n/web_notify_upgrade.pot index 62a205b52152..68c79cfebbe9 100644 --- a/web_notify_upgrade/i18n/web_notify_upgrade.pot +++ b/web_notify_upgrade/i18n/web_notify_upgrade.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" @@ -21,20 +21,17 @@ msgstr "" #. module: web_notify_upgrade #. odoo-python #: code:addons/web_notify_upgrade/models/ir_model.py:0 -#, python-format msgid "Reload" msgstr "" #. module: web_notify_upgrade #. odoo-python #: code:addons/web_notify_upgrade/models/ir_model.py:0 -#, python-format msgid "Upgrade Notification" msgstr "" #. module: web_notify_upgrade #. odoo-python #: code:addons/web_notify_upgrade/models/ir_model.py:0 -#, python-format msgid "Your odoo instance has been upgraded, please reload the web page." msgstr "" From 2d5d592df8c80512066e9f3aa3ad531151fadaf5 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 8 Sep 2025 13:18:20 +0000 Subject: [PATCH 10/19] [BOT] post-merge updates --- web_notify_upgrade/README.rst | 12 ++++++--- .../static/description/index.html | 26 ++++++++++++------- 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/web_notify_upgrade/README.rst b/web_notify_upgrade/README.rst index 02a946cdd467..09e5d119f152 100644 --- a/web_notify_upgrade/README.rst +++ b/web_notify_upgrade/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 Notify Upgrade ================== @@ -7,13 +11,13 @@ Web Notify Upgrade !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:2eb8752f0e8e35c9d1a164c644532665c2ea80d249dc3a430df2c6579fbdfae1 + !! source digest: sha256:c19c68174a60ed18be65dbd1dd4464927509139187f14f42a4c378d48d73312b !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |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 @@ -64,9 +68,9 @@ Authors Contributors ------------ -- `Akretion `__: +- `Akretion `__: - - Florian Mounier + - Florian Mounier Maintainers ----------- diff --git a/web_notify_upgrade/static/description/index.html b/web_notify_upgrade/static/description/index.html index 6270b0935a02..c9af547f9785 100644 --- a/web_notify_upgrade/static/description/index.html +++ b/web_notify_upgrade/static/description/index.html @@ -3,7 +3,7 @@ -Web Notify Upgrade +README.rst -
    -

    Web Notify Upgrade

    +
    + + +Odoo Community Association + +
    +

    Web Notify Upgrade

    -

    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 module uses web_notify send a notification to every active users whenever a module has been installed or upgraded.

    The notification will ask the user to refresh the page to get the latest @@ -388,7 +393,7 @@

    Web Notify Upgrade

-

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 @@ -396,15 +401,15 @@

Bug Tracker

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

-

Credits

+

Credits

-

Authors

+

Authors

  • Akretion
-

Contributors

+

Contributors

-

Maintainers

+

Maintainers

This module is maintained by the OCA.

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

Maintainers

+ From ec61a849eb0bf961044e27cde5f66f7f95559a83 Mon Sep 17 00:00:00 2001 From: Matjaz Mozetic Date: Sat, 6 Jun 2026 11:59:54 +0000 Subject: [PATCH 11/19] Added translation using Weblate (Slovenian) --- web_notify_upgrade/i18n/sl.po | 39 +++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 web_notify_upgrade/i18n/sl.po diff --git a/web_notify_upgrade/i18n/sl.po b/web_notify_upgrade/i18n/sl.po new file mode 100644 index 000000000000..3197a089305a --- /dev/null +++ b/web_notify_upgrade/i18n/sl.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_notify_upgrade +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3;\n" + +#. module: web_notify_upgrade +#: model:ir.model,name:web_notify_upgrade.model_ir_model_data +msgid "Model Data" +msgstr "" + +#. module: web_notify_upgrade +#. odoo-python +#: code:addons/web_notify_upgrade/models/ir_model.py:0 +msgid "Reload" +msgstr "" + +#. module: web_notify_upgrade +#. odoo-python +#: code:addons/web_notify_upgrade/models/ir_model.py:0 +msgid "Upgrade Notification" +msgstr "" + +#. module: web_notify_upgrade +#. odoo-python +#: code:addons/web_notify_upgrade/models/ir_model.py:0 +msgid "Your odoo instance has been upgraded, please reload the web page." +msgstr "" From 998e5f0c8170abcc2bd3373d3ec720cb62ab1496 Mon Sep 17 00:00:00 2001 From: Matjaz Mozetic Date: Sat, 6 Jun 2026 12:00:45 +0000 Subject: [PATCH 12/19] Translated using Weblate (Slovenian) Currently translated at 100.0% (4 of 4 strings) Translation: web-18.0/web-18.0-web_notify_upgrade Translate-URL: https://translation.odoo-community.org/projects/web-18-0/web-18-0-web_notify_upgrade/sl/ --- web_notify_upgrade/i18n/sl.po | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/web_notify_upgrade/i18n/sl.po b/web_notify_upgrade/i18n/sl.po index 3197a089305a..f2db0f7dc01e 100644 --- a/web_notify_upgrade/i18n/sl.po +++ b/web_notify_upgrade/i18n/sl.po @@ -6,7 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 18.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2026-06-06 12:01+0000\n" +"Last-Translator: Matjaz Mozetic \n" "Language-Team: none\n" "Language: sl\n" "MIME-Version: 1.0\n" @@ -14,26 +15,28 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " "n%100==4 ? 2 : 3;\n" +"X-Generator: Weblate 5.15.2\n" #. module: web_notify_upgrade #: model:ir.model,name:web_notify_upgrade.model_ir_model_data msgid "Model Data" -msgstr "" +msgstr "Podatki modela" #. module: web_notify_upgrade #. odoo-python #: code:addons/web_notify_upgrade/models/ir_model.py:0 msgid "Reload" -msgstr "" +msgstr "Ponovno naloži" #. module: web_notify_upgrade #. odoo-python #: code:addons/web_notify_upgrade/models/ir_model.py:0 msgid "Upgrade Notification" -msgstr "" +msgstr "Obvestilo o nadgradnji" #. module: web_notify_upgrade #. odoo-python #: code:addons/web_notify_upgrade/models/ir_model.py:0 msgid "Your odoo instance has been upgraded, please reload the web page." msgstr "" +"Vaša instanca Odoo je bila posodobljena, prosimo, osvežite spletno stran." From 5d89ece991ee3d1f2e3118f65023dc9d89e0e32e Mon Sep 17 00:00:00 2001 From: Zina Rasoamanana Date: Mon, 14 Sep 2026 08:46:05 +0200 Subject: [PATCH 13/19] [IMP] web_notify_upgrade: auto fixes --- web_notify_upgrade/README.rst | 16 ++++++++-------- web_notify_upgrade/__manifest__.py | 2 +- web_notify_upgrade/static/description/index.html | 8 ++++---- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/web_notify_upgrade/README.rst b/web_notify_upgrade/README.rst index 09e5d119f152..1c508b3ed8da 100644 --- a/web_notify_upgrade/README.rst +++ b/web_notify_upgrade/README.rst @@ -21,13 +21,13 @@ Web Notify Upgrade :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/18.0/web_notify_upgrade + :target: https://github.com/OCA/web/tree/19.0/web_notify_upgrade :alt: OCA/web .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/web-18-0/web-18-0-web_notify_upgrade + :target: https://translation.odoo-community.org/projects/web-19-0/web-19-0-web_notify_upgrade :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=18.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=19.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -40,7 +40,7 @@ changes. |image1| -.. |image1| image:: https://raw.githubusercontent.com/OCA/web/18.0/web_notify_upgrade/static/description/notify.png +.. |image1| image:: https://raw.githubusercontent.com/OCA/web/19.0/web_notify_upgrade/static/description/notify.png **Table of contents** @@ -53,7 +53,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. @@ -68,9 +68,9 @@ Authors Contributors ------------ -- `Akretion `__: +- `Akretion `__: - - Florian Mounier + - Florian Mounier Maintainers ----------- @@ -85,6 +85,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_notify_upgrade/__manifest__.py b/web_notify_upgrade/__manifest__.py index 4b38b46129e5..2d393a049f33 100644 --- a/web_notify_upgrade/__manifest__.py +++ b/web_notify_upgrade/__manifest__.py @@ -5,7 +5,7 @@ { "name": "Web Notify Upgrade", "summary": "Notify active users when a module is installed or updated", - "version": "18.0.1.0.0", + "version": "19.0.1.0.0", "license": "AGPL-3", "depends": ["web_notify"], "author": "Akretion, Odoo Community Association (OCA)", diff --git a/web_notify_upgrade/static/description/index.html b/web_notify_upgrade/static/description/index.html index c9af547f9785..e96502f770cc 100644 --- a/web_notify_upgrade/static/description/index.html +++ b/web_notify_upgrade/static/description/index.html @@ -374,12 +374,12 @@

Web Notify Upgrade

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:c19c68174a60ed18be65dbd1dd4464927509139187f14f42a4c378d48d73312b !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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 module uses web_notify send a notification to every active users whenever a module has been installed or upgraded.

The notification will ask the user to refresh the page to get the latest changes.

-

image1

+

image1

Table of contents

    @@ -397,7 +397,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.

@@ -426,7 +426,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.

From 38973b54e84792174fc36c88b4f9c74cc3f64a0a Mon Sep 17 00:00:00 2001 From: Zina Rasoamanana Date: Mon, 14 Sep 2026 08:46:47 +0200 Subject: [PATCH 14/19] [MIG] web_notify_upgrade: Migration to 19.0 --- web_notify_upgrade/models/ir_model.py | 35 +++++++++++++++++---------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/web_notify_upgrade/models/ir_model.py b/web_notify_upgrade/models/ir_model.py index fdb4e5509290..f975223a377a 100644 --- a/web_notify_upgrade/models/ir_model.py +++ b/web_notify_upgrade/models/ir_model.py @@ -3,9 +3,9 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). import logging -from odoo import _, api, models +from odoo import api, models -from odoo.addons.bus.models.bus_presence import AWAY_TIMER, DISCONNECTION_TIMER +from odoo.addons.mail.models.mail_presence import AWAY_TIMER, DISCONNECTION_TIMER _logger = logging.getLogger(__name__) @@ -36,7 +36,7 @@ def _get_active_users_to_notify_of_upgrade(self): self.env.cr.execute( """ SELECT user_id - FROM bus_presence + FROM mail_presence WHERE last_poll is not null AND ( age(now() AT TIME ZONE 'UTC', last_poll) < interval %s @@ -49,13 +49,22 @@ def _get_active_users_to_notify_of_upgrade(self): def _get_upgrade_notification_params(self): """Return the parameters to pass to the notify_info method.""" - return dict( - message=_( - "Your odoo instance has been upgraded, " "please reload the web page." - ) - + "
" - '", - title=_("Upgrade Notification"), - sticky=True, - ) + action = { + "type": "ir.actions.client", + "tag": "reload", + "context": { + "params": { + "button_name": self.env._("Reload"), + "button_icon": "fa-refresh", + } + }, + } + + return { + "message": self.env._( + "Your odoo instance has been upgraded, please reload the web page." + ), + "action": action, + "title": self.env._("Upgrade Notification"), + "sticky": True, + } From bf34dd3014d27727380160607fca0e5acbde0272 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Fri, 18 Sep 2026 11:11:11 +0000 Subject: [PATCH 15/19] [UPD] Update web_notify_upgrade.pot --- web_notify_upgrade/i18n/web_notify_upgrade.pot | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/web_notify_upgrade/i18n/web_notify_upgrade.pot b/web_notify_upgrade/i18n/web_notify_upgrade.pot index 68c79cfebbe9..fa3c22c18b5f 100644 --- a/web_notify_upgrade/i18n/web_notify_upgrade.pot +++ b/web_notify_upgrade/i18n/web_notify_upgrade.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 18.0\n" +"Project-Id-Version: Odoo Server 19.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,6 +13,16 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: web_notify_upgrade +#: model:ir.model.fields,field_description:web_notify_upgrade.field_ir_model_data__display_name +msgid "Display Name" +msgstr "" + +#. module: web_notify_upgrade +#: model:ir.model.fields,field_description:web_notify_upgrade.field_ir_model_data__id +msgid "ID" +msgstr "" + #. module: web_notify_upgrade #: model:ir.model,name:web_notify_upgrade.model_ir_model_data msgid "Model Data" From d3748a6ea5fbe4c9c59b78f12ad51186ca70f608 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 18 Sep 2026 11:15:20 +0000 Subject: [PATCH 16/19] [BOT] post-merge updates --- README.md | 1 + setup/_metapackage/pyproject.toml | 3 ++- web_notify_upgrade/README.rst | 6 +++--- web_notify_upgrade/static/description/index.html | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 0efce8e5d7ca..8ecaa95ebc07 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ addon | version | maintainers | summary [web_m2x_options_manager](web_m2x_options_manager/) | 19.0.1.0.0 | | Adds an interface to manage the "Create" and "Create and Edit" options for specific models and fields. [web_no_bubble](web_no_bubble/) | 19.0.1.0.0 | | Remove the bubbles from the web interface [web_notify](web_notify/) | 19.0.1.0.1 | | Send notification messages to user +[web_notify_upgrade](web_notify_upgrade/) | 19.0.1.0.0 | | Notify active users when a module is installed or updated [web_pwa_customize](web_pwa_customize/) | 19.0.1.0.0 | victoralmau | Web Pwa Customize [web_quick_start_screen](web_quick_start_screen/) | 19.0.1.0.0 | | Configurable start screen for quick actions [web_refresher](web_refresher/) | 19.0.1.0.0 | | Web Refresher diff --git a/setup/_metapackage/pyproject.toml b/setup/_metapackage/pyproject.toml index 93d786869a93..8e896cc9bbec 100644 --- a/setup/_metapackage/pyproject.toml +++ b/setup/_metapackage/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "odoo-addons-oca-web" -version = "19.0.20260907.0" +version = "19.0.20260918.0" dependencies = [ "odoo-addon-web_calendar_slot_duration==19.0.*", "odoo-addon-web_chatter_position==19.0.*", @@ -19,6 +19,7 @@ dependencies = [ "odoo-addon-web_m2x_options_manager==19.0.*", "odoo-addon-web_no_bubble==19.0.*", "odoo-addon-web_notify==19.0.*", + "odoo-addon-web_notify_upgrade==19.0.*", "odoo-addon-web_pwa_customize==19.0.*", "odoo-addon-web_quick_start_screen==19.0.*", "odoo-addon-web_refresher==19.0.*", diff --git a/web_notify_upgrade/README.rst b/web_notify_upgrade/README.rst index 1c508b3ed8da..eb1aafc7565a 100644 --- a/web_notify_upgrade/README.rst +++ b/web_notify_upgrade/README.rst @@ -11,7 +11,7 @@ Web Notify Upgrade !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:c19c68174a60ed18be65dbd1dd4464927509139187f14f42a4c378d48d73312b + !! source digest: sha256:5777a86527e7775fedbf066fb9dd07c9b2fd3c0b7604448614c99ecef1a953a2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png @@ -68,9 +68,9 @@ Authors Contributors ------------ -- `Akretion `__: +- `Akretion `__: - - Florian Mounier + - Florian Mounier Maintainers ----------- diff --git a/web_notify_upgrade/static/description/index.html b/web_notify_upgrade/static/description/index.html index e96502f770cc..cebeaa2aceb4 100644 --- a/web_notify_upgrade/static/description/index.html +++ b/web_notify_upgrade/static/description/index.html @@ -372,7 +372,7 @@

Web Notify Upgrade

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:c19c68174a60ed18be65dbd1dd4464927509139187f14f42a4c378d48d73312b +!! source digest: sha256:5777a86527e7775fedbf066fb9dd07c9b2fd3c0b7604448614c99ecef1a953a2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

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

This module uses web_notify send a notification to every active users From c7288b622ae51a3a4b0031ddbbe03fb1715fe3c8 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Tue, 22 Sep 2026 11:16:53 +0000 Subject: [PATCH 17/19] [UPD] Update web_search_deactivate_autosearch.pot --- .../i18n/web_search_deactivate_autosearch.pot | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 web_search_deactivate_autosearch/i18n/web_search_deactivate_autosearch.pot diff --git a/web_search_deactivate_autosearch/i18n/web_search_deactivate_autosearch.pot b/web_search_deactivate_autosearch/i18n/web_search_deactivate_autosearch.pot new file mode 100644 index 000000000000..023784ecae01 --- /dev/null +++ b/web_search_deactivate_autosearch/i18n/web_search_deactivate_autosearch.pot @@ -0,0 +1,20 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_search_deactivate_autosearch +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 19.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_search_deactivate_autosearch +#. odoo-javascript +#: code:addons/web_search_deactivate_autosearch/static/src/search/search_bar/search_bar.xml:0 +msgid "Auto search" +msgstr "" From 0b9d7d34eef73df47a7a179386b4b72b46cb6515 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 22 Sep 2026 11:37:59 +0000 Subject: [PATCH 18/19] [BOT] post-merge updates --- README.md | 2 +- setup/_metapackage/pyproject.toml | 3 ++- web_search_deactivate_autosearch/README.rst | 2 +- web_search_deactivate_autosearch/static/description/index.html | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 6f343cc63677..1e2b05cb8955 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ addon | version | maintainers | summary [web_refresher](web_refresher/) | 19.0.1.0.0 | | Web Refresher [web_remember_tree_column_width](web_remember_tree_column_width/) | 19.0.1.0.0 | frahikLV luisg123v cuongnmtm | Remember the tree columns' widths across sessions. [web_responsive](web_responsive/) | 19.0.1.1.0 | Tardo SplashS | Responsive web client, community-supported -[web_search_deactivate_autosearch](web_search_deactivate_autosearch/) | 19.0.1.0.0 | | Allow user to deactivate autosearch to add multiple filters +[web_search_deactivate_autosearch](web_search_deactivate_autosearch/) | 19.0.1.0.0 | samirGuesmi AnizR | Allow user to deactivate autosearch to add multiple filters [web_search_with_and](web_search_with_and/) | 19.0.1.0.0 | | Use AND conditions on omnibar search [web_timeline](web_timeline/) | 19.0.1.0.0 | | Interactive visualization chart to show events in time [web_tree_many2one_clickable](web_tree_many2one_clickable/) | 19.0.1.0.0 | | Open the linked resource when clicking on their name diff --git a/setup/_metapackage/pyproject.toml b/setup/_metapackage/pyproject.toml index 8e896cc9bbec..3b235044c2f0 100644 --- a/setup/_metapackage/pyproject.toml +++ b/setup/_metapackage/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "odoo-addons-oca-web" -version = "19.0.20260918.0" +version = "19.0.20260922.0" dependencies = [ "odoo-addon-web_calendar_slot_duration==19.0.*", "odoo-addon-web_chatter_position==19.0.*", @@ -25,6 +25,7 @@ dependencies = [ "odoo-addon-web_refresher==19.0.*", "odoo-addon-web_remember_tree_column_width==19.0.*", "odoo-addon-web_responsive==19.0.*", + "odoo-addon-web_search_deactivate_autosearch==19.0.*", "odoo-addon-web_search_with_and==19.0.*", "odoo-addon-web_timeline==19.0.*", "odoo-addon-web_tree_many2one_clickable==19.0.*", diff --git a/web_search_deactivate_autosearch/README.rst b/web_search_deactivate_autosearch/README.rst index 7e979ac965a1..30cfa3252d03 100644 --- a/web_search_deactivate_autosearch/README.rst +++ b/web_search_deactivate_autosearch/README.rst @@ -11,7 +11,7 @@ Web Search Deactivate Autosearch !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:890d01a081f35054fe4f795b257312afa76dd9fe89c1a9e3b8a13d99c70685c1 + !! source digest: sha256:d9bf9512061265d595cec81d81fde6964f744374a1d4873b4aebd87e25a82b11 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/web_search_deactivate_autosearch/static/description/index.html b/web_search_deactivate_autosearch/static/description/index.html index 818de0769240..d78c3cec1dfc 100644 --- a/web_search_deactivate_autosearch/static/description/index.html +++ b/web_search_deactivate_autosearch/static/description/index.html @@ -372,7 +372,7 @@

Web Search Deactivate Autosearch

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:890d01a081f35054fe4f795b257312afa76dd9fe89c1a9e3b8a13d99c70685c1 +!! source digest: sha256:d9bf9512061265d595cec81d81fde6964f744374a1d4873b4aebd87e25a82b11 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

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

By default, Odoo triggers a new search every time you add or remove a From d140b3177406a65d10211cbfc3307e8f72026891 Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 23 Sep 2026 06:51:36 +0000 Subject: [PATCH 19/19] Added translation using Weblate (Italian) --- web_search_deactivate_autosearch/i18n/it.po | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 web_search_deactivate_autosearch/i18n/it.po diff --git a/web_search_deactivate_autosearch/i18n/it.po b/web_search_deactivate_autosearch/i18n/it.po new file mode 100644 index 000000000000..9e90695283eb --- /dev/null +++ b/web_search_deactivate_autosearch/i18n/it.po @@ -0,0 +1,21 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_search_deactivate_autosearch +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 19.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: web_search_deactivate_autosearch +#. odoo-javascript +#: code:addons/web_search_deactivate_autosearch/static/src/search/search_bar/search_bar.xml:0 +msgid "Auto search" +msgstr ""