From e17f2bd9a85d2ecc8fa3e0078e57f19cd34fd8ec Mon Sep 17 00:00:00 2001 From: Guewen Baconnier Date: Thu, 29 Oct 2020 09:04:43 +0100 Subject: [PATCH 01/34] Add ddmrp_cron_actions_as_job It makes calls to "cron_actions" run in queue jobs. The jobs have an identity key with "identity_exact", meaning that only one occurence of a job for the same buffer with the same arguments (only_nfp) will be created at a time (e.g. when the state of a stock.move is changed several times in the same transaction or in a different transaction in a short timeframe). It needs https://github.com/OCA/queue/pull/274 and https://github.com/OCA/queue/pull/275 --- ddmrp_cron_actions_as_job/__init__.py | 1 + ddmrp_cron_actions_as_job/__manifest__.py | 15 +++++ .../data/queue_job_channel_data.xml | 6 ++ .../data/queue_job_function_data.xml | 7 +++ ddmrp_cron_actions_as_job/models/__init__.py | 2 + .../models/stock_buffer.py | 51 +++++++++++++++++ .../models/stock_move.py | 13 +++++ .../readme/CONTRIBUTORS.rst | 1 + .../readme/DESCRIPTION.rst | 14 +++++ ddmrp_cron_actions_as_job/tests/__init__.py | 1 + .../tests/test_cron_actions_as_job.py | 56 +++++++++++++++++++ 11 files changed, 167 insertions(+) create mode 100644 ddmrp_cron_actions_as_job/__init__.py create mode 100644 ddmrp_cron_actions_as_job/__manifest__.py create mode 100644 ddmrp_cron_actions_as_job/data/queue_job_channel_data.xml create mode 100644 ddmrp_cron_actions_as_job/data/queue_job_function_data.xml create mode 100644 ddmrp_cron_actions_as_job/models/__init__.py create mode 100644 ddmrp_cron_actions_as_job/models/stock_buffer.py create mode 100644 ddmrp_cron_actions_as_job/models/stock_move.py create mode 100644 ddmrp_cron_actions_as_job/readme/CONTRIBUTORS.rst create mode 100644 ddmrp_cron_actions_as_job/readme/DESCRIPTION.rst create mode 100644 ddmrp_cron_actions_as_job/tests/__init__.py create mode 100644 ddmrp_cron_actions_as_job/tests/test_cron_actions_as_job.py diff --git a/ddmrp_cron_actions_as_job/__init__.py b/ddmrp_cron_actions_as_job/__init__.py new file mode 100644 index 000000000..0650744f6 --- /dev/null +++ b/ddmrp_cron_actions_as_job/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/ddmrp_cron_actions_as_job/__manifest__.py b/ddmrp_cron_actions_as_job/__manifest__.py new file mode 100644 index 000000000..b8b121772 --- /dev/null +++ b/ddmrp_cron_actions_as_job/__manifest__.py @@ -0,0 +1,15 @@ +# Copyright 2020 Camptocamp (https://www.camptocamp.com) +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +{ + "name": "DDMRP Buffer Calculation as job", + "version": "13.0.1.0.0", + "summary": "Run DDMRP Buffer Calculation as jobs", + "author": "Camptocamp, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/ddmrp", + "category": "Warehouse Management", + "depends": ["ddmrp", "queue_job"], + "data": ["data/queue_job_channel_data.xml", "data/queue_job_function_data.xml"], + "license": "LGPL-3", + "installable": True, +} diff --git a/ddmrp_cron_actions_as_job/data/queue_job_channel_data.xml b/ddmrp_cron_actions_as_job/data/queue_job_channel_data.xml new file mode 100644 index 000000000..b3053db8e --- /dev/null +++ b/ddmrp_cron_actions_as_job/data/queue_job_channel_data.xml @@ -0,0 +1,6 @@ + + + ddmrp + + + diff --git a/ddmrp_cron_actions_as_job/data/queue_job_function_data.xml b/ddmrp_cron_actions_as_job/data/queue_job_function_data.xml new file mode 100644 index 000000000..eb90f00f3 --- /dev/null +++ b/ddmrp_cron_actions_as_job/data/queue_job_function_data.xml @@ -0,0 +1,7 @@ + + + + cron_actions + + + diff --git a/ddmrp_cron_actions_as_job/models/__init__.py b/ddmrp_cron_actions_as_job/models/__init__.py new file mode 100644 index 000000000..911aa93ea --- /dev/null +++ b/ddmrp_cron_actions_as_job/models/__init__.py @@ -0,0 +1,2 @@ +from . import stock_buffer +from . import stock_move diff --git a/ddmrp_cron_actions_as_job/models/stock_buffer.py b/ddmrp_cron_actions_as_job/models/stock_buffer.py new file mode 100644 index 000000000..202ea0d99 --- /dev/null +++ b/ddmrp_cron_actions_as_job/models/stock_buffer.py @@ -0,0 +1,51 @@ +# Copyright 2020 Camptocamp (https://www.camptocamp.com) +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import models + +from odoo.addons.queue_job.job import identity_exact + + +class Buffer(models.Model): + _inherit = "stock.buffer" + + def cron_actions_job_options(self, only_nfp=False): + return { + "identity_key": identity_exact, + "priority": 15, + "description": "DDMRP Buffer calculation ({})".format(self.display_name), + } + + def _calc_adu_job_options(self): + return { + "identity_key": identity_exact, + "priority": 15, + "description": "DDMRP Buffer ADU calculation ({})".format( + self.display_name + ), + } + + def _register_hook(self): + self._patch_method( + "cron_actions", + self._patch_job_auto_delay( + "cron_actions", context_key="auto_delay_ddmrp_cron_actions" + ), + ) + self._patch_method( + "_calc_adu", + self._patch_job_auto_delay( + "_calc_adu", context_key="auto_delay_ddmrp_calc_adu" + ), + ) + return super()._register_hook() + + def cron_ddmrp(self, automatic=False): + return super( + Buffer, self.with_context(auto_delay_ddmrp_cron_actions=True) + ).cron_ddmrp(automatic=automatic) + + def cron_ddmrp_adu(self, automatic=False): + return super( + Buffer, self.with_context(auto_delay_ddmrp_calc_adu=True) + ).cron_ddmrp_adu(automatic=automatic) diff --git a/ddmrp_cron_actions_as_job/models/stock_move.py b/ddmrp_cron_actions_as_job/models/stock_move.py new file mode 100644 index 000000000..01abd2455 --- /dev/null +++ b/ddmrp_cron_actions_as_job/models/stock_move.py @@ -0,0 +1,13 @@ +# Copyright 2020 Camptocamp +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import models + + +class StockMove(models.Model): + _inherit = "stock.move" + + def _update_ddmrp_nfp(self): + return super( + StockMove, self.with_context(auto_delay_ddmrp_cron_actions=True) + )._update_ddmrp_nfp() diff --git a/ddmrp_cron_actions_as_job/readme/CONTRIBUTORS.rst b/ddmrp_cron_actions_as_job/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..48286263c --- /dev/null +++ b/ddmrp_cron_actions_as_job/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Guewen Baconnier diff --git a/ddmrp_cron_actions_as_job/readme/DESCRIPTION.rst b/ddmrp_cron_actions_as_job/readme/DESCRIPTION.rst new file mode 100644 index 000000000..8b98240b8 --- /dev/null +++ b/ddmrp_cron_actions_as_job/readme/DESCRIPTION.rst @@ -0,0 +1,14 @@ +DDMRP Buffer calculations are now run with Queue Jobs. + +When auto-update of NFP is active, each time the state of a stock move changes, +a new computation is triggered, but thanks to identity keys on jobs, only one +job at a time is generated for the same buffer. + +The ``.cron_actions`` method is automatically delayed when the +context contains ``auto_delay_ddmrp_cron_actions=True``. + +The scheduled action for buffers ADU computation also generates jobs instead +of recomputing all the buffers at once. + +The ``._calc_adu`` method is automatically delayed when the +context contains ``auto_delay_ddmrp_calc_adu=True``. diff --git a/ddmrp_cron_actions_as_job/tests/__init__.py b/ddmrp_cron_actions_as_job/tests/__init__.py new file mode 100644 index 000000000..48aece491 --- /dev/null +++ b/ddmrp_cron_actions_as_job/tests/__init__.py @@ -0,0 +1 @@ +from . import test_cron_actions_as_job diff --git a/ddmrp_cron_actions_as_job/tests/test_cron_actions_as_job.py b/ddmrp_cron_actions_as_job/tests/test_cron_actions_as_job.py new file mode 100644 index 000000000..1d0397a8c --- /dev/null +++ b/ddmrp_cron_actions_as_job/tests/test_cron_actions_as_job.py @@ -0,0 +1,56 @@ +# Copyright 2020 Camptocamp (https://www.camptocamp.com) +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + + +from odoo.tests import tagged + +from odoo.addons.ddmrp.tests.common import TestDdmrpCommon +from odoo.addons.queue_job.job import identity_exact +from odoo.addons.queue_job.tests.common import mock_with_delay + + +@tagged("post_install", "-at_install") +class TestDdmrpCronActionsAsJob(TestDdmrpCommon): + def test_cron_actions_delay_job(self): + context = dict(self.env.context, auto_delay_ddmrp_cron_actions=True) + del context["test_queue_job_no_delay"] + buffer_a = self.buffer_a.with_context(context) + + with mock_with_delay() as (delayable_cls, delayable): + buffer_a.cron_actions(only_nfp=True) + + # check 'with_delay()' part: + self.assertEqual(delayable_cls.call_count, 1) + # arguments passed in 'with_delay()' + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual(delay_args, (self.buffer_a,)) + self.assertEqual(delay_kwargs.get("priority"), 15) + self.assertEqual(delay_kwargs.get("identity_key"), identity_exact) + + # check what's passed to the job method 'cron_actions' + self.assertEqual(delayable.cron_actions.call_count, 1) + delay_args, delay_kwargs = delayable.cron_actions.call_args + self.assertEqual(delay_args, ()) + self.assertDictEqual(delay_kwargs, {"only_nfp": True}) + + def test_calc_adu_delay_job(self): + context = dict(self.env.context, auto_delay_ddmrp_calc_adu=True) + del context["test_queue_job_no_delay"] + buffer_a = self.buffer_a.with_context(context) + + with mock_with_delay() as (delayable_cls, delayable): + buffer_a._calc_adu() + + # check 'with_delay()' part: + self.assertEqual(delayable_cls.call_count, 1) + # arguments passed in 'with_delay()' + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual(delay_args, (self.buffer_a,)) + self.assertEqual(delay_kwargs.get("priority"), 15) + self.assertEqual(delay_kwargs.get("identity_key"), identity_exact) + + # check what's passed to the job method '_calc_adu' + self.assertEqual(delayable._calc_adu.call_count, 1) + delay_args, delay_kwargs = delayable._calc_adu.call_args + self.assertEqual(delay_args, ()) + self.assertDictEqual(delay_kwargs, {}) From 290024fc29bb68d6ea2f84df65c07acd306c8adc Mon Sep 17 00:00:00 2001 From: oca-travis Date: Wed, 3 Feb 2021 12:06:38 +0000 Subject: [PATCH 02/34] [UPD] Update ddmrp_cron_actions_as_job.pot --- .../i18n/ddmrp_cron_actions_as_job.pot | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 ddmrp_cron_actions_as_job/i18n/ddmrp_cron_actions_as_job.pot diff --git a/ddmrp_cron_actions_as_job/i18n/ddmrp_cron_actions_as_job.pot b/ddmrp_cron_actions_as_job/i18n/ddmrp_cron_actions_as_job.pot new file mode 100644 index 000000000..4bddb6ff1 --- /dev/null +++ b/ddmrp_cron_actions_as_job/i18n/ddmrp_cron_actions_as_job.pot @@ -0,0 +1,24 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * ddmrp_cron_actions_as_job +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.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: ddmrp_cron_actions_as_job +#: model:ir.model,name:ddmrp_cron_actions_as_job.model_stock_buffer +msgid "Stock Buffer" +msgstr "" + +#. module: ddmrp_cron_actions_as_job +#: model:ir.model,name:ddmrp_cron_actions_as_job.model_stock_move +msgid "Stock Move" +msgstr "" From 7ab04bd716c939d835125feefcd7ea9183c15ad9 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 3 Feb 2021 12:30:51 +0000 Subject: [PATCH 03/34] [UPD] README.rst --- ddmrp_cron_actions_as_job/README.rst | 86 ++++ .../static/description/index.html | 428 ++++++++++++++++++ 2 files changed, 514 insertions(+) create mode 100644 ddmrp_cron_actions_as_job/README.rst create mode 100644 ddmrp_cron_actions_as_job/static/description/index.html diff --git a/ddmrp_cron_actions_as_job/README.rst b/ddmrp_cron_actions_as_job/README.rst new file mode 100644 index 000000000..2b14a97ca --- /dev/null +++ b/ddmrp_cron_actions_as_job/README.rst @@ -0,0 +1,86 @@ +=============================== +DDMRP Buffer Calculation as job +=============================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fddmrp-lightgray.png?logo=github + :target: https://github.com/OCA/ddmrp/tree/13.0/ddmrp_cron_actions_as_job + :alt: OCA/ddmrp +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/ddmrp-13-0/ddmrp-13-0-ddmrp_cron_actions_as_job + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/255/13.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +DDMRP Buffer calculations are now run with Queue Jobs. + +When auto-update of NFP is active, each time the state of a stock move changes, +a new computation is triggered, but thanks to identity keys on jobs, only one +job at a time is generated for the same buffer. + +The ``.cron_actions`` method is automatically delayed when the +context contains ``auto_delay_ddmrp_cron_actions=True``. + +The scheduled action for buffers ADU computation also generates jobs instead +of recomputing all the buffers at once. + +The ``._calc_adu`` method is automatically delayed when the +context contains ``auto_delay_ddmrp_calc_adu=True``. + +**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 smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Camptocamp + +Contributors +~~~~~~~~~~~~ + +* Guewen Baconnier + +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/ddmrp `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/ddmrp_cron_actions_as_job/static/description/index.html b/ddmrp_cron_actions_as_job/static/description/index.html new file mode 100644 index 000000000..8154f31e3 --- /dev/null +++ b/ddmrp_cron_actions_as_job/static/description/index.html @@ -0,0 +1,428 @@ + + + + + + +DDMRP Buffer Calculation as job + + + +
+

DDMRP Buffer Calculation as job

+ + +

Beta License: LGPL-3 OCA/ddmrp Translate me on Weblate Try me on Runbot

+

DDMRP Buffer calculations are now run with Queue Jobs.

+

When auto-update of NFP is active, each time the state of a stock move changes, +a new computation is triggered, but thanks to identity keys on jobs, only one +job at a time is generated for the same buffer.

+

The <stock.buffer>.cron_actions method is automatically delayed when the +context contains auto_delay_ddmrp_cron_actions=True.

+

The scheduled action for buffers ADU computation also generates jobs instead +of recomputing all the buffers at once.

+

The <stock.buffer>._calc_adu method is automatically delayed when the +context contains auto_delay_ddmrp_calc_adu=True.

+

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

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Camptocamp
  • +
+
+
+

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

+

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

+
+
+
+ + From f606b99cf031811105416b50028dcef0c1849250 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 3 Feb 2021 12:30:52 +0000 Subject: [PATCH 04/34] [ADD] icon.png --- .../static/description/icon.png | Bin 0 -> 9455 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 ddmrp_cron_actions_as_job/static/description/icon.png diff --git a/ddmrp_cron_actions_as_job/static/description/icon.png b/ddmrp_cron_actions_as_job/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 From af5507d3150d57374be75ebd582f40a3134d4cfe Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 3 Feb 2021 12:30:54 +0000 Subject: [PATCH 05/34] ddmrp_cron_actions_as_job 13.0.1.1.0 --- ddmrp_cron_actions_as_job/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ddmrp_cron_actions_as_job/__manifest__.py b/ddmrp_cron_actions_as_job/__manifest__.py index b8b121772..ea7860ea4 100644 --- a/ddmrp_cron_actions_as_job/__manifest__.py +++ b/ddmrp_cron_actions_as_job/__manifest__.py @@ -3,7 +3,7 @@ { "name": "DDMRP Buffer Calculation as job", - "version": "13.0.1.0.0", + "version": "13.0.1.1.0", "summary": "Run DDMRP Buffer Calculation as jobs", "author": "Camptocamp, Odoo Community Association (OCA)", "website": "https://github.com/OCA/ddmrp", From ac23aeb3d4dd57c2f4b18910a7a06cc9504698ad Mon Sep 17 00:00:00 2001 From: Guewen Baconnier Date: Wed, 10 Feb 2021 10:07:05 +0100 Subject: [PATCH 06/34] Add queue.job.function for ddmrp_buffer._calc_adu With root.ddmrp as default channel. It was done for "cron_actions" but missing for "_calc_adu". --- ddmrp_cron_actions_as_job/data/queue_job_function_data.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ddmrp_cron_actions_as_job/data/queue_job_function_data.xml b/ddmrp_cron_actions_as_job/data/queue_job_function_data.xml index eb90f00f3..610831645 100644 --- a/ddmrp_cron_actions_as_job/data/queue_job_function_data.xml +++ b/ddmrp_cron_actions_as_job/data/queue_job_function_data.xml @@ -4,4 +4,9 @@ cron_actions + + + _calc_adu + + From 39dcbe49c1cecdcf7fc12de025fd5c146e82f0fe Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 17 Feb 2021 10:05:16 +0000 Subject: [PATCH 07/34] ddmrp_cron_actions_as_job 13.0.1.2.0 --- ddmrp_cron_actions_as_job/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ddmrp_cron_actions_as_job/__manifest__.py b/ddmrp_cron_actions_as_job/__manifest__.py index ea7860ea4..9aaa922f1 100644 --- a/ddmrp_cron_actions_as_job/__manifest__.py +++ b/ddmrp_cron_actions_as_job/__manifest__.py @@ -3,7 +3,7 @@ { "name": "DDMRP Buffer Calculation as job", - "version": "13.0.1.1.0", + "version": "13.0.1.2.0", "summary": "Run DDMRP Buffer Calculation as jobs", "author": "Camptocamp, Odoo Community Association (OCA)", "website": "https://github.com/OCA/ddmrp", From b7e4e5c15e22f55c9ca7e31e7a241fd6163e29e9 Mon Sep 17 00:00:00 2001 From: davidborromeo Date: Thu, 27 May 2021 10:29:10 +0200 Subject: [PATCH 08/34] [MIG] ddmrp_cron_actions_as_job: Migration to 14.0 --- ddmrp_cron_actions_as_job/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ddmrp_cron_actions_as_job/__manifest__.py b/ddmrp_cron_actions_as_job/__manifest__.py index 9aaa922f1..9ae469637 100644 --- a/ddmrp_cron_actions_as_job/__manifest__.py +++ b/ddmrp_cron_actions_as_job/__manifest__.py @@ -3,7 +3,7 @@ { "name": "DDMRP Buffer Calculation as job", - "version": "13.0.1.2.0", + "version": "14.0.1.0.0", "summary": "Run DDMRP Buffer Calculation as jobs", "author": "Camptocamp, Odoo Community Association (OCA)", "website": "https://github.com/OCA/ddmrp", From 0f99663e44ad75169dcea1035a0290a3765221c8 Mon Sep 17 00:00:00 2001 From: oca-travis Date: Thu, 17 Jun 2021 11:57:40 +0000 Subject: [PATCH 09/34] [UPD] Update ddmrp_cron_actions_as_job.pot --- .../i18n/ddmrp_cron_actions_as_job.pot | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/ddmrp_cron_actions_as_job/i18n/ddmrp_cron_actions_as_job.pot b/ddmrp_cron_actions_as_job/i18n/ddmrp_cron_actions_as_job.pot index 4bddb6ff1..62120fc98 100644 --- a/ddmrp_cron_actions_as_job/i18n/ddmrp_cron_actions_as_job.pot +++ b/ddmrp_cron_actions_as_job/i18n/ddmrp_cron_actions_as_job.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 13.0\n" +"Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,6 +13,24 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: ddmrp_cron_actions_as_job +#: model:ir.model.fields,field_description:ddmrp_cron_actions_as_job.field_stock_buffer__display_name +#: model:ir.model.fields,field_description:ddmrp_cron_actions_as_job.field_stock_move__display_name +msgid "Display Name" +msgstr "" + +#. module: ddmrp_cron_actions_as_job +#: model:ir.model.fields,field_description:ddmrp_cron_actions_as_job.field_stock_buffer__id +#: model:ir.model.fields,field_description:ddmrp_cron_actions_as_job.field_stock_move__id +msgid "ID" +msgstr "" + +#. module: ddmrp_cron_actions_as_job +#: model:ir.model.fields,field_description:ddmrp_cron_actions_as_job.field_stock_buffer____last_update +#: model:ir.model.fields,field_description:ddmrp_cron_actions_as_job.field_stock_move____last_update +msgid "Last Modified on" +msgstr "" + #. module: ddmrp_cron_actions_as_job #: model:ir.model,name:ddmrp_cron_actions_as_job.model_stock_buffer msgid "Stock Buffer" From 77f92f480e454d24ee2463351f7ed20ac8210082 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 17 Jun 2021 12:06:38 +0000 Subject: [PATCH 10/34] [UPD] README.rst --- ddmrp_cron_actions_as_job/README.rst | 10 +++++----- .../static/description/index.html | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ddmrp_cron_actions_as_job/README.rst b/ddmrp_cron_actions_as_job/README.rst index 2b14a97ca..0e57d5405 100644 --- a/ddmrp_cron_actions_as_job/README.rst +++ b/ddmrp_cron_actions_as_job/README.rst @@ -14,13 +14,13 @@ DDMRP Buffer Calculation as job :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html :alt: License: LGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fddmrp-lightgray.png?logo=github - :target: https://github.com/OCA/ddmrp/tree/13.0/ddmrp_cron_actions_as_job + :target: https://github.com/OCA/ddmrp/tree/14.0/ddmrp_cron_actions_as_job :alt: OCA/ddmrp .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/ddmrp-13-0/ddmrp-13-0-ddmrp_cron_actions_as_job + :target: https://translation.odoo-community.org/projects/ddmrp-14-0/ddmrp-14-0-ddmrp_cron_actions_as_job :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/255/13.0 + :target: https://runbot.odoo-community.org/runbot/255/14.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -51,7 +51,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 smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -81,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/ddmrp `_ project on GitHub. +This module is part of the `OCA/ddmrp `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/ddmrp_cron_actions_as_job/static/description/index.html b/ddmrp_cron_actions_as_job/static/description/index.html index 8154f31e3..c738c0904 100644 --- a/ddmrp_cron_actions_as_job/static/description/index.html +++ b/ddmrp_cron_actions_as_job/static/description/index.html @@ -367,7 +367,7 @@

DDMRP Buffer Calculation as job

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: LGPL-3 OCA/ddmrp Translate me on Weblate Try me on Runbot

+

Beta License: LGPL-3 OCA/ddmrp Translate me on Weblate Try me on Runbot

DDMRP Buffer calculations are now run with Queue Jobs.

When auto-update of NFP is active, each time the state of a stock move changes, a new computation is triggered, but thanks to identity keys on jobs, only one @@ -395,7 +395,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 smashing it by providing a detailed and welcomed -feedback.

+feedback.

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

@@ -419,7 +419,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/ddmrp project on GitHub.

+

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

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

From 2d3baa2536beb3cbf0524fb34fdf9a56a58f7ab6 Mon Sep 17 00:00:00 2001 From: Marcel Savegnago Date: Sun, 26 Dec 2021 02:15:18 +0000 Subject: [PATCH 11/34] Added translation using Weblate (Portuguese (Brazil)) --- ddmrp_cron_actions_as_job/i18n/pt_BR.po | 43 +++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 ddmrp_cron_actions_as_job/i18n/pt_BR.po diff --git a/ddmrp_cron_actions_as_job/i18n/pt_BR.po b/ddmrp_cron_actions_as_job/i18n/pt_BR.po new file mode 100644 index 000000000..f80a1c787 --- /dev/null +++ b/ddmrp_cron_actions_as_job/i18n/pt_BR.po @@ -0,0 +1,43 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * ddmrp_cron_actions_as_job +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: pt_BR\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: ddmrp_cron_actions_as_job +#: model:ir.model.fields,field_description:ddmrp_cron_actions_as_job.field_stock_buffer__display_name +#: model:ir.model.fields,field_description:ddmrp_cron_actions_as_job.field_stock_move__display_name +msgid "Display Name" +msgstr "" + +#. module: ddmrp_cron_actions_as_job +#: model:ir.model.fields,field_description:ddmrp_cron_actions_as_job.field_stock_buffer__id +#: model:ir.model.fields,field_description:ddmrp_cron_actions_as_job.field_stock_move__id +msgid "ID" +msgstr "" + +#. module: ddmrp_cron_actions_as_job +#: model:ir.model.fields,field_description:ddmrp_cron_actions_as_job.field_stock_buffer____last_update +#: model:ir.model.fields,field_description:ddmrp_cron_actions_as_job.field_stock_move____last_update +msgid "Last Modified on" +msgstr "" + +#. module: ddmrp_cron_actions_as_job +#: model:ir.model,name:ddmrp_cron_actions_as_job.model_stock_buffer +msgid "Stock Buffer" +msgstr "" + +#. module: ddmrp_cron_actions_as_job +#: model:ir.model,name:ddmrp_cron_actions_as_job.model_stock_move +msgid "Stock Move" +msgstr "" From d3cbe7781206841faed19525d5c222dede142ae6 Mon Sep 17 00:00:00 2001 From: Jordi Ballester Date: Fri, 18 Feb 2022 20:48:39 +0100 Subject: [PATCH 12/34] [MIG] ddmrp_cron_actions_as_job: Migrate to 15.0 --- ddmrp_cron_actions_as_job/__manifest__.py | 2 +- ddmrp_cron_actions_as_job/tests/test_cron_actions_as_job.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ddmrp_cron_actions_as_job/__manifest__.py b/ddmrp_cron_actions_as_job/__manifest__.py index 9ae469637..abb2543f7 100644 --- a/ddmrp_cron_actions_as_job/__manifest__.py +++ b/ddmrp_cron_actions_as_job/__manifest__.py @@ -3,7 +3,7 @@ { "name": "DDMRP Buffer Calculation as job", - "version": "14.0.1.0.0", + "version": "15.0.1.0.0", "summary": "Run DDMRP Buffer Calculation as jobs", "author": "Camptocamp, Odoo Community Association (OCA)", "website": "https://github.com/OCA/ddmrp", diff --git a/ddmrp_cron_actions_as_job/tests/test_cron_actions_as_job.py b/ddmrp_cron_actions_as_job/tests/test_cron_actions_as_job.py index 1d0397a8c..39158b3af 100644 --- a/ddmrp_cron_actions_as_job/tests/test_cron_actions_as_job.py +++ b/ddmrp_cron_actions_as_job/tests/test_cron_actions_as_job.py @@ -14,7 +14,7 @@ class TestDdmrpCronActionsAsJob(TestDdmrpCommon): def test_cron_actions_delay_job(self): context = dict(self.env.context, auto_delay_ddmrp_cron_actions=True) del context["test_queue_job_no_delay"] - buffer_a = self.buffer_a.with_context(context) + buffer_a = self.buffer_a.with_context(**context) with mock_with_delay() as (delayable_cls, delayable): buffer_a.cron_actions(only_nfp=True) @@ -36,7 +36,7 @@ def test_cron_actions_delay_job(self): def test_calc_adu_delay_job(self): context = dict(self.env.context, auto_delay_ddmrp_calc_adu=True) del context["test_queue_job_no_delay"] - buffer_a = self.buffer_a.with_context(context) + buffer_a = self.buffer_a.with_context(**context) with mock_with_delay() as (delayable_cls, delayable): buffer_a._calc_adu() From 2743a6f54dca476cc4e577030cc65313535a0704 Mon Sep 17 00:00:00 2001 From: Christopher Ormaza Date: Fri, 18 Feb 2022 15:38:10 -0500 Subject: [PATCH 13/34] [FIX] tests --- .../tests/test_cron_actions_as_job.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ddmrp_cron_actions_as_job/tests/test_cron_actions_as_job.py b/ddmrp_cron_actions_as_job/tests/test_cron_actions_as_job.py index 39158b3af..b1e62c885 100644 --- a/ddmrp_cron_actions_as_job/tests/test_cron_actions_as_job.py +++ b/ddmrp_cron_actions_as_job/tests/test_cron_actions_as_job.py @@ -13,7 +13,11 @@ class TestDdmrpCronActionsAsJob(TestDdmrpCommon): def test_cron_actions_delay_job(self): context = dict(self.env.context, auto_delay_ddmrp_cron_actions=True) - del context["test_queue_job_no_delay"] + context.update( + { + "test_queue_job_no_delay": False, + } + ) buffer_a = self.buffer_a.with_context(**context) with mock_with_delay() as (delayable_cls, delayable): @@ -35,7 +39,11 @@ def test_cron_actions_delay_job(self): def test_calc_adu_delay_job(self): context = dict(self.env.context, auto_delay_ddmrp_calc_adu=True) - del context["test_queue_job_no_delay"] + context.update( + { + "test_queue_job_no_delay": False, + } + ) buffer_a = self.buffer_a.with_context(**context) with mock_with_delay() as (delayable_cls, delayable): From 4c19c041a1ae4931f146526da35570738818de3a Mon Sep 17 00:00:00 2001 From: oca-ci Date: Mon, 28 Feb 2022 10:22:28 +0000 Subject: [PATCH 14/34] [UPD] Update ddmrp_cron_actions_as_job.pot --- .../i18n/ddmrp_cron_actions_as_job.pot | 20 +------------------ 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/ddmrp_cron_actions_as_job/i18n/ddmrp_cron_actions_as_job.pot b/ddmrp_cron_actions_as_job/i18n/ddmrp_cron_actions_as_job.pot index 62120fc98..813a74922 100644 --- a/ddmrp_cron_actions_as_job/i18n/ddmrp_cron_actions_as_job.pot +++ b/ddmrp_cron_actions_as_job/i18n/ddmrp_cron_actions_as_job.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 14.0\n" +"Project-Id-Version: Odoo Server 15.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,24 +13,6 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" -#. module: ddmrp_cron_actions_as_job -#: model:ir.model.fields,field_description:ddmrp_cron_actions_as_job.field_stock_buffer__display_name -#: model:ir.model.fields,field_description:ddmrp_cron_actions_as_job.field_stock_move__display_name -msgid "Display Name" -msgstr "" - -#. module: ddmrp_cron_actions_as_job -#: model:ir.model.fields,field_description:ddmrp_cron_actions_as_job.field_stock_buffer__id -#: model:ir.model.fields,field_description:ddmrp_cron_actions_as_job.field_stock_move__id -msgid "ID" -msgstr "" - -#. module: ddmrp_cron_actions_as_job -#: model:ir.model.fields,field_description:ddmrp_cron_actions_as_job.field_stock_buffer____last_update -#: model:ir.model.fields,field_description:ddmrp_cron_actions_as_job.field_stock_move____last_update -msgid "Last Modified on" -msgstr "" - #. module: ddmrp_cron_actions_as_job #: model:ir.model,name:ddmrp_cron_actions_as_job.model_stock_buffer msgid "Stock Buffer" From 5c72fb8c4225df7bb651e65f1a12c0dea9b1367b Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 28 Feb 2022 10:25:36 +0000 Subject: [PATCH 15/34] [UPD] README.rst --- ddmrp_cron_actions_as_job/README.rst | 10 +++++----- .../static/description/index.html | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ddmrp_cron_actions_as_job/README.rst b/ddmrp_cron_actions_as_job/README.rst index 0e57d5405..b15d63b9f 100644 --- a/ddmrp_cron_actions_as_job/README.rst +++ b/ddmrp_cron_actions_as_job/README.rst @@ -14,13 +14,13 @@ DDMRP Buffer Calculation as job :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html :alt: License: LGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fddmrp-lightgray.png?logo=github - :target: https://github.com/OCA/ddmrp/tree/14.0/ddmrp_cron_actions_as_job + :target: https://github.com/OCA/ddmrp/tree/15.0/ddmrp_cron_actions_as_job :alt: OCA/ddmrp .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/ddmrp-14-0/ddmrp-14-0-ddmrp_cron_actions_as_job + :target: https://translation.odoo-community.org/projects/ddmrp-15-0/ddmrp-15-0-ddmrp_cron_actions_as_job :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/255/14.0 + :target: https://runbot.odoo-community.org/runbot/255/15.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -51,7 +51,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 smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -81,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/ddmrp `_ project on GitHub. +This module is part of the `OCA/ddmrp `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/ddmrp_cron_actions_as_job/static/description/index.html b/ddmrp_cron_actions_as_job/static/description/index.html index c738c0904..1e26a546b 100644 --- a/ddmrp_cron_actions_as_job/static/description/index.html +++ b/ddmrp_cron_actions_as_job/static/description/index.html @@ -367,7 +367,7 @@

DDMRP Buffer Calculation as job

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: LGPL-3 OCA/ddmrp Translate me on Weblate Try me on Runbot

+

Beta License: LGPL-3 OCA/ddmrp Translate me on Weblate Try me on Runbot

DDMRP Buffer calculations are now run with Queue Jobs.

When auto-update of NFP is active, each time the state of a stock move changes, a new computation is triggered, but thanks to identity keys on jobs, only one @@ -395,7 +395,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 smashing it by providing a detailed and welcomed -feedback.

+feedback.

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

@@ -419,7 +419,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/ddmrp project on GitHub.

+

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

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

From 3d005a2b4d05abb4b97b22c365839e895011edb4 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Sun, 3 Sep 2023 12:24:16 +0000 Subject: [PATCH 16/34] [UPD] README.rst --- ddmrp_cron_actions_as_job/README.rst | 15 ++++---- .../static/description/index.html | 34 ++++++++++--------- 2 files changed, 27 insertions(+), 22 deletions(-) diff --git a/ddmrp_cron_actions_as_job/README.rst b/ddmrp_cron_actions_as_job/README.rst index b15d63b9f..1029237da 100644 --- a/ddmrp_cron_actions_as_job/README.rst +++ b/ddmrp_cron_actions_as_job/README.rst @@ -2,10 +2,13 @@ DDMRP Buffer Calculation as job =============================== -.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:699f1377bb95f901c24e195b82f897918311e40aa3daca11a85e679a680cf850 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status @@ -19,11 +22,11 @@ DDMRP Buffer Calculation as job .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png :target: https://translation.odoo-community.org/projects/ddmrp-15-0/ddmrp-15-0-ddmrp_cron_actions_as_job :alt: Translate me on Weblate -.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/255/15.0 - :alt: Try me on Runbot +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/ddmrp&target_branch=15.0 + :alt: Try me on Runboat -|badge1| |badge2| |badge3| |badge4| |badge5| +|badge1| |badge2| |badge3| |badge4| |badge5| DDMRP Buffer calculations are now run with Queue Jobs. @@ -50,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 smashing it by providing a detailed and welcomed +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. diff --git a/ddmrp_cron_actions_as_job/static/description/index.html b/ddmrp_cron_actions_as_job/static/description/index.html index 1e26a546b..7a3a69891 100644 --- a/ddmrp_cron_actions_as_job/static/description/index.html +++ b/ddmrp_cron_actions_as_job/static/description/index.html @@ -1,20 +1,20 @@ - + - + DDMRP Buffer Calculation as job -
-

DDMRP Buffer Calculation as job

+
+ + +Odoo Community Association + +
+

DDMRP Buffer Calculation as job

-

Beta License: LGPL-3 OCA/ddmrp Translate me on Weblate Try me on Runboat

+

Beta License: LGPL-3 OCA/ddmrp Translate me on Weblate Try me on Runboat

DDMRP Buffer calculations are now run with Queue Jobs.

When auto-update of NFP is active, each time the state of a stock move changes, a new computation is triggered, but thanks to identity keys on @@ -393,7 +398,7 @@

DDMRP Buffer Calculation as job

-

Bug Tracker

+

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed @@ -401,21 +406,21 @@

Bug Tracker

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

+
From fd81a58352d90b9ab3e906881e000ca9f81e9ce1 Mon Sep 17 00:00:00 2001 From: Don Kendall Date: Fri, 12 Jun 2026 09:43:32 -0400 Subject: [PATCH 34/34] [MIG] ddmrp_cron_actions_as_job: Migration to 19.0 Signed-off-by: Don Kendall --- ddmrp_cron_actions_as_job/README.rst | 12 +++++----- ddmrp_cron_actions_as_job/__manifest__.py | 2 +- .../models/stock_buffer.py | 24 +++++++++---------- .../static/description/index.html | 8 +++---- 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/ddmrp_cron_actions_as_job/README.rst b/ddmrp_cron_actions_as_job/README.rst index d9957865c..2a2fb8a70 100644 --- a/ddmrp_cron_actions_as_job/README.rst +++ b/ddmrp_cron_actions_as_job/README.rst @@ -11,7 +11,7 @@ DDMRP Buffer Calculation as job !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:465316112c5bcbfc95ae3763b5148be64485ca35a792ea4a770b891036ae8134 + !! source digest: sha256:c1e4d832046009f380a8793d981bf80dc795a68afa2458b3de1981eb027c257b !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png @@ -21,13 +21,13 @@ DDMRP Buffer Calculation as job :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html :alt: License: LGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fddmrp-lightgray.png?logo=github - :target: https://github.com/OCA/ddmrp/tree/18.0/ddmrp_cron_actions_as_job + :target: https://github.com/OCA/ddmrp/tree/19.0/ddmrp_cron_actions_as_job :alt: OCA/ddmrp .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/ddmrp-18-0/ddmrp-18-0-ddmrp_cron_actions_as_job + :target: https://translation.odoo-community.org/projects/ddmrp-19-0/ddmrp-19-0-ddmrp_cron_actions_as_job :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/ddmrp&target_branch=18.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/ddmrp&target_branch=19.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -58,7 +58,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,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/ddmrp `_ project on GitHub. +This module is part of the `OCA/ddmrp `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/ddmrp_cron_actions_as_job/__manifest__.py b/ddmrp_cron_actions_as_job/__manifest__.py index f8291438e..98f912401 100644 --- a/ddmrp_cron_actions_as_job/__manifest__.py +++ b/ddmrp_cron_actions_as_job/__manifest__.py @@ -3,7 +3,7 @@ { "name": "DDMRP Buffer Calculation as job", - "version": "18.0.1.0.1", + "version": "19.0.1.0.0", "summary": "Run DDMRP Buffer Calculation as jobs", "author": "Camptocamp, Odoo Community Association (OCA)", "website": "https://github.com/OCA/ddmrp", diff --git a/ddmrp_cron_actions_as_job/models/stock_buffer.py b/ddmrp_cron_actions_as_job/models/stock_buffer.py index 40f214446..dda34761f 100644 --- a/ddmrp_cron_actions_as_job/models/stock_buffer.py +++ b/ddmrp_cron_actions_as_job/models/stock_buffer.py @@ -1,6 +1,8 @@ # Copyright 2020 Camptocamp (https://www.camptocamp.com) # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). +import functools + from odoo import models from odoo.addons.queue_job.job import identity_exact @@ -24,18 +26,16 @@ def _calc_adu_job_options(self): } def _register_hook(self): - self._patch_method( - "cron_actions", - self._patch_job_auto_delay( - "cron_actions", context_key="auto_delay_ddmrp_cron_actions" - ), - ) - self._patch_method( - "_calc_adu", - self._patch_job_auto_delay( - "_calc_adu", context_key="auto_delay_ddmrp_calc_adu" - ), - ) + for method_name, context_key in ( + ("cron_actions", "auto_delay_ddmrp_cron_actions"), + ("_calc_adu", "auto_delay_ddmrp_calc_adu"), + ): + patched = self._patch_job_auto_delay(method_name, context_key=context_key) + setattr( + type(self), + method_name, + functools.update_wrapper(patched, getattr(type(self), method_name)), + ) return super()._register_hook() def cron_ddmrp(self, automatic=False, domain=None): diff --git a/ddmrp_cron_actions_as_job/static/description/index.html b/ddmrp_cron_actions_as_job/static/description/index.html index 5f2d3e181..414729ca9 100644 --- a/ddmrp_cron_actions_as_job/static/description/index.html +++ b/ddmrp_cron_actions_as_job/static/description/index.html @@ -372,9 +372,9 @@

DDMRP Buffer Calculation as job

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:465316112c5bcbfc95ae3763b5148be64485ca35a792ea4a770b891036ae8134 +!! source digest: sha256:c1e4d832046009f380a8793d981bf80dc795a68afa2458b3de1981eb027c257b !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: LGPL-3 OCA/ddmrp Translate me on Weblate Try me on Runboat

+

Beta License: LGPL-3 OCA/ddmrp Translate me on Weblate Try me on Runboat

DDMRP Buffer calculations are now run with Queue Jobs.

When auto-update of NFP is active, each time the state of a stock move changes, a new computation is triggered, but thanks to identity keys on @@ -402,7 +402,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.

@@ -428,7 +428,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/ddmrp project on GitHub.

+

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

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