From 8d2e6b33974feb39a2354bef1b276ef367443fe6 Mon Sep 17 00:00:00 2001 From: Sylvain LE GAL Date: Wed, 26 Sep 2018 18:00:04 +0200 Subject: [PATCH 01/11] [ADD] new module pos_picking_delayed - creating pos.order doesn't create picking, when it is created via create_from_ui; - add a cron to generate picking of pos.order - log when cron is called - configuration in pos.config (picking_creation_delayed) - handle correctly pos order that doesn't generate pickings. (based on services) --- pos_picking_delayed/README.rst | 21 ++++ pos_picking_delayed/__init__.py | 2 + pos_picking_delayed/__manifest__.py | 26 +++++ pos_picking_delayed/data/ir_cron.xml | 20 ++++ pos_picking_delayed/i18n/fr.po | 47 ++++++++ pos_picking_delayed/models/__init__.py | 4 + pos_picking_delayed/models/pos_config.py | 16 +++ pos_picking_delayed/models/pos_order.py | 57 ++++++++++ pos_picking_delayed/readme/CONFIGURE.rst | 5 + pos_picking_delayed/readme/CONTRIBUTORS.rst | 1 + pos_picking_delayed/readme/CREDITS.rst | 4 + pos_picking_delayed/readme/DESCRIPTION.rst | 23 ++++ pos_picking_delayed/readme/ROADMAP.rst | 5 + pos_picking_delayed/readme/USAGE.rst | 4 + .../static/description/pos_config_form.png | Bin 0 -> 42763 bytes .../static/description/pos_order_tree.png | Bin 0 -> 25935 bytes pos_picking_delayed/tests/__init__.py | 3 + pos_picking_delayed/tests/test_module.py | 106 ++++++++++++++++++ pos_picking_delayed/views/view_pos_config.xml | 17 +++ pos_picking_delayed/views/view_pos_order.xml | 30 +++++ 20 files changed, 391 insertions(+) create mode 100644 pos_picking_delayed/README.rst create mode 100644 pos_picking_delayed/__init__.py create mode 100644 pos_picking_delayed/__manifest__.py create mode 100644 pos_picking_delayed/data/ir_cron.xml create mode 100644 pos_picking_delayed/i18n/fr.po create mode 100644 pos_picking_delayed/models/__init__.py create mode 100644 pos_picking_delayed/models/pos_config.py create mode 100644 pos_picking_delayed/models/pos_order.py create mode 100644 pos_picking_delayed/readme/CONFIGURE.rst create mode 100644 pos_picking_delayed/readme/CONTRIBUTORS.rst create mode 100644 pos_picking_delayed/readme/CREDITS.rst create mode 100644 pos_picking_delayed/readme/DESCRIPTION.rst create mode 100644 pos_picking_delayed/readme/ROADMAP.rst create mode 100644 pos_picking_delayed/readme/USAGE.rst create mode 100644 pos_picking_delayed/static/description/pos_config_form.png create mode 100644 pos_picking_delayed/static/description/pos_order_tree.png create mode 100644 pos_picking_delayed/tests/__init__.py create mode 100644 pos_picking_delayed/tests/test_module.py create mode 100644 pos_picking_delayed/views/view_pos_config.xml create mode 100644 pos_picking_delayed/views/view_pos_order.xml diff --git a/pos_picking_delayed/README.rst b/pos_picking_delayed/README.rst new file mode 100644 index 00000000..21cd7854 --- /dev/null +++ b/pos_picking_delayed/README.rst @@ -0,0 +1,21 @@ +**This file is going to be generated by oca-gen-addon-readme.** + +*Manual changes will be overwritten.* + +Please provide content in the ``readme`` directory: + +* **DESCRIPTION.rst** (required) +* INSTALL.rst (optional) +* CONFIGURE.rst (optional) +* **USAGE.rst** (optional, highly recommended) +* DEVELOP.rst (optional) +* ROADMAP.rst (optional) +* HISTORY.rst (optional, recommended) +* **CONTRIBUTORS.rst** (optional, highly recommended) +* CREDITS.rst (optional) + +Content of this README will also be drawn from the addon manifest, +from keys such as name, authors, maintainers, development_status, +and license. + +A good, one sentence summary in the manifest is also highly recommended. diff --git a/pos_picking_delayed/__init__.py b/pos_picking_delayed/__init__.py new file mode 100644 index 00000000..042e239e --- /dev/null +++ b/pos_picking_delayed/__init__.py @@ -0,0 +1,2 @@ +# coding: utf-8 +from . import models diff --git a/pos_picking_delayed/__manifest__.py b/pos_picking_delayed/__manifest__.py new file mode 100644 index 00000000..b215b527 --- /dev/null +++ b/pos_picking_delayed/__manifest__.py @@ -0,0 +1,26 @@ +# coding: utf-8 +# Copyright 2018 - Today Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + 'name': 'Point of Sale - Picking Creation Delayed', + 'summary': 'Delay the creation of the picking when PoS order is created', + 'version': '10.0.1.0.0', + 'category': 'Point Of Sale', + 'author': 'GRAP, ' + 'Odoo Community Association (OCA)', + 'license': 'AGPL-3', + 'website': 'https://www.github.com/OCA/pos', + 'depends': [ + 'point_of_sale', + ], + 'data': [ + 'data/ir_cron.xml', + 'views/view_pos_config.xml', + 'views/view_pos_order.xml', + ], + 'images': [ + 'static/description/pos_order_tree.png', + ], + 'installable': True, +} diff --git a/pos_picking_delayed/data/ir_cron.xml b/pos_picking_delayed/data/ir_cron.xml new file mode 100644 index 00000000..d0d71607 --- /dev/null +++ b/pos_picking_delayed/data/ir_cron.xml @@ -0,0 +1,20 @@ + + + + + + + + Create Delayed PoS Picking + + 1 + minutes + -1 + + pos.order + create_delayed_picking + () + + + diff --git a/pos_picking_delayed/i18n/fr.po b/pos_picking_delayed/i18n/fr.po new file mode 100644 index 00000000..4c28aae6 --- /dev/null +++ b/pos_picking_delayed/i18n/fr.po @@ -0,0 +1,47 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_picking_delayed +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-17 11:06+0000\n" +"PO-Revision-Date: 2018-10-17 11:06+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: pos_picking_delayed +#: model:ir.model.fields,help:pos_picking_delayed.field_pos_config_picking_creation_delayed +msgid "Check this box if you want to delay the creation of the picking created by the PoS orders. If checked, the pickings will be created later, by a cron task." +msgstr "Cochez cette case si vous souhaitez retarder la création des transferts de stock liés au commandes de point de vente. Si la case est cochée, ceux-ci seront créés ultérieurement, par une tâche de fond." + +#. module: pos_picking_delayed +#: model:ir.model.fields,field_description:pos_picking_delayed.field_pos_order_has_picking_delayed +msgid "Has picking delayed" +msgstr "A un transfert de stock retardé" + +#. module: pos_picking_delayed +#: model:ir.model.fields,field_description:pos_picking_delayed.field_pos_config_picking_creation_delayed +msgid "Picking Creation Delayed" +msgstr "Retarder la création des transferts de stock" + +#. module: pos_picking_delayed +#: model:ir.model,name:pos_picking_delayed.model_pos_order +msgid "Point of Sale Orders" +msgstr "Commandes du point de vente" + +#. module: pos_picking_delayed +#: model:ir.model.fields,help:pos_picking_delayed.field_pos_order_has_picking_delayed +msgid "This checkbox is checked if the generation of the picking has been delayed. The picking will be created by cron." +msgstr "Cette case est cochée si la génération du transfert de stock a été retardée. Celui ci sera créé par une tâche de fond." + +#. module: pos_picking_delayed +#: model:ir.model,name:pos_picking_delayed.model_pos_config +msgid "pos.config" +msgstr "pos.config" + diff --git a/pos_picking_delayed/models/__init__.py b/pos_picking_delayed/models/__init__.py new file mode 100644 index 00000000..527a57a5 --- /dev/null +++ b/pos_picking_delayed/models/__init__.py @@ -0,0 +1,4 @@ +# coding: utf-8 + +from . import pos_config +from . import pos_order diff --git a/pos_picking_delayed/models/pos_config.py b/pos_picking_delayed/models/pos_config.py new file mode 100644 index 00000000..73a637da --- /dev/null +++ b/pos_picking_delayed/models/pos_config.py @@ -0,0 +1,16 @@ +# coding: utf-8 +# Copyright 2018 - Today Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + + +from odoo import fields, models + + +class PosConfig(models.Model): + _inherit = 'pos.config' + + picking_creation_delayed = fields.Boolean( + string='Picking Creation Delayed', default=True, + help="Check this box if you want to delay the creation of the picking" + " created by the PoS orders. If checked, the pickings will" + " be created later, by a cron task.") diff --git a/pos_picking_delayed/models/pos_order.py b/pos_picking_delayed/models/pos_order.py new file mode 100644 index 00000000..c32d89fb --- /dev/null +++ b/pos_picking_delayed/models/pos_order.py @@ -0,0 +1,57 @@ +# coding: utf-8 +# Copyright 2018 - Today Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +import logging + +from odoo import api, fields, models + +_logger = logging.getLogger(__name__) + + +class PosOrder(models.Model): + _inherit = 'pos.order' + + has_picking_delayed = fields.Boolean( + default=False, help="This checkbox is checked if the generation of" + " the picking has been delayed. The picking will be created by cron.") + + # Overload Section + @api.model + def create_from_ui(self, orders): + PosSession = self.env['pos.session'] + for order_data in orders: + session_id = order_data.get('data').get('pos_session_id') + session = PosSession.browse(session_id) + order_data['data']['has_picking_delayed'] =\ + session.config_id.picking_creation_delayed + return super(PosOrder, self.with_context( + create_from_ui=True)).create_from_ui(orders) + + def create_picking(self): + if self.env.context.get('create_from_ui', False): + orders = self.filtered(lambda x: not x.has_picking_delayed) + else: + orders = self + res = super(PosOrder, orders).create_picking() + orders.write({'has_picking_delayed': False}) + return res + + @api.model + def _order_fields(self, ui_order): + res = super(PosOrder, self)._order_fields(ui_order) + res['has_picking_delayed'] = ui_order['has_picking_delayed'] + return res + + # Custom Section + @api.model + def create_delayed_picking(self): + orders = self.search([ + ('state', '!=', 'draft'), + ('has_picking_delayed', '=', True), + ], order='date_order') + for order in orders: + order.sudo(order.user_id.id).with_context( + force_company=order.company_id.id).create_picking() + if orders: + _logger.info("Pickings handled for %d PoS Orders" % (len(orders))) diff --git a/pos_picking_delayed/readme/CONFIGURE.rst b/pos_picking_delayed/readme/CONFIGURE.rst new file mode 100644 index 00000000..03835268 --- /dev/null +++ b/pos_picking_delayed/readme/CONFIGURE.rst @@ -0,0 +1,5 @@ +* Go to 'Point of Sale' / 'Configuration' / 'Point of Sale' +* Select your Point of Sale +* Set the value in the field 'Picking Creation Delayed'. (Checked by default) + +.. image:: /pos_picking_delayed/static/description/pos_config_form.png diff --git a/pos_picking_delayed/readme/CONTRIBUTORS.rst b/pos_picking_delayed/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..9f76a75b --- /dev/null +++ b/pos_picking_delayed/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Sylvain LE GAL diff --git a/pos_picking_delayed/readme/CREDITS.rst b/pos_picking_delayed/readme/CREDITS.rst new file mode 100644 index 00000000..0a9ea638 --- /dev/null +++ b/pos_picking_delayed/readme/CREDITS.rst @@ -0,0 +1,4 @@ +The development of this module has been financially supported by: + +* GRAP, Groupement Régional Alimentaire de Proximité (www.grap.coop) +* Mind & Go, (https://mind-and-go.com/) diff --git a/pos_picking_delayed/readme/DESCRIPTION.rst b/pos_picking_delayed/readme/DESCRIPTION.rst new file mode 100644 index 00000000..b5e6f70d --- /dev/null +++ b/pos_picking_delayed/readme/DESCRIPTION.rst @@ -0,0 +1,23 @@ +This module extends the functionality of odoo Point Of Sale to reduce creation +time of the PoS orders, via the front UI. + +For that purpose, it delays the creation of the picking associated, that will +be created later, by cron. (set by default to run each minute). + +Technical information +--------------------- + +A log will be generated to mention the creation of the pickings by cron. + +``2018-09-28 07:47:18,300 163 INFO db odoo.addons.base.ir.ir_cron: Starting job `Create Delayed PoS Picking.`` + +``2018-09-28 07:47:19,168 163 INFO db odoo.addons.pos_picking_delayed.models.pos_order: Pickings created for 3 PoS Orders`` + +This module is interesting specially in a context of Synchroneous Point Of +Sale that is introduced by certification modules like 'l10n_fr_pos_cert' because +in such cases, the bill will be printed only when the pos order is created ( +after the call of the function create_from_ui) and the creation of the picking +is the process that takes the most time. + +See https://github.com/odoo/odoo/pull/26314#issuecomment-422949266 +for more information. diff --git a/pos_picking_delayed/readme/ROADMAP.rst b/pos_picking_delayed/readme/ROADMAP.rst new file mode 100644 index 00000000..d3eba886 --- /dev/null +++ b/pos_picking_delayed/readme/ROADMAP.rst @@ -0,0 +1,5 @@ +* Make this module depend on the module OCA `queue_job` job module. + +* In the cron job (or the future queue job), improvment can be done, limiting + the quantity of environments, grouping orders by company, and changing + context once. diff --git a/pos_picking_delayed/readme/USAGE.rst b/pos_picking_delayed/readme/USAGE.rst new file mode 100644 index 00000000..be46510c --- /dev/null +++ b/pos_picking_delayed/readme/USAGE.rst @@ -0,0 +1,4 @@ +* Use your Point of Sale as usual. when validating an order, the order will + be in a different color until the cron is executed + +.. image:: /pos_picking_delayed/static/description/pos_order_tree.png diff --git a/pos_picking_delayed/static/description/pos_config_form.png b/pos_picking_delayed/static/description/pos_config_form.png new file mode 100644 index 0000000000000000000000000000000000000000..a23f4db47de9a42abd1f79a948ae590278e12c34 GIT binary patch literal 42763 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 Wg>+Q01A;45plPe?sTE(bdiq}^;IrWX literal 0 HcmV?d00001 diff --git a/pos_picking_delayed/static/description/pos_order_tree.png b/pos_picking_delayed/static/description/pos_order_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..a8781e7f46f8ceb198403318dd791efb3a359138 GIT binary patch literal 25935 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 jr*FsWp#Q4{w*YNMvqfeD62H5SDEFkq + + + + + + pos.config + + + + + + + + + diff --git a/pos_picking_delayed/views/view_pos_order.xml b/pos_picking_delayed/views/view_pos_order.xml new file mode 100644 index 00000000..13f83aa8 --- /dev/null +++ b/pos_picking_delayed/views/view_pos_order.xml @@ -0,0 +1,30 @@ + + + + + + + pos.order + + + + has_picking_delayed == True + + + + + + + + + pos.order + + + + + + + + + From 6bbafee3553b01f78bb4d3884b9251c92301c89a Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 18 Apr 2019 14:00:54 +0000 Subject: [PATCH 02/11] [UPD] README.rst --- pos_picking_delayed/README.rst | 140 +++++- .../static/description/index.html | 473 ++++++++++++++++++ 2 files changed, 597 insertions(+), 16 deletions(-) create mode 100644 pos_picking_delayed/static/description/index.html diff --git a/pos_picking_delayed/README.rst b/pos_picking_delayed/README.rst index 21cd7854..cc6cafa3 100644 --- a/pos_picking_delayed/README.rst +++ b/pos_picking_delayed/README.rst @@ -1,21 +1,129 @@ -**This file is going to be generated by oca-gen-addon-readme.** +======================================== +Point of Sale - Picking Creation Delayed +======================================== -*Manual changes will be overwritten.* +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -Please provide content in the ``readme`` directory: +.. |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%2Fpos-lightgray.png?logo=github + :target: https://github.com/OCA/pos/tree/10.0/pos_picking_delayed + :alt: OCA/pos +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/pos-10-0/pos-10-0-pos_picking_delayed + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/184/10.0 + :alt: Try me on Runbot -* **DESCRIPTION.rst** (required) -* INSTALL.rst (optional) -* CONFIGURE.rst (optional) -* **USAGE.rst** (optional, highly recommended) -* DEVELOP.rst (optional) -* ROADMAP.rst (optional) -* HISTORY.rst (optional, recommended) -* **CONTRIBUTORS.rst** (optional, highly recommended) -* CREDITS.rst (optional) +|badge1| |badge2| |badge3| |badge4| |badge5| -Content of this README will also be drawn from the addon manifest, -from keys such as name, authors, maintainers, development_status, -and license. +This module extends the functionality of odoo Point Of Sale to reduce creation +time of the PoS orders, via the front UI. -A good, one sentence summary in the manifest is also highly recommended. +For that purpose, it delays the creation of the picking associated, that will +be created later, by cron. (set by default to run each minute). + +Technical information +--------------------- + +A log will be generated to mention the creation of the pickings by cron. + +``2018-09-28 07:47:18,300 163 INFO db odoo.addons.base.ir.ir_cron: Starting job `Create Delayed PoS Picking.`` + +``2018-09-28 07:47:19,168 163 INFO db odoo.addons.pos_picking_delayed.models.pos_order: Pickings created for 3 PoS Orders`` + +This module is interesting specially in a context of Synchroneous Point Of +Sale that is introduced by certification modules like 'l10n_fr_pos_cert' because +in such cases, the bill will be printed only when the pos order is created ( +after the call of the function create_from_ui) and the creation of the picking +is the process that takes the most time. + +See https://github.com/odoo/odoo/pull/26314#issuecomment-422949266 +for more information. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +* Go to 'Point of Sale' / 'Configuration' / 'Point of Sale' +* Select your Point of Sale +* Set the value in the field 'Picking Creation Delayed'. (Checked by default) + +.. image:: https://raw.githubusercontent.com/pos_picking_delayed/static/description/pos_config_form.png + +Usage +===== + +* Use your Point of Sale as usual. when validating an order, the order will + be in a different color until the cron is executed + +.. image:: https://raw.githubusercontent.com/pos_picking_delayed/static/description/pos_order_tree.png + +Known issues / Roadmap +====================== + +* Make this module depend on the module OCA `queue_job` job module. + +* In the cron job (or the future queue job), improvment can be done, limiting + the quantity of environments, grouping orders by company, and changing + context once. + +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 +~~~~~~~ + +* GRAP + +Contributors +~~~~~~~~~~~~ + +* Sylvain LE GAL + +Other credits +~~~~~~~~~~~~~ + +The development of this module has been financially supported by: + +* GRAP, Groupement Régional Alimentaire de Proximité (www.grap.coop) +* Mind & Go, (https://mind-and-go.com/) + +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/pos `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/pos_picking_delayed/static/description/index.html b/pos_picking_delayed/static/description/index.html new file mode 100644 index 00000000..b84e1b28 --- /dev/null +++ b/pos_picking_delayed/static/description/index.html @@ -0,0 +1,473 @@ + + + + + + +Point of Sale - Picking Creation Delayed + + + +
+

Point of Sale - Picking Creation Delayed

+ + +

Beta License: AGPL-3 OCA/pos Translate me on Weblate Try me on Runbot

+

This module extends the functionality of odoo Point Of Sale to reduce creation +time of the PoS orders, via the front UI.

+

For that purpose, it delays the creation of the picking associated, that will +be created later, by cron. (set by default to run each minute).

+
+

Technical information

+

A log will be generated to mention the creation of the pickings by cron.

+

2018-09-28 07:47:18,300 163 INFO db odoo.addons.base.ir.ir_cron: Starting job `Create Delayed PoS Picking.

+

2018-09-28 07:47:19,168 163 INFO db odoo.addons.pos_picking_delayed.models.pos_order: Pickings created for 3 PoS Orders

+

This module is interesting specially in a context of Synchroneous Point Of +Sale that is introduced by certification modules like ‘l10n_fr_pos_cert’ because +in such cases, the bill will be printed only when the pos order is created ( +after the call of the function create_from_ui) and the creation of the picking +is the process that takes the most time.

+

See https://github.com/odoo/odoo/pull/26314#issuecomment-422949266 +for more information.

+

Table of contents

+ +
+

Configuration

+
    +
  • Go to ‘Point of Sale’ / ‘Configuration’ / ‘Point of Sale’
  • +
  • Select your Point of Sale
  • +
  • Set the value in the field ‘Picking Creation Delayed’. (Checked by default)
  • +
+https://raw.githubusercontent.com/pos_picking_delayed/static/description/pos_config_form.png +
+
+

Usage

+
    +
  • Use your Point of Sale as usual. when validating an order, the order will +be in a different color until the cron is executed
  • +
+https://raw.githubusercontent.com/pos_picking_delayed/static/description/pos_order_tree.png +
+
+

Known issues / Roadmap

+
    +
  • Make this module depend on the module OCA queue_job job module.
  • +
  • In the cron job (or the future queue job), improvment can be done, limiting +the quantity of environments, grouping orders by company, and changing +context once.
  • +
+
+
+

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

+
    +
  • GRAP
  • +
+
+ +
+

Other credits

+

The development of this module has been financially supported by:

+ +
+
+

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

+

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

+
+
+
+
+ + From 5c10fe953f085b07b3d35fcf30812ea5747cba0a Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 18 Apr 2019 14:00:54 +0000 Subject: [PATCH 03/11] [ADD] icon.png --- pos_picking_delayed/static/description/icon.png | Bin 0 -> 9455 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 pos_picking_delayed/static/description/icon.png diff --git a/pos_picking_delayed/static/description/icon.png b/pos_picking_delayed/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 a07ed402b28a5c9f77f148d0f38e37e78171725f Mon Sep 17 00:00:00 2001 From: oca-travis Date: Thu, 18 Apr 2019 14:12:27 +0000 Subject: [PATCH 04/11] [UPD] Update pos_picking_delayed.pot --- pos_picking_delayed/i18n/fr.po | 20 ++++++--- .../i18n/pos_picking_delayed.pot | 45 +++++++++++++++++++ 2 files changed, 60 insertions(+), 5 deletions(-) create mode 100644 pos_picking_delayed/i18n/pos_picking_delayed.pot diff --git a/pos_picking_delayed/i18n/fr.po b/pos_picking_delayed/i18n/fr.po index 4c28aae6..9cefa1af 100644 --- a/pos_picking_delayed/i18n/fr.po +++ b/pos_picking_delayed/i18n/fr.po @@ -10,6 +10,7 @@ msgstr "" "PO-Revision-Date: 2018-10-17 11:06+0000\n" "Last-Translator: <>\n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" @@ -17,8 +18,14 @@ msgstr "" #. module: pos_picking_delayed #: model:ir.model.fields,help:pos_picking_delayed.field_pos_config_picking_creation_delayed -msgid "Check this box if you want to delay the creation of the picking created by the PoS orders. If checked, the pickings will be created later, by a cron task." -msgstr "Cochez cette case si vous souhaitez retarder la création des transferts de stock liés au commandes de point de vente. Si la case est cochée, ceux-ci seront créés ultérieurement, par une tâche de fond." +msgid "" +"Check this box if you want to delay the creation of the picking created by " +"the PoS orders. If checked, the pickings will be created later, by a cron " +"task." +msgstr "" +"Cochez cette case si vous souhaitez retarder la création des transferts de " +"stock liés au commandes de point de vente. Si la case est cochée, ceux-ci " +"seront créés ultérieurement, par une tâche de fond." #. module: pos_picking_delayed #: model:ir.model.fields,field_description:pos_picking_delayed.field_pos_order_has_picking_delayed @@ -37,11 +44,14 @@ msgstr "Commandes du point de vente" #. module: pos_picking_delayed #: model:ir.model.fields,help:pos_picking_delayed.field_pos_order_has_picking_delayed -msgid "This checkbox is checked if the generation of the picking has been delayed. The picking will be created by cron." -msgstr "Cette case est cochée si la génération du transfert de stock a été retardée. Celui ci sera créé par une tâche de fond." +msgid "" +"This checkbox is checked if the generation of the picking has been delayed. " +"The picking will be created by cron." +msgstr "" +"Cette case est cochée si la génération du transfert de stock a été retardée. " +"Celui ci sera créé par une tâche de fond." #. module: pos_picking_delayed #: model:ir.model,name:pos_picking_delayed.model_pos_config msgid "pos.config" msgstr "pos.config" - diff --git a/pos_picking_delayed/i18n/pos_picking_delayed.pot b/pos_picking_delayed/i18n/pos_picking_delayed.pot new file mode 100644 index 00000000..85d24286 --- /dev/null +++ b/pos_picking_delayed/i18n/pos_picking_delayed.pot @@ -0,0 +1,45 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_picking_delayed +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.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: pos_picking_delayed +#: model:ir.model.fields,help:pos_picking_delayed.field_pos_config_picking_creation_delayed +msgid "Check this box if you want to delay the creation of the picking created by the PoS orders. If checked, the pickings will be created later, by a cron task." +msgstr "" + +#. module: pos_picking_delayed +#: model:ir.model.fields,field_description:pos_picking_delayed.field_pos_order_has_picking_delayed +msgid "Has picking delayed" +msgstr "" + +#. module: pos_picking_delayed +#: model:ir.model.fields,field_description:pos_picking_delayed.field_pos_config_picking_creation_delayed +msgid "Picking Creation Delayed" +msgstr "" + +#. module: pos_picking_delayed +#: model:ir.model,name:pos_picking_delayed.model_pos_order +msgid "Point of Sale Orders" +msgstr "" + +#. module: pos_picking_delayed +#: model:ir.model.fields,help:pos_picking_delayed.field_pos_order_has_picking_delayed +msgid "This checkbox is checked if the generation of the picking has been delayed. The picking will be created by cron." +msgstr "" + +#. module: pos_picking_delayed +#: model:ir.model,name:pos_picking_delayed.model_pos_config +msgid "pos.config" +msgstr "" + From ebf3acf4f3130d9afc58726079733e639d3c60ee Mon Sep 17 00:00:00 2001 From: Sylvain LE GAL Date: Sun, 7 Jul 2019 11:48:34 +0200 Subject: [PATCH 05/11] [MIG][12.0] pos_picking_delayed [IMP] replace cron by queue_job --- oca_dependencies.txt | 1 + pos_picking_delayed/__init__.py | 1 - pos_picking_delayed/__manifest__.py | 3 +- pos_picking_delayed/data/ir_cron.xml | 20 ------ pos_picking_delayed/models/__init__.py | 1 - pos_picking_delayed/models/pos_config.py | 1 - pos_picking_delayed/models/pos_order.py | 24 +++---- pos_picking_delayed/readme/CONFIGURE.rst | 4 ++ pos_picking_delayed/readme/DESCRIPTION.rst | 11 +-- pos_picking_delayed/readme/ROADMAP.rst | 5 -- pos_picking_delayed/readme/USAGE.rst | 4 +- .../static/description/pos_config_form.png | Bin 42763 -> 11240 bytes .../static/description/pos_order_tree.png | Bin 25935 -> 38180 bytes pos_picking_delayed/tests/__init__.py | 1 - pos_picking_delayed/tests/test_module.py | 65 ++++++++---------- pos_picking_delayed/views/view_pos_config.xml | 10 +-- 16 files changed, 50 insertions(+), 101 deletions(-) create mode 100644 oca_dependencies.txt delete mode 100644 pos_picking_delayed/data/ir_cron.xml delete mode 100644 pos_picking_delayed/readme/ROADMAP.rst diff --git a/oca_dependencies.txt b/oca_dependencies.txt new file mode 100644 index 00000000..24667583 --- /dev/null +++ b/oca_dependencies.txt @@ -0,0 +1 @@ +queue_job diff --git a/pos_picking_delayed/__init__.py b/pos_picking_delayed/__init__.py index 042e239e..0650744f 100644 --- a/pos_picking_delayed/__init__.py +++ b/pos_picking_delayed/__init__.py @@ -1,2 +1 @@ -# coding: utf-8 from . import models diff --git a/pos_picking_delayed/__manifest__.py b/pos_picking_delayed/__manifest__.py index b215b527..555d83c2 100644 --- a/pos_picking_delayed/__manifest__.py +++ b/pos_picking_delayed/__manifest__.py @@ -1,4 +1,3 @@ -# coding: utf-8 # Copyright 2018 - Today Sylvain LE GAL (https://twitter.com/legalsylvain) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). @@ -13,9 +12,9 @@ 'website': 'https://www.github.com/OCA/pos', 'depends': [ 'point_of_sale', + 'queue_job', ], 'data': [ - 'data/ir_cron.xml', 'views/view_pos_config.xml', 'views/view_pos_order.xml', ], diff --git a/pos_picking_delayed/data/ir_cron.xml b/pos_picking_delayed/data/ir_cron.xml deleted file mode 100644 index d0d71607..00000000 --- a/pos_picking_delayed/data/ir_cron.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - Create Delayed PoS Picking - - 1 - minutes - -1 - - pos.order - create_delayed_picking - () - - - diff --git a/pos_picking_delayed/models/__init__.py b/pos_picking_delayed/models/__init__.py index 527a57a5..7d540dbf 100644 --- a/pos_picking_delayed/models/__init__.py +++ b/pos_picking_delayed/models/__init__.py @@ -1,4 +1,3 @@ -# coding: utf-8 from . import pos_config from . import pos_order diff --git a/pos_picking_delayed/models/pos_config.py b/pos_picking_delayed/models/pos_config.py index 73a637da..4b7fb06c 100644 --- a/pos_picking_delayed/models/pos_config.py +++ b/pos_picking_delayed/models/pos_config.py @@ -1,4 +1,3 @@ -# coding: utf-8 # Copyright 2018 - Today Sylvain LE GAL (https://twitter.com/legalsylvain) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). diff --git a/pos_picking_delayed/models/pos_order.py b/pos_picking_delayed/models/pos_order.py index c32d89fb..fc7fbd53 100644 --- a/pos_picking_delayed/models/pos_order.py +++ b/pos_picking_delayed/models/pos_order.py @@ -1,12 +1,8 @@ -# coding: utf-8 # Copyright 2018 - Today Sylvain LE GAL (https://twitter.com/legalsylvain) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -import logging - from odoo import api, fields, models - -_logger = logging.getLogger(__name__) +from odoo.addons.queue_job.job import job class PosOrder(models.Model): @@ -31,6 +27,8 @@ class PosOrder(models.Model): def create_picking(self): if self.env.context.get('create_from_ui', False): orders = self.filtered(lambda x: not x.has_picking_delayed) + delayed_orders = self.filtered(lambda x: x.has_picking_delayed) + delayed_orders.with_delay()._create_delayed_picking() else: orders = self res = super(PosOrder, orders).create_picking() @@ -44,14 +42,8 @@ class PosOrder(models.Model): return res # Custom Section - @api.model - def create_delayed_picking(self): - orders = self.search([ - ('state', '!=', 'draft'), - ('has_picking_delayed', '=', True), - ], order='date_order') - for order in orders: - order.sudo(order.user_id.id).with_context( - force_company=order.company_id.id).create_picking() - if orders: - _logger.info("Pickings handled for %d PoS Orders" % (len(orders))) + @api.multi + @job + def _create_delayed_picking(self): + super(PosOrder, self).create_picking() + self.write({'has_picking_delayed': False}) diff --git a/pos_picking_delayed/readme/CONFIGURE.rst b/pos_picking_delayed/readme/CONFIGURE.rst index 03835268..6b773fd3 100644 --- a/pos_picking_delayed/readme/CONFIGURE.rst +++ b/pos_picking_delayed/readme/CONFIGURE.rst @@ -3,3 +3,7 @@ * Set the value in the field 'Picking Creation Delayed'. (Checked by default) .. image:: /pos_picking_delayed/static/description/pos_config_form.png + +* This module depends on ``queue_job`` module that requires specific + configuration to works properly. Make sure your config file is correctly set. + See https://github.com/OCA/queue/tree/12.0/queue_job diff --git a/pos_picking_delayed/readme/DESCRIPTION.rst b/pos_picking_delayed/readme/DESCRIPTION.rst index b5e6f70d..b793c4ff 100644 --- a/pos_picking_delayed/readme/DESCRIPTION.rst +++ b/pos_picking_delayed/readme/DESCRIPTION.rst @@ -2,16 +2,7 @@ This module extends the functionality of odoo Point Of Sale to reduce creation time of the PoS orders, via the front UI. For that purpose, it delays the creation of the picking associated, that will -be created later, by cron. (set by default to run each minute). - -Technical information ---------------------- - -A log will be generated to mention the creation of the pickings by cron. - -``2018-09-28 07:47:18,300 163 INFO db odoo.addons.base.ir.ir_cron: Starting job `Create Delayed PoS Picking.`` - -``2018-09-28 07:47:19,168 163 INFO db odoo.addons.pos_picking_delayed.models.pos_order: Pickings created for 3 PoS Orders`` +be created later by queue job. This module is interesting specially in a context of Synchroneous Point Of Sale that is introduced by certification modules like 'l10n_fr_pos_cert' because diff --git a/pos_picking_delayed/readme/ROADMAP.rst b/pos_picking_delayed/readme/ROADMAP.rst deleted file mode 100644 index d3eba886..00000000 --- a/pos_picking_delayed/readme/ROADMAP.rst +++ /dev/null @@ -1,5 +0,0 @@ -* Make this module depend on the module OCA `queue_job` job module. - -* In the cron job (or the future queue job), improvment can be done, limiting - the quantity of environments, grouping orders by company, and changing - context once. diff --git a/pos_picking_delayed/readme/USAGE.rst b/pos_picking_delayed/readme/USAGE.rst index be46510c..00c9f863 100644 --- a/pos_picking_delayed/readme/USAGE.rst +++ b/pos_picking_delayed/readme/USAGE.rst @@ -1,4 +1,4 @@ -* Use your Point of Sale as usual. when validating an order, the order will - be in a different color until the cron is executed +* Use your Point of Sale as usual. When validating an order, the order will + be in a different color until the job is executed .. image:: /pos_picking_delayed/static/description/pos_order_tree.png diff --git a/pos_picking_delayed/static/description/pos_config_form.png b/pos_picking_delayed/static/description/pos_config_form.png index a23f4db47de9a42abd1f79a948ae590278e12c34..d4756d3a523b4ac58b6767f194676662a7f9b853 100644 GIT binary patch literal 11240 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 KepL$U`u-2AGkU84 literal 42763 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 Wg>+Q01A;45plPe?sTE(bdiq}^;IrWX diff --git a/pos_picking_delayed/static/description/pos_order_tree.png b/pos_picking_delayed/static/description/pos_order_tree.png index a8781e7f46f8ceb198403318dd791efb3a359138..1420d6b967cef4b896bc7419fa3b5a8d8dcb6aa9 100644 GIT binary patch literal 38180 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 M{KNrTAal<(Ikw9)tq0bwSDJA zk`lPO=*kc{RJx9{8#h6$)n%jF@#No@;9Y!C>g=x}W;UaYh89x?!DMq-3`$gaNio4j zhr@s`S!Sw$5q) z)iet4A|dH&fk%MH1IDaphifTRr@~I8ApG@N3tn0@30C&^&wt@5T{ip$I8zi_IT_WJ z*Xe9?(B(bjo-yH(HsZiNKJ+QE#HXAknROCtDNyDA>axVz&0L zTk5(a2?%%7W!3Jg>+-x?!#zdXHRJ?Cgv4e9&W0*rZE;iS85^wX_L0%oeHH<$qNvB2~8K+QCnq4|FQK4vKVH!e+NeX1= zO3X|uj1}A0FIGbxG>^;ddP0Q5&D|fMETiH{hrXdRTQyIFFPsux+r=qZ(P>3MTLCuJ zn3q@=QRA@6>lQ%H=>HM%Mt>eum}e{I+3JY}Sc4GCl-cEL22>jU5i3G-xeid(icVFq))p|iv zKpsCJVnc}GPi0}3Lr#fNy0Sf9`;@NZgxTT}_9KAx3@8@REu*gQe{;=!Gth#7CHsoX z@GabrT-~?M+N%m7@P$JHV*xlN>GZunm%^FcRiql|n(>OB3^l2YcPQH!=V1 zteE$MGGH@zz9%sRlc>JyZhP47Xz^~c8l%F{BQlxJXn$d@m?Vks5Mr(lD?AX-{{pj$ zQ&*Fx;)#pQDnk|1$Ine>i6gfj51*d z>dn4zDv>g=wK>PA!dg{L_T06OfIp`ICwO<~wJ!GO;9`6=qR`#)U*RuXV0!|N5Mrsg zFuFH<&$_IOgK?|GSD0&)1IleOG_?QVR-tH`O*tid1a8h^g53IG5+AV6MCQ(b?x+rT zHCd9z8ynU)f8-e0a5Iy3Zoj*H8&s~wV}!R&-L=oZ5abUs8f*d`0Bp zhVVa$P07mt5Sto2?keNVlDAwVldTB+fc%-pQ@)*ENgpCZWm!E69dct6y^p}l+gbgd zUlzm#G??CXH_c1mnYkkZY#vSN8oqe-DO$S;jT+k*S&6og36}4ob>}ch6kH$2YzH~2z>-*+SR=IVDP2o`Rh$L z;dXgru=&beLjAvMM_FgDw{ZSLe_FP+T0_Z+L&hZr(iEuO5TdOh8+L{%s5#(4HCZRQ%FTbCQuFw577sbBj2X!uqt)jneEfhMc$Hq6djhqQ=jtSTlF$ zOJ?&tV5NPm;pkmnavXJJOtcsEN*B8Wx`_LE?zg9JTNHl`I~CE5K&FuMXy@_pO0JM` z!VKIGC}A6y)CHQH(22a16V`n8eI4?QO<5$e$e_&5iH3I2zbrOR|8g!N2ZGGot&J`k zoQuK~YU3?1vz0qv%CzDU^5fd)&l0Pw_ptDp;2e{xuI-C_6Hlb_sm>a__qt|}#*f_u zYF3LD0c&aX`uQ_VBXk-(zT5pA=li92$0S&!6>hfVy>6>l1Ce3^9p zS%IL-6ukJjFW8gX5)TWx=iF^?Nn27J@5%rECEFV^Td_YA&p+sc%8Se&IK9W8thSapZN! zm39^5M(zjVfIMS0jdWP z8tt#sEy`S!E6M=htGc-iCXO+QrJuf?iZY7L0bhrnPrsSBHV?0am=icE+4_zMTJWm1Ke zwzcI1GgzJXGMOw9$h7LzTL+x?4s%)XRezlylc2_>(Z6=6U0qgbElT^04Eg~pVR9fL z6nWOYl?uFflXuAX5u>4gycAeoPg&5?m;ISgZ(w}Z)@8cFJ<0Q7u^<_t(Jyo2qAJy+ zt*aMa(&NoMRweYD@ZF!qPMPJlbzT@KsM~oMyk#6ntG`!`Ex8c#D=8}*Vf_{qEnfA9 z{%vV(WI_K4hJyWS|6_^U%lBP0yK+x-IsfEl?{#D~|4mZz??s$j`xo2#@0OJrw*Skw zQomBUws}1I|6(y%^Z9>)#ca0*6T^KyFQ!!g7nif`=x>QOnwr)1-kjmqdlm=T+28>o zb!<{I-OujpIb2+$TKa71KeXD12ggHOTsc{)M#q@DEX8GM0)19LXjf`PC{XIyJVT_{ zF=mMwP(-yY2gV)D$PwF&xM`4xRFJq8!uMvuk|Y(Iu&jrrXX^I)Ci*S;gRq0!{0<8- zn$Qb-w}=^mnp=@wU0sI2__Q+<4hJjuZ7=f|cnz+B%<Syf9pQ9N0UylD|3nhq-8lmm=0PMugpDE}51yi+B{(>x=i}<$ zZM(xTk3=o-P9_;A!O+w*0(T4#=Z-suy+&cX-0137u`VJ@2e%vZEkSk$&0zhScfr9N zs^yxi1(Jan=OpKZgsib0x)Ln?q*0yC%lKRMf+w7- z$zFQN97DTrK4+hwlG{K^G zL@0-43%qF(DKa>VL!FLsCE)R_XC!E7V=l1gqYf)bn=t;rHN1w;lZd%LhrfdeIpjGt zpR>h5oaf8AwXo9nH*$;VeX}5gR=OdRtm6xJW#D`l(C^?m2emSa%_<^8_I`HHz5eb- z+kGUT=g!bntmWwVR@blL8o5_xiJx|1BK_Q*2wTgn7~-mf{s!0wvpbcNiE|r$rEJY9BPq=YKXG0t1Ql)zBH5#T<282P$l|80{;)BA*`2j;(gFk=@#bq&=JQS4An zpBggR;lpzAG8gypFozQuk&|zFEcPJMarK*Bv}Q{V(W)U-*L%@?ePKXA7*)Lg;D$e*k{EFAGx-KytAU&#S()rX!F(|6f56s{N)C~MCwPM=PhULh7YG)HF5GzUe zPyQP~I(wdX!j^o2!}plKgrA?kg`b?66cL#4qbDyPOW9rzHwL3|Df=dwymsB3qLbW` zsskd!x|TnI=bO`-uqyinY($^dD&ASmM-C5Fz(5@xWd`|FL`GQ9X<6^;nX>8c%dmW5 zERAu26LjFwE0v?{My4j}gX zrZ8#>z$a_BSyT28(k>TFxM<8vQys4NB&;^@S0u-WjUe^N4wTaLS*Sv2nCz-C=5ZW0 zQgpct*Mkg!)i&XN^1Js--Hpm5LPrfU3Hgvcv@)m`7T=1@(r?rv@FdmlY{TdIK+~Z*u!Eb9W9#NRx#j!iPK5{Og>FY zPkk=z9ZloQ3S8XxTJrw3xbZ08kc`?zlUd3o-ok$2yM`R2Oh_k9q-eRWbnJ+-12TJ@ zRDDRxg0oD96FJYgeYOTag#zDIe+_Qn$z&=z<0ta z^f>IgkH;dNuRPAd6l)n;pV2C_tq@+nTVGe`z!Bbr--qy6c^QuP(~le^82}_&{IPbJ zrOW9Z*x(8j0DVj=FKg=27~ZnoB)%&rl4>ojjAP}bjpa=KI0{BOh}Jjr3ag%Dx*zY~ zwY;L+vpnV@wjY)Lp{rr+r}v4U z!K;QE3x)L{pR9(@3aZaGEMb@2sY9Gr*gtiAjn>swBcoCL)5oo3{rJpo^CfrV;Pmw8 zInzWxomvKE@x=XwA`;hy)UmCBswjC+?OC=(zMmjI~PRJ7l5Ya%5ND^S>?Ie6Y=fJI$Y69w%s|N`eC}> z(I!M0&+I(w$K>s&Tig*7oH@#L89i-j3Kss1-FrM#_JDm-?^J&aA_aD^#JLs@$;Zm3 zFZ0g5w58DwyQJ`?d&g*GJ#e=PlGQ_M?x>x%67?y3Dt0wXD7y=7)$_?HC84R2bK=iu z%;os=Aj1v@Ne^bp?E6}f#AbM$I(g53lmcPCX z$Z~>b*altqs^xVV3-m5^Yyoqu>F5%e~ekoA)f}w zE<=N#kcc9Zr$i8NN^dxenXB?MO6rQ@%vpSUdBrUgpSYpU(z%vrq=W0e*R==jV?(bbGK^%_?a&gw_FeSq}v5bbAM}Zj#)& zV+ySmH`jfEX9o|CTSW`1M|2U{PLrFsJ6A;7R zCW+%mrYDAvmu%==(96eMqgkhEyf;_{E?c) zrco{QbgcO-R`7?4ahl2SX5eU-#4lSQJQ2ne`8vm^bo%m(8H#CRF=!}_rL&IZXeuCY z)Y1EOpj5w={cL^ov9bjoP(l4n}I`Jw8L#6DSWxVkkTOP z;UI84dy|JxKj-Niz5aoDME7(Lh|SF{Hcw)#yR&C;f9X}gb}@vX_Vhohxbko))GthR zm6FPmeYD-IjSw=HiZIHSB}>+!iL5c0j1grUOK$dY8A+(D(^wm3;#$I3XBdo+zwgiUeBXcXbKdiv^PYG86p^)_o#A_uk}q-|YEjfVeBA31lUkQ+yQBD} zTloC}e2qZE;5~GSzM$ZReMeCdI3<){&4)k0qIpyRZGRhyhzf4u+q47-eXYQDKk2zl z55!H&@z7=#YL_;6(V+N=bmPk6bCo61pcC#NK`O183tq~`M=K{5G?H$37oZY^^Jsu0 z8c|jKOC1sTcO?BwZL~!oUaWk`2i=^) z?}mYbd6k@5oICO~F{9VM9`(RSfgg3tw(Q+>2Z0Ec|GH4BiDInV)qcD= zh%xPb(%({Pyn!|4$a(#-a9WP^#-xSUWK|`5lYg%;$pw9P-U>|0QG?IKzM58ZpJ#s% zCdlrh&8^->%z1WF883Wh6=D87u3)2O&}`t|BAmBp2H!EFp8lZo-E{8TxsnTwZ7W7f zS_AX&wL&+7(?eje83(FD>r;~nk#dNyo-is30FCfn4T7?E~we01W@ z5&?Ub(Dj0j`*hxBR0WO18_7anmVN%^AG2_xVdl7?rHtgGS_|GnYPn{^!YdIKk6rDo z?wq?vSODB_N5UXAV8DiccXp%6kop?HB|?F#?4B&-=+z z)8)Q9fGg!4#b(^%SNWghG>}JxQ1%M$JaRdBXsyhI7}IjW_%-;C;BZdKGba)wE*=Pp zx>CZ6#WxhE?f#r zFIXORXXE?UM=tM2k^wnlFrIe}I%EHG&nH5Fl=tkm5xwj??XqCBMq{Lv3u6+X(j#TY zNw9v5x49!lu0@X6XsDwWmdxc5(xvVX=|opqGYb{pk!BCuy=^|wgQo$$|=xgmliUsjgZVIV6P|iyDP_equmGI zKO7kc%do%M=0y1#9_au?f6*O>3OTELHy7_Sx7IvYq6VA$PNYu52godMT>fr+tquajz;lO)Q ze_>Los`~z~rcRI%-z4x0!$!|$OrIxX>1xI6ZD}j5BcN`X?J*GYU@U`z7vGW}a)~dM#)mq@(zC-{=6g z!gRlDO}=hkR!)KUE8yar_T(3K5CpDyhsODY@K@O`W<*@jas58$g_j;0we6Zjdh*a& z0L{?JK@uV|!_bcEvL=0y&gZwqBubELVKFx=Ns>^s2GESP^jm~#MfR1tU70Y9U>S1a zu37$k3pi+Oxi9ePJZNd+=iCm)pmW;>E#vg4Os4iWT_bLZ*oU|L@4?^0?i{oMirPg2(_8mt`#I~Y!|LxMHALOj?f;?9_2G{-wL6sY%pUOfn)KP}c&Xt8B#{pD)o2aJSsu#j<8$Lb7G zc4~ZZ3QHQbV=G5|SB>&rM-q8lKpImo~V*8nCvMH`=)o4fe85>EJRdEubHSK{eGK(X?w08| Gzx*3*cGVsL literal 25935 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 jr*FsWp#Q4{w*YNMvqfeD62H5SDEFkq pos.config - + - - - + + + + + From 6d238e6adf39964e240c6fea261c5f9b228bd163 Mon Sep 17 00:00:00 2001 From: Sylvain LE GAL Date: Sun, 7 Jul 2019 15:36:20 +0200 Subject: [PATCH 06/11] [FIX] revision --- pos_picking_delayed/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pos_picking_delayed/__manifest__.py b/pos_picking_delayed/__manifest__.py index 555d83c2..6cd178a8 100644 --- a/pos_picking_delayed/__manifest__.py +++ b/pos_picking_delayed/__manifest__.py @@ -4,7 +4,7 @@ { 'name': 'Point of Sale - Picking Creation Delayed', 'summary': 'Delay the creation of the picking when PoS order is created', - 'version': '10.0.1.0.0', + 'version': '12.0.1.0.0', 'category': 'Point Of Sale', 'author': 'GRAP, ' 'Odoo Community Association (OCA)', From 1147b065a35c152ab55e70e7214e09d1edbd5136 Mon Sep 17 00:00:00 2001 From: Sylvain LE GAL Date: Thu, 11 Jul 2019 13:06:26 +0200 Subject: [PATCH 07/11] [FIX] incorrect name of OCA repository --- oca_dependencies.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oca_dependencies.txt b/oca_dependencies.txt index 24667583..1fff7bce 100644 --- a/oca_dependencies.txt +++ b/oca_dependencies.txt @@ -1 +1 @@ -queue_job +queue From 15311b4ed91b07a2c3aecdc2095e41af43dee1b2 Mon Sep 17 00:00:00 2001 From: Sylvain LE GAL Date: Mon, 22 Jul 2019 15:56:23 +0200 Subject: [PATCH 08/11] [IMP] Add default channel --- pos_picking_delayed/models/pos_order.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pos_picking_delayed/models/pos_order.py b/pos_picking_delayed/models/pos_order.py index fc7fbd53..83502446 100644 --- a/pos_picking_delayed/models/pos_order.py +++ b/pos_picking_delayed/models/pos_order.py @@ -43,7 +43,7 @@ class PosOrder(models.Model): # Custom Section @api.multi - @job + @job(default_channel='root.pos_picking_delayed') def _create_delayed_picking(self): super(PosOrder, self).create_picking() self.write({'has_picking_delayed': False}) From ccba78974af222cd2793aa530c0d53e32a2cac2e Mon Sep 17 00:00:00 2001 From: oca-travis Date: Wed, 24 Jul 2019 07:10:44 +0000 Subject: [PATCH 09/11] [UPD] Update pos_picking_delayed.pot --- .../i18n/pos_picking_delayed.pot | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/pos_picking_delayed/i18n/pos_picking_delayed.pot b/pos_picking_delayed/i18n/pos_picking_delayed.pot index 85d24286..304f5c4b 100644 --- a/pos_picking_delayed/i18n/pos_picking_delayed.pot +++ b/pos_picking_delayed/i18n/pos_picking_delayed.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: <>\n" "Language-Team: \n" @@ -14,32 +14,33 @@ msgstr "" "Plural-Forms: \n" #. module: pos_picking_delayed -#: model:ir.model.fields,help:pos_picking_delayed.field_pos_config_picking_creation_delayed +#: model:ir.model.fields,help:pos_picking_delayed.field_pos_config__picking_creation_delayed msgid "Check this box if you want to delay the creation of the picking created by the PoS orders. If checked, the pickings will be created later, by a cron task." msgstr "" #. module: pos_picking_delayed -#: model:ir.model.fields,field_description:pos_picking_delayed.field_pos_order_has_picking_delayed -msgid "Has picking delayed" +#: model:ir.model.fields,field_description:pos_picking_delayed.field_pos_order__has_picking_delayed +msgid "Has Picking Delayed" msgstr "" #. module: pos_picking_delayed -#: model:ir.model.fields,field_description:pos_picking_delayed.field_pos_config_picking_creation_delayed +#: model:ir.model.fields,field_description:pos_picking_delayed.field_pos_config__picking_creation_delayed +#: model_terms:ir.ui.view,arch_db:pos_picking_delayed.view_pos_config_form msgid "Picking Creation Delayed" msgstr "" #. module: pos_picking_delayed -#: model:ir.model,name:pos_picking_delayed.model_pos_order -msgid "Point of Sale Orders" +#: model:ir.model,name:pos_picking_delayed.model_pos_config +msgid "Point of Sale Configuration" msgstr "" #. module: pos_picking_delayed -#: model:ir.model.fields,help:pos_picking_delayed.field_pos_order_has_picking_delayed -msgid "This checkbox is checked if the generation of the picking has been delayed. The picking will be created by cron." +#: model:ir.model,name:pos_picking_delayed.model_pos_order +msgid "Point of Sale Orders" msgstr "" #. module: pos_picking_delayed -#: model:ir.model,name:pos_picking_delayed.model_pos_config -msgid "pos.config" +#: model:ir.model.fields,help:pos_picking_delayed.field_pos_order__has_picking_delayed +msgid "This checkbox is checked if the generation of the picking has been delayed. The picking will be created by cron." msgstr "" From 7ca039e1ef6b1bfa7d067ccd7a1df8bc1cdc6e4c Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 24 Jul 2019 07:16:56 +0000 Subject: [PATCH 10/11] [UPD] README.rst --- pos_picking_delayed/README.rst | 38 ++++-------- .../static/description/index.html | 61 ++++++++----------- 2 files changed, 37 insertions(+), 62 deletions(-) diff --git a/pos_picking_delayed/README.rst b/pos_picking_delayed/README.rst index cc6cafa3..3c197534 100644 --- a/pos_picking_delayed/README.rst +++ b/pos_picking_delayed/README.rst @@ -14,13 +14,13 @@ Point of Sale - Picking Creation Delayed :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpos-lightgray.png?logo=github - :target: https://github.com/OCA/pos/tree/10.0/pos_picking_delayed + :target: https://github.com/OCA/pos/tree/12.0/pos_picking_delayed :alt: OCA/pos .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/pos-10-0/pos-10-0-pos_picking_delayed + :target: https://translation.odoo-community.org/projects/pos-12-0/pos-12-0-pos_picking_delayed :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/184/10.0 + :target: https://runbot.odoo-community.org/runbot/184/12.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -29,16 +29,7 @@ This module extends the functionality of odoo Point Of Sale to reduce creation time of the PoS orders, via the front UI. For that purpose, it delays the creation of the picking associated, that will -be created later, by cron. (set by default to run each minute). - -Technical information ---------------------- - -A log will be generated to mention the creation of the pickings by cron. - -``2018-09-28 07:47:18,300 163 INFO db odoo.addons.base.ir.ir_cron: Starting job `Create Delayed PoS Picking.`` - -``2018-09-28 07:47:19,168 163 INFO db odoo.addons.pos_picking_delayed.models.pos_order: Pickings created for 3 PoS Orders`` +be created later by queue job. This module is interesting specially in a context of Synchroneous Point Of Sale that is introduced by certification modules like 'l10n_fr_pos_cert' because @@ -63,30 +54,25 @@ Configuration .. image:: https://raw.githubusercontent.com/pos_picking_delayed/static/description/pos_config_form.png +* This module depends on ``queue_job`` module that requires specific + configuration to works properly. Make sure your config file is correctly set. + See https://github.com/OCA/queue/tree/12.0/queue_job + Usage ===== -* Use your Point of Sale as usual. when validating an order, the order will - be in a different color until the cron is executed +* Use your Point of Sale as usual. When validating an order, the order will + be in a different color until the job is executed .. image:: https://raw.githubusercontent.com/pos_picking_delayed/static/description/pos_order_tree.png -Known issues / Roadmap -====================== - -* Make this module depend on the module OCA `queue_job` job module. - -* In the cron job (or the future queue job), improvment can be done, limiting - the quantity of environments, grouping orders by company, and changing - context once. - 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. @@ -124,6 +110,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/pos `_ project on GitHub. +This module is part of the `OCA/pos `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/pos_picking_delayed/static/description/index.html b/pos_picking_delayed/static/description/index.html index b84e1b28..bcd408df 100644 --- a/pos_picking_delayed/static/description/index.html +++ b/pos_picking_delayed/static/description/index.html @@ -367,16 +367,11 @@ ul.auto-toc { !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/pos Translate me on Weblate Try me on Runbot

+

Beta License: AGPL-3 OCA/pos Translate me on Weblate Try me on Runbot

This module extends the functionality of odoo Point Of Sale to reduce creation time of the PoS orders, via the front UI.

For that purpose, it delays the creation of the picking associated, that will -be created later, by cron. (set by default to run each minute).

-
-

Technical information

-

A log will be generated to mention the creation of the pickings by cron.

-

2018-09-28 07:47:18,300 163 INFO db odoo.addons.base.ir.ir_cron: Starting job `Create Delayed PoS Picking.

-

2018-09-28 07:47:19,168 163 INFO db odoo.addons.pos_picking_delayed.models.pos_order: Pickings created for 3 PoS Orders

+be created later by queue job.

This module is interesting specially in a context of Synchroneous Point Of Sale that is introduced by certification modules like ‘l10n_fr_pos_cert’ because in such cases, the bill will be printed only when the pos order is created ( @@ -389,67 +384,62 @@ for more information.

-

Configuration

+

Configuration

  • Go to ‘Point of Sale’ / ‘Configuration’ / ‘Point of Sale’
  • Select your Point of Sale
  • Set the value in the field ‘Picking Creation Delayed’. (Checked by default)
https://raw.githubusercontent.com/pos_picking_delayed/static/description/pos_config_form.png -
-
-

Usage

    -
  • Use your Point of Sale as usual. when validating an order, the order will -be in a different color until the cron is executed
  • +
  • This module depends on queue_job module that requires specific +configuration to works properly. Make sure your config file is correctly set. +See https://github.com/OCA/queue/tree/12.0/queue_job
-https://raw.githubusercontent.com/pos_picking_delayed/static/description/pos_order_tree.png
-
-

Known issues / Roadmap

+
+

Usage

    -
  • Make this module depend on the module OCA queue_job job module.
  • -
  • In the cron job (or the future queue job), improvment can be done, limiting -the quantity of environments, grouping orders by company, and changing -context once.
  • +
  • Use your Point of Sale as usual. When validating an order, the order will +be in a different color until the job is executed
+https://raw.githubusercontent.com/pos_picking_delayed/static/description/pos_order_tree.png
-

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

+feedback.

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

-

Credits

+

Credits

-

Authors

+

Authors

  • GRAP
-

Other credits

+

Other credits

The development of this module has been financially supported by:

  • GRAP, Groupement Régional Alimentaire de Proximité (www.grap.coop)
  • @@ -457,17 +447,16 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
-

Maintainers

+

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

+

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

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

- From fce45f3418ef80f6260ff3d0af0fb8f9a63f139e Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 24 Jul 2019 07:16:56 +0000 Subject: [PATCH 11/11] [ADD] setup.py --- setup/_metapackage/VERSION.txt | 2 +- setup/_metapackage/setup.py | 1 + setup/pos_picking_delayed/odoo/addons/pos_picking_delayed | 1 + setup/pos_picking_delayed/setup.py | 6 ++++++ 4 files changed, 9 insertions(+), 1 deletion(-) create mode 120000 setup/pos_picking_delayed/odoo/addons/pos_picking_delayed create mode 100644 setup/pos_picking_delayed/setup.py diff --git a/setup/_metapackage/VERSION.txt b/setup/_metapackage/VERSION.txt index db81d948..dea8fb52 100644 --- a/setup/_metapackage/VERSION.txt +++ b/setup/_metapackage/VERSION.txt @@ -1 +1 @@ -12.0.20190718.0 \ No newline at end of file +12.0.20190724.0 \ No newline at end of file diff --git a/setup/_metapackage/setup.py b/setup/_metapackage/setup.py index 1e817eeb..5159ed7b 100644 --- a/setup/_metapackage/setup.py +++ b/setup/_metapackage/setup.py @@ -10,6 +10,7 @@ setuptools.setup( install_requires=[ 'odoo12-addon-pos_access_right', 'odoo12-addon-pos_order_mgmt', + 'odoo12-addon-pos_picking_delayed', 'odoo12-addon-pos_ticket_logo', ], classifiers=[ diff --git a/setup/pos_picking_delayed/odoo/addons/pos_picking_delayed b/setup/pos_picking_delayed/odoo/addons/pos_picking_delayed new file mode 120000 index 00000000..6ddaccdf --- /dev/null +++ b/setup/pos_picking_delayed/odoo/addons/pos_picking_delayed @@ -0,0 +1 @@ +../../../../pos_picking_delayed \ No newline at end of file diff --git a/setup/pos_picking_delayed/setup.py b/setup/pos_picking_delayed/setup.py new file mode 100644 index 00000000..28c57bb6 --- /dev/null +++ b/setup/pos_picking_delayed/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +)