From d233a2327ff7dc6a4229127e09dcc22d6e8b310d Mon Sep 17 00:00:00 2001
From: Thomas Binsfeld
Date: Mon, 4 Mar 2024 11:21:27 +0100
Subject: [PATCH 1/5] [ADD] queue_job_web_notify: send web notifications from
queue jobs This module extends the mail notification feature of Queue Job. It
adds the possibility to enable the web notification of failed jobs. When
enabled, the user will be notified by a web notification. The web
notification is a pop-up message that appears in the user's browser.
---
queue_job_web_notify/__init__.py | 1 +
queue_job_web_notify/__manifest__.py | 21 +++++++++
queue_job_web_notify/i18n/fr.po | 42 ++++++++++++++++++
.../i18n/queue_job_web_notify.pot | 42 ++++++++++++++++++
queue_job_web_notify/models/__init__.py | 2 +
queue_job_web_notify/models/queue_job.py | 28 ++++++++++++
.../models/queue_job_function.py | 14 ++++++
queue_job_web_notify/readme/CONFIGURE.md | 4 ++
queue_job_web_notify/readme/CONTEXT.md | 2 +
queue_job_web_notify/readme/CONTRIBUTORS.md | 1 +
queue_job_web_notify/readme/DESCRIPTION.md | 4 ++
queue_job_web_notify/readme/ROADMAP.md | 2 +
queue_job_web_notify/readme/USAGE.md | 4 ++
.../static/description/icon.png | Bin 0 -> 9455 bytes
.../views/queue_job_function.xml | 16 +++++++
15 files changed, 183 insertions(+)
create mode 100644 queue_job_web_notify/__init__.py
create mode 100644 queue_job_web_notify/__manifest__.py
create mode 100644 queue_job_web_notify/i18n/fr.po
create mode 100644 queue_job_web_notify/i18n/queue_job_web_notify.pot
create mode 100644 queue_job_web_notify/models/__init__.py
create mode 100644 queue_job_web_notify/models/queue_job.py
create mode 100644 queue_job_web_notify/models/queue_job_function.py
create mode 100644 queue_job_web_notify/readme/CONFIGURE.md
create mode 100644 queue_job_web_notify/readme/CONTEXT.md
create mode 100644 queue_job_web_notify/readme/CONTRIBUTORS.md
create mode 100644 queue_job_web_notify/readme/DESCRIPTION.md
create mode 100644 queue_job_web_notify/readme/ROADMAP.md
create mode 100644 queue_job_web_notify/readme/USAGE.md
create mode 100644 queue_job_web_notify/static/description/icon.png
create mode 100644 queue_job_web_notify/views/queue_job_function.xml
diff --git a/queue_job_web_notify/__init__.py b/queue_job_web_notify/__init__.py
new file mode 100644
index 0000000000..0650744f6b
--- /dev/null
+++ b/queue_job_web_notify/__init__.py
@@ -0,0 +1 @@
+from . import models
diff --git a/queue_job_web_notify/__manifest__.py b/queue_job_web_notify/__manifest__.py
new file mode 100644
index 0000000000..cb5ed97ec7
--- /dev/null
+++ b/queue_job_web_notify/__manifest__.py
@@ -0,0 +1,21 @@
+# Copyright 2024 ACSONE SA/NV,Odoo Community Association (OCA)
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+{
+ "name": "Queue Job Web Notify",
+ "summary": """
+ This module allows to display a notification to the related user of a
+ failed job. It uses the web_notify notification feature.""",
+ "version": "13.0.1.0.0",
+ "author": "ACSONE SA/NV,Odoo Community Association (OCA)",
+ "website": "https://github.com/OCA/queue",
+ "license": "AGPL-3",
+ "category": "Generic Modules",
+ "depends": [
+ # OCA/queue
+ "queue_job",
+ # OCA/web
+ "web_notify",
+ ],
+ "data": ["views/queue_job_function.xml"],
+}
diff --git a/queue_job_web_notify/i18n/fr.po b/queue_job_web_notify/i18n/fr.po
new file mode 100644
index 0000000000..13de6298c5
--- /dev/null
+++ b/queue_job_web_notify/i18n/fr.po
@@ -0,0 +1,42 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * queue_job_web_notify
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 13.0+e\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2024-03-04 13:47+0000\n"
+"PO-Revision-Date: 2024-03-04 13:47+0000\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: queue_job_web_notify
+#: model:ir.model.fields,help:queue_job_web_notify.field_queue_job_function__is_web_notify_failure_enabled
+msgid "Display a notification in the user interface when the job fails."
+msgstr "Affiche une notification dans l'interface utilisateur lorsque le job échoue."
+
+#. module: queue_job_web_notify
+#: model:ir.model,name:queue_job_web_notify.model_queue_job_function
+msgid "Job Functions"
+msgstr ""
+
+#. module: queue_job_web_notify
+#: code:addons/queue_job_web_notify/models/queue_job.py:0
+#, python-format
+msgid "Job failed"
+msgstr "Job échoué"
+
+#. module: queue_job_web_notify
+#: model:ir.model.fields,field_description:queue_job_web_notify.field_queue_job_function__is_web_notify_failure_enabled
+msgid "Notify on failure"
+msgstr "Notifier en cas d'échec"
+
+#. module: queue_job_web_notify
+#: model:ir.model,name:queue_job_web_notify.model_queue_job
+msgid "Queue Job"
+msgstr ""
diff --git a/queue_job_web_notify/i18n/queue_job_web_notify.pot b/queue_job_web_notify/i18n/queue_job_web_notify.pot
new file mode 100644
index 0000000000..9995eb0067
--- /dev/null
+++ b/queue_job_web_notify/i18n/queue_job_web_notify.pot
@@ -0,0 +1,42 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * queue_job_web_notify
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 13.0+e\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2024-03-04 13:47+0000\n"
+"PO-Revision-Date: 2024-03-04 13:47+0000\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: queue_job_web_notify
+#: model:ir.model.fields,help:queue_job_web_notify.field_queue_job_function__is_web_notify_failure_enabled
+msgid "Display a notification in the user interface when the job fails."
+msgstr ""
+
+#. module: queue_job_web_notify
+#: model:ir.model,name:queue_job_web_notify.model_queue_job_function
+msgid "Job Functions"
+msgstr ""
+
+#. module: queue_job_web_notify
+#: code:addons/queue_job_web_notify/models/queue_job.py:0
+#, python-format
+msgid "Job failed"
+msgstr ""
+
+#. module: queue_job_web_notify
+#: model:ir.model.fields,field_description:queue_job_web_notify.field_queue_job_function__is_web_notify_failure_enabled
+msgid "Notify on failure"
+msgstr ""
+
+#. module: queue_job_web_notify
+#: model:ir.model,name:queue_job_web_notify.model_queue_job
+msgid "Queue Job"
+msgstr ""
diff --git a/queue_job_web_notify/models/__init__.py b/queue_job_web_notify/models/__init__.py
new file mode 100644
index 0000000000..2cf4503488
--- /dev/null
+++ b/queue_job_web_notify/models/__init__.py
@@ -0,0 +1,2 @@
+from . import queue_job_function
+from . import queue_job
diff --git a/queue_job_web_notify/models/queue_job.py b/queue_job_web_notify/models/queue_job.py
new file mode 100644
index 0000000000..0f2d5e8a81
--- /dev/null
+++ b/queue_job_web_notify/models/queue_job.py
@@ -0,0 +1,28 @@
+# Copyright 2024 ACSONE SA/NV
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+from odoo import _, models
+
+
+class QueueJob(models.Model):
+ _inherit = "queue.job"
+
+ def _get_web_notify_failure_title(self):
+ self.ensure_one()
+ return _("Job failed")
+
+ def _get_web_notify_failure_message(self):
+ self.ensure_one()
+ return self.display_name
+
+ def _message_post_on_failure(self):
+ res = super()._message_post_on_failure()
+ for job in self:
+ if not job.job_function_id.is_web_notify_failure_enabled:
+ continue
+ notification_title = job._get_web_notify_failure_title()
+ notification_message = job._get_web_notify_failure_message()
+ job.user_id.notify_danger(
+ message=notification_message, title=notification_title, sticky=True
+ )
+ return res
diff --git a/queue_job_web_notify/models/queue_job_function.py b/queue_job_web_notify/models/queue_job_function.py
new file mode 100644
index 0000000000..5633d1e46c
--- /dev/null
+++ b/queue_job_web_notify/models/queue_job_function.py
@@ -0,0 +1,14 @@
+# Copyright 2024 ACSONE SA/NV
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+from odoo import fields, models
+
+
+class QueueJobFunction(models.Model):
+ _inherit = "queue.job.function"
+
+ is_web_notify_failure_enabled = fields.Boolean(
+ string="Notify on failure",
+ help="Display a notification in the user interface when the job fails.",
+ default=False,
+ )
diff --git a/queue_job_web_notify/readme/CONFIGURE.md b/queue_job_web_notify/readme/CONFIGURE.md
new file mode 100644
index 0000000000..9c322159df
--- /dev/null
+++ b/queue_job_web_notify/readme/CONFIGURE.md
@@ -0,0 +1,4 @@
+To configure this module, you need to:
+
+- Go to the list of queue job functions
+- Enable the web notify feature
diff --git a/queue_job_web_notify/readme/CONTEXT.md b/queue_job_web_notify/readme/CONTEXT.md
new file mode 100644
index 0000000000..75f4b9e2d6
--- /dev/null
+++ b/queue_job_web_notify/readme/CONTEXT.md
@@ -0,0 +1,2 @@
+The notification feature of this module allows the user to get a immediate feedback
+about the status of the job.
diff --git a/queue_job_web_notify/readme/CONTRIBUTORS.md b/queue_job_web_notify/readme/CONTRIBUTORS.md
new file mode 100644
index 0000000000..4b887b3c43
--- /dev/null
+++ b/queue_job_web_notify/readme/CONTRIBUTORS.md
@@ -0,0 +1 @@
+- Thomas Binsfeld (https://www.acsone.eu/)
diff --git a/queue_job_web_notify/readme/DESCRIPTION.md b/queue_job_web_notify/readme/DESCRIPTION.md
new file mode 100644
index 0000000000..8f1dbc70c0
--- /dev/null
+++ b/queue_job_web_notify/readme/DESCRIPTION.md
@@ -0,0 +1,4 @@
+This module extends the mail notification feature of Queue Job. It adds the possibility
+to enable the web notification of failed jobs. When enabled, the user will be notified
+by a web notification. The web notification is a pop-up message that appears in the
+user's browser.
diff --git a/queue_job_web_notify/readme/ROADMAP.md b/queue_job_web_notify/readme/ROADMAP.md
new file mode 100644
index 0000000000..86a295f402
--- /dev/null
+++ b/queue_job_web_notify/readme/ROADMAP.md
@@ -0,0 +1,2 @@
+- other notification contexts could be added (job started, job finished, job canceled,
+ etc.)
diff --git a/queue_job_web_notify/readme/USAGE.md b/queue_job_web_notify/readme/USAGE.md
new file mode 100644
index 0000000000..969cf2e8ec
--- /dev/null
+++ b/queue_job_web_notify/readme/USAGE.md
@@ -0,0 +1,4 @@
+To only usage of this module is its configuration:
+
+- Go to the list of queue job functions
+- Enable the web notify feature
diff --git a/queue_job_web_notify/static/description/icon.png b/queue_job_web_notify/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/queue_job_web_notify/views/queue_job_function.xml b/queue_job_web_notify/views/queue_job_function.xml
new file mode 100644
index 0000000000..7940f58603
--- /dev/null
+++ b/queue_job_web_notify/views/queue_job_function.xml
@@ -0,0 +1,16 @@
+
+
+
+
+ queue.job.function
+
+
+
+
+
+
+
+
+
+
From ced4267499498d68dc434ce87c15b7e27058d961 Mon Sep 17 00:00:00 2001
From: oca-ci
Date: Thu, 4 Apr 2024 06:53:16 +0000
Subject: [PATCH 2/5] [UPD] Update queue_job_web_notify.pot
---
queue_job_web_notify/i18n/queue_job_web_notify.pot | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/queue_job_web_notify/i18n/queue_job_web_notify.pot b/queue_job_web_notify/i18n/queue_job_web_notify.pot
index 9995eb0067..5bc8e5e059 100644
--- a/queue_job_web_notify/i18n/queue_job_web_notify.pot
+++ b/queue_job_web_notify/i18n/queue_job_web_notify.pot
@@ -4,10 +4,8 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 13.0+e\n"
+"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-03-04 13:47+0000\n"
-"PO-Revision-Date: 2024-03-04 13:47+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
From f515a9b260fb7086a662bda2c3b6e2e3d774c0c8 Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Thu, 4 Apr 2024 06:55:26 +0000
Subject: [PATCH 3/5] [BOT] post-merge updates
---
queue_job_web_notify/README.rst | 107 ++++
.../static/description/index.html | 455 ++++++++++++++++++
2 files changed, 562 insertions(+)
create mode 100644 queue_job_web_notify/README.rst
create mode 100644 queue_job_web_notify/static/description/index.html
diff --git a/queue_job_web_notify/README.rst b/queue_job_web_notify/README.rst
new file mode 100644
index 0000000000..b36310b9c2
--- /dev/null
+++ b/queue_job_web_notify/README.rst
@@ -0,0 +1,107 @@
+====================
+Queue Job Web Notify
+====================
+
+..
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! This file is generated by oca-gen-addon-readme !!
+ !! changes will be overwritten. !!
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! source digest: sha256:5323f093bbd847963317ba481fa1b5e7cf038371945dd75145ebc6d72af59e41
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+.. |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%2Fqueue-lightgray.png?logo=github
+ :target: https://github.com/OCA/queue/tree/13.0/queue_job_web_notify
+ :alt: OCA/queue
+.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
+ :target: https://translation.odoo-community.org/projects/queue-13-0/queue-13-0-queue_job_web_notify
+ :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/queue&target_branch=13.0
+ :alt: Try me on Runboat
+
+|badge1| |badge2| |badge3| |badge4| |badge5|
+
+This module extends the mail notification feature of Queue Job. It adds
+the possibility to enable the web notification of failed jobs. When
+enabled, the user will be notified by a web notification. The web
+notification is a pop-up message that appears in the user's browser.
+
+**Table of contents**
+
+.. contents::
+ :local:
+
+Use Cases / Context
+===================
+
+The notification feature of this module allows the user to get a
+immediate feedback about the status of the job.
+
+Configuration
+=============
+
+To configure this module, you need to:
+
+- Go to the list of queue job functions
+- Enable the web notify feature
+
+Usage
+=====
+
+To only usage of this module is its configuration:
+
+- Go to the list of queue job functions
+- Enable the web notify feature
+
+Known issues / Roadmap
+======================
+
+- other notification contexts could be added (job started, job
+ finished, job canceled, etc.)
+
+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
+------------
+
+- Thomas Binsfeld thomas.binsfeld@acsone.eu (https://www.acsone.eu/)
+
+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/queue `_ project on GitHub.
+
+You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/queue_job_web_notify/static/description/index.html b/queue_job_web_notify/static/description/index.html
new file mode 100644
index 0000000000..50cab7f631
--- /dev/null
+++ b/queue_job_web_notify/static/description/index.html
@@ -0,0 +1,455 @@
+
+
+
+
+
+Queue Job Web Notify
+
+
+
+
+
Queue Job Web Notify
+
+
+
+
This module extends the mail notification feature of Queue Job. It adds
+the possibility to enable the web notification of failed jobs. When
+enabled, the user will be notified by a web notification. The web
+notification is a pop-up message that appears in the user’s browser.
+
Table of contents
+
+
+
+
The notification feature of this module allows the user to get a
+immediate feedback about the status of the job.
+
+
+
+
To configure this module, you need to:
+
+- Go to the list of queue job functions
+- Enable the web notify feature
+
+
+
+
+
To only usage of this module is its configuration:
+
+- Go to the list of queue job functions
+- Enable the web notify feature
+
+
+
+
+
+- other notification contexts could be added (job started, job
+finished, job canceled, etc.)
+
+
+
+
+
Bugs are tracked on GitHub Issues.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us to smash it by providing a detailed and welcomed
+feedback.
+
Do not contact contributors directly about support or help with technical issues.
+
+
+
+
+
+
+
+
This module is maintained by the OCA.
+
+
OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
+
This module is part of the OCA/queue project on GitHub.
+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
+
+
+
+
+
From 67965421161ec24c71987ef58259f14355eeb702 Mon Sep 17 00:00:00 2001
From: Maxime Franco
Date: Mon, 1 Jul 2024 10:42:47 +0200
Subject: [PATCH 4/5] [IMP] queue_job_web_notify: pre-commit stuff
---
setup/queue_job_web_notify/odoo/addons/queue_job_web_notify | 1 +
setup/queue_job_web_notify/setup.py | 6 ++++++
2 files changed, 7 insertions(+)
create mode 120000 setup/queue_job_web_notify/odoo/addons/queue_job_web_notify
create mode 100644 setup/queue_job_web_notify/setup.py
diff --git a/setup/queue_job_web_notify/odoo/addons/queue_job_web_notify b/setup/queue_job_web_notify/odoo/addons/queue_job_web_notify
new file mode 120000
index 0000000000..eecc30dc05
--- /dev/null
+++ b/setup/queue_job_web_notify/odoo/addons/queue_job_web_notify
@@ -0,0 +1 @@
+../../../../queue_job_web_notify
\ No newline at end of file
diff --git a/setup/queue_job_web_notify/setup.py b/setup/queue_job_web_notify/setup.py
new file mode 100644
index 0000000000..28c57bb640
--- /dev/null
+++ b/setup/queue_job_web_notify/setup.py
@@ -0,0 +1,6 @@
+import setuptools
+
+setuptools.setup(
+ setup_requires=['setuptools-odoo'],
+ odoo_addon=True,
+)
From 51fab7c9bd666c93cca2fb63211254aff925ac5b Mon Sep 17 00:00:00 2001
From: Maxime Franco
Date: Mon, 1 Jul 2024 10:54:52 +0200
Subject: [PATCH 5/5] [MIG] queue_job_web_notify: Migration to 14.0
---
queue_job_web_notify/README.rst | 11 ++++++-----
queue_job_web_notify/__manifest__.py | 2 +-
queue_job_web_notify/readme/CONTRIBUTORS.md | 1 +
.../static/description/index.html | 18 +++++++++++-------
4 files changed, 19 insertions(+), 13 deletions(-)
diff --git a/queue_job_web_notify/README.rst b/queue_job_web_notify/README.rst
index b36310b9c2..e384ee85a1 100644
--- a/queue_job_web_notify/README.rst
+++ b/queue_job_web_notify/README.rst
@@ -17,13 +17,13 @@ Queue Job Web Notify
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fqueue-lightgray.png?logo=github
- :target: https://github.com/OCA/queue/tree/13.0/queue_job_web_notify
+ :target: https://github.com/OCA/queue/tree/14.0/queue_job_web_notify
:alt: OCA/queue
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/queue-13-0/queue-13-0-queue_job_web_notify
+ :target: https://translation.odoo-community.org/projects/queue-14-0/queue-14-0-queue_job_web_notify
: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/queue&target_branch=13.0
+ :target: https://runboat.odoo-community.org/builds?repo=OCA/queue&target_branch=14.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -72,7 +72,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.
@@ -88,6 +88,7 @@ Contributors
------------
- Thomas Binsfeld thomas.binsfeld@acsone.eu (https://www.acsone.eu/)
+- Maxime Franco maxime.franco@acsone.eu (https://www.acsone.eu/)
Maintainers
-----------
@@ -102,6 +103,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/queue `_ project on GitHub.
+This module is part of the `OCA/queue `_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/queue_job_web_notify/__manifest__.py b/queue_job_web_notify/__manifest__.py
index cb5ed97ec7..2195ec5950 100644
--- a/queue_job_web_notify/__manifest__.py
+++ b/queue_job_web_notify/__manifest__.py
@@ -6,7 +6,7 @@
"summary": """
This module allows to display a notification to the related user of a
failed job. It uses the web_notify notification feature.""",
- "version": "13.0.1.0.0",
+ "version": "14.0.1.0.0",
"author": "ACSONE SA/NV,Odoo Community Association (OCA)",
"website": "https://github.com/OCA/queue",
"license": "AGPL-3",
diff --git a/queue_job_web_notify/readme/CONTRIBUTORS.md b/queue_job_web_notify/readme/CONTRIBUTORS.md
index 4b887b3c43..35e59105e3 100644
--- a/queue_job_web_notify/readme/CONTRIBUTORS.md
+++ b/queue_job_web_notify/readme/CONTRIBUTORS.md
@@ -1 +1,2 @@
- Thomas Binsfeld (https://www.acsone.eu/)
+- Maxime Franco (https://www.acsone.eu/)
diff --git a/queue_job_web_notify/static/description/index.html b/queue_job_web_notify/static/description/index.html
index 50cab7f631..4e716e3169 100644
--- a/queue_job_web_notify/static/description/index.html
+++ b/queue_job_web_notify/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 {
@@ -368,7 +369,7 @@ Queue Job Web Notify
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:5323f093bbd847963317ba481fa1b5e7cf038371945dd75145ebc6d72af59e41
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-
+
This module extends the mail notification feature of Queue Job. It adds
the possibility to enable the web notification of failed jobs. When
enabled, the user will be notified by a web notification. The web
@@ -422,7 +423,7 @@
Bugs are tracked on GitHub Issues.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
-feedback.
+feedback.
Do not contact contributors directly about support or help with technical issues.
This module is maintained by the OCA.
-
+
+
+
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-
This module is part of the OCA/queue project on GitHub.
+
This module is part of the OCA/queue project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.