From 9e7b27149f35f467ca2b602f9450143f4898c028 Mon Sep 17 00:00:00 2001 From: Jordi Ballester Alomar Date: Thu, 28 Jun 2018 19:02:11 +0200 Subject: [PATCH 01/15] 11.0 - add stock_warehouse_calendar --- stock_warehouse_calendar/__init__.py | 1 + stock_warehouse_calendar/__manifest__.py | 23 ++++++ stock_warehouse_calendar/models/__init__.py | 2 + .../models/procurement_rule.py | 24 +++++++ .../models/stock_warehouse.py | 11 +++ stock_warehouse_calendar/readme/CONFIGURE.rst | 14 ++++ .../readme/CONTRIBUTORS.rst | 1 + .../readme/DESCRIPTION.rst | 7 ++ stock_warehouse_calendar/readme/ROADMAP.rst | 0 stock_warehouse_calendar/readme/USAGE.rst | 6 ++ .../static/description/icon.png | Bin 0 -> 9455 bytes stock_warehouse_calendar/tests/__init__.py | 2 + .../tests/test_stock_warehouse_calendar.py | 68 ++++++++++++++++++ .../views/stock_warehouse_views.xml | 16 +++++ 14 files changed, 175 insertions(+) create mode 100644 stock_warehouse_calendar/__init__.py create mode 100644 stock_warehouse_calendar/__manifest__.py create mode 100644 stock_warehouse_calendar/models/__init__.py create mode 100644 stock_warehouse_calendar/models/procurement_rule.py create mode 100644 stock_warehouse_calendar/models/stock_warehouse.py create mode 100644 stock_warehouse_calendar/readme/CONFIGURE.rst create mode 100644 stock_warehouse_calendar/readme/CONTRIBUTORS.rst create mode 100644 stock_warehouse_calendar/readme/DESCRIPTION.rst create mode 100644 stock_warehouse_calendar/readme/ROADMAP.rst create mode 100644 stock_warehouse_calendar/readme/USAGE.rst create mode 100644 stock_warehouse_calendar/static/description/icon.png create mode 100644 stock_warehouse_calendar/tests/__init__.py create mode 100644 stock_warehouse_calendar/tests/test_stock_warehouse_calendar.py create mode 100644 stock_warehouse_calendar/views/stock_warehouse_views.xml diff --git a/stock_warehouse_calendar/__init__.py b/stock_warehouse_calendar/__init__.py new file mode 100644 index 000000000..0650744f6 --- /dev/null +++ b/stock_warehouse_calendar/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/stock_warehouse_calendar/__manifest__.py b/stock_warehouse_calendar/__manifest__.py new file mode 100644 index 000000000..5b31625f2 --- /dev/null +++ b/stock_warehouse_calendar/__manifest__.py @@ -0,0 +1,23 @@ +# Copyright 2017 Eficent Business and IT Consulting Services, S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +{ + "name": "Stock Warehouse Calendar", + "summary": "Adds a calendar to the Warehouse", + "version": "11.0.1.0.0", + "license": "AGPL-3", + "website": "https://github.com/stock-logistics-warehouse", + "author": "Eficent, " + "Odoo Community Association (OCA)", + "category": "Warehouse Management", + "depends": [ + "stock", + "resource" + ], + "data": [ + "views/stock_warehouse_views.xml", + ], + "installable": True, + 'development_status': 'Beta', + 'maintainers': ['jbeficent'], +} diff --git a/stock_warehouse_calendar/models/__init__.py b/stock_warehouse_calendar/models/__init__.py new file mode 100644 index 000000000..e41660708 --- /dev/null +++ b/stock_warehouse_calendar/models/__init__.py @@ -0,0 +1,2 @@ +from . import stock_warehouse +from . import procurement_rule diff --git a/stock_warehouse_calendar/models/procurement_rule.py b/stock_warehouse_calendar/models/procurement_rule.py new file mode 100644 index 000000000..ebe166203 --- /dev/null +++ b/stock_warehouse_calendar/models/procurement_rule.py @@ -0,0 +1,24 @@ +# Copyright 2018 Eficent Business and IT Consulting Services, S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import fields, models +from datetime import datetime + + +class ProcurementRule(models.Model): + _inherit = 'procurement.rule' + + def _get_stock_move_values(self, product_id, product_qty, product_uom, + location_id, name, origin, values, group_id): + res = super(ProcurementRule, self)._get_stock_move_values( + product_id, product_qty, product_uom, + location_id, name, origin, values, group_id) + dt_planned = fields.Datetime.from_string(values['date_planned']) + warehouse = self.propagate_warehouse_id or self.warehouse_id + if warehouse.calendar_id and self.delay: + date_expected = warehouse.calendar_id.plan_days( + -1 * self.delay - 1, dt_planned) + if date_expected > datetime.now(): + res['date'] = date_expected + res['date_expected'] = date_expected + return res diff --git a/stock_warehouse_calendar/models/stock_warehouse.py b/stock_warehouse_calendar/models/stock_warehouse.py new file mode 100644 index 000000000..9cfb899be --- /dev/null +++ b/stock_warehouse_calendar/models/stock_warehouse.py @@ -0,0 +1,11 @@ +# Copyright 2018 Eficent Business and IT Consulting Services, S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import fields, models + + +class StockWarehouse(models.Model): + _inherit = 'stock.warehouse' + + calendar_id = fields.Many2one('resource.calendar', + 'Working Hours') diff --git a/stock_warehouse_calendar/readme/CONFIGURE.rst b/stock_warehouse_calendar/readme/CONFIGURE.rst new file mode 100644 index 000000000..b77834e5b --- /dev/null +++ b/stock_warehouse_calendar/readme/CONFIGURE.rst @@ -0,0 +1,14 @@ +* Go to *Settings* and activate the developer mode. + +* Go to *Settings > Technical > Resource > Working Time* and define your + resource calendar. + +* Go to *Inventory > Configuration > Warehouse Management > Warehouses* + and assign the Resource Calendar. + +* Go to *Inventory > Configuration > Settings* and in *Warehouse* mark + 'Multi-Step Routes option'. + +* Go to *Inventory > Configuration > Warehouse Management > Routes* and + set up the proper delays in the procurement rules where 'action' + is 'Move From Another Location'. diff --git a/stock_warehouse_calendar/readme/CONTRIBUTORS.rst b/stock_warehouse_calendar/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..d72a49b94 --- /dev/null +++ b/stock_warehouse_calendar/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Jordi Ballester (EFICENT) . \ No newline at end of file diff --git a/stock_warehouse_calendar/readme/DESCRIPTION.rst b/stock_warehouse_calendar/readme/DESCRIPTION.rst new file mode 100644 index 000000000..ac46ffca3 --- /dev/null +++ b/stock_warehouse_calendar/readme/DESCRIPTION.rst @@ -0,0 +1,7 @@ +This module adds a Calendar to the Warehouse. This calendar can then used as +the basis of the proper computation of start/end dates based on lead times in +this and other modules. + +In this module, the calendar considered in the computation of start date of +stock moves and pickings created from procurements, where the lead time +is used. diff --git a/stock_warehouse_calendar/readme/ROADMAP.rst b/stock_warehouse_calendar/readme/ROADMAP.rst new file mode 100644 index 000000000..e69de29bb diff --git a/stock_warehouse_calendar/readme/USAGE.rst b/stock_warehouse_calendar/readme/USAGE.rst new file mode 100644 index 000000000..f71e1f60c --- /dev/null +++ b/stock_warehouse_calendar/readme/USAGE.rst @@ -0,0 +1,6 @@ +When a picking is created out of a procurement evaluation (from an +orderpoint, MTO,...) the calendar is considered in the computation of the +expected date of the picking and moves. For example, if it takes 1 day to +execute a stock transfer from another warehouse and it is Monday, the picking +to resupply will be created with expected start date on the previous Friday, +if the warehouse operates under a Mo-Fri working calendar. diff --git a/stock_warehouse_calendar/static/description/icon.png b/stock_warehouse_calendar/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/stock_warehouse_calendar/tests/__init__.py b/stock_warehouse_calendar/tests/__init__.py new file mode 100644 index 000000000..faa5afbf1 --- /dev/null +++ b/stock_warehouse_calendar/tests/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import test_stock_warehouse_calendar diff --git a/stock_warehouse_calendar/tests/test_stock_warehouse_calendar.py b/stock_warehouse_calendar/tests/test_stock_warehouse_calendar.py new file mode 100644 index 000000000..3335abdf7 --- /dev/null +++ b/stock_warehouse_calendar/tests/test_stock_warehouse_calendar.py @@ -0,0 +1,68 @@ +# -*- coding: utf-8 -*- +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields +from odoo.tests.common import TransactionCase + + +class TestStockWarehouseCalendar(TransactionCase): + + def setUp(self): + super(TestStockWarehouseCalendar, self).setUp() + self.move_obj = self.env['stock.move'] + self.company = self.env.ref('base.main_company') + self.warehouse = self.env.ref('stock.warehouse0') + self.customer_loc = self.env.ref('stock.stock_location_customers') + self.company_partner = self.env.ref('base.main_partner') + self.calendar = self.env.ref('resource.resource_calendar_std') + self.warehouse.calendar_id = self.calendar + self.warehouse_2 = self.env['stock.warehouse'].create({ + 'code': 'WH-T', + 'name': 'Warehouse Test', + 'calendar_id': self.calendar.id, + }) + + self.product = self.env['product.product'].create({ + 'name': 'test product', + 'default_code': 'PRD', + 'type': 'product', + }) + + route_vals = { + 'name': 'WH2 -> WH', + } + self.transfer_route = self.env['stock.location.route'].create( + route_vals) + rule_vals = { + 'location_id': self.warehouse.lot_stock_id.id, + 'location_src_id': self.warehouse_2.lot_stock_id.id, + 'action': 'move', + 'warehouse_id': self.warehouse.id, + 'propagate_warehouse_id': self.warehouse_2.id, + 'picking_type_id': self.env.ref('stock.picking_type_internal').id, + 'name': 'WH2->WH', + 'route_id': self.transfer_route.id, + 'delay': 1, + } + self.transfer_rule = self.env['procurement.rule'].create(rule_vals) + self.product.route_ids = [(6, 0, self.transfer_route.ids)] + + def test_procurement_with_calendar(self): + values = { + 'date_planned': '2097-01-07 09:00:00', # Monday + 'warehouse_id': self.warehouse, + 'company_id': self.company, + 'rule_id': self.transfer_rule, + } + self.env['procurement.group'].run( + self.product, 100, + self.product.uom_id, + self.warehouse.lot_stock_id, 'Test', + 'Test', values) + move = self.env['stock.move'].search( + [('product_id', '=', self.product.id)], limit=1) + date_expected = fields.Datetime.from_string(move.date_expected).date() + # Friday 4th Jan 2017 + friday = fields.Datetime.from_string('2097-01-04 09:00:00').date() + + self.assertEquals(date_expected, friday) diff --git a/stock_warehouse_calendar/views/stock_warehouse_views.xml b/stock_warehouse_calendar/views/stock_warehouse_views.xml new file mode 100644 index 000000000..4d66eebff --- /dev/null +++ b/stock_warehouse_calendar/views/stock_warehouse_views.xml @@ -0,0 +1,16 @@ + + + + + + stock.warehouse + stock.warehouse + + + + + + + + From 102089d266c56e939da4517538eda33b17d99ae3 Mon Sep 17 00:00:00 2001 From: oca-travis Date: Wed, 4 Jul 2018 08:56:59 +0000 Subject: [PATCH 02/15] [UPD] Update stock_warehouse_calendar.pot --- .../i18n/stock_warehouse_calendar.pot | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 stock_warehouse_calendar/i18n/stock_warehouse_calendar.pot diff --git a/stock_warehouse_calendar/i18n/stock_warehouse_calendar.pot b/stock_warehouse_calendar/i18n/stock_warehouse_calendar.pot new file mode 100644 index 000000000..dd015c4eb --- /dev/null +++ b/stock_warehouse_calendar/i18n/stock_warehouse_calendar.pot @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_warehouse_calendar +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.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: stock_warehouse_calendar +#: model:ir.model,name:stock_warehouse_calendar.model_procurement_rule +msgid "Procurement Rule" +msgstr "" + +#. module: stock_warehouse_calendar +#: model:ir.model,name:stock_warehouse_calendar.model_stock_warehouse +msgid "Warehouse" +msgstr "" + +#. module: stock_warehouse_calendar +#: model:ir.model.fields,field_description:stock_warehouse_calendar.field_stock_warehouse_calendar_id +msgid "Working Hours" +msgstr "" + From 0964a9a81c7b9caa452e2085f36cd0e41eab24bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul=20=28ACSONE=29?= Date: Fri, 6 Jul 2018 12:28:29 +0200 Subject: [PATCH 03/15] [FIX] remove empty file that breaks readme generator --- stock_warehouse_calendar/readme/ROADMAP.rst | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 stock_warehouse_calendar/readme/ROADMAP.rst diff --git a/stock_warehouse_calendar/readme/ROADMAP.rst b/stock_warehouse_calendar/readme/ROADMAP.rst deleted file mode 100644 index e69de29bb..000000000 From fa1bb0b68944bc8e40495c098fd29f82c400d15d Mon Sep 17 00:00:00 2001 From: OCA Git Bot Date: Tue, 10 Jul 2018 05:36:27 +0200 Subject: [PATCH 04/15] [UPD] README.rst --- stock_warehouse_calendar/README.rst | 115 +++++ .../static/description/index.html | 452 ++++++++++++++++++ 2 files changed, 567 insertions(+) create mode 100644 stock_warehouse_calendar/README.rst create mode 100644 stock_warehouse_calendar/static/description/index.html diff --git a/stock_warehouse_calendar/README.rst b/stock_warehouse_calendar/README.rst new file mode 100644 index 000000000..c3b48de6d --- /dev/null +++ b/stock_warehouse_calendar/README.rst @@ -0,0 +1,115 @@ +======================== +Stock Warehouse Calendar +======================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--warehouse-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-warehouse/tree/11.0/stock_warehouse_calendar + :alt: OCA/stock-logistics-warehouse +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-warehouse-11-0/stock-logistics-warehouse-11-0-stock_warehouse_calendar + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/153/11.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module adds a Calendar to the Warehouse. This calendar can then used as +the basis of the proper computation of start/end dates based on lead times in +this and other modules. + +In this module, the calendar considered in the computation of start date of +stock moves and pickings created from procurements, where the lead time +is used. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +* Go to *Settings* and activate the developer mode. + +* Go to *Settings > Technical > Resource > Working Time* and define your + resource calendar. + +* Go to *Inventory > Configuration > Warehouse Management > Warehouses* + and assign the Resource Calendar. + +* Go to *Inventory > Configuration > Settings* and in *Warehouse* mark + 'Multi-Step Routes option'. + +* Go to *Inventory > Configuration > Warehouse Management > Routes* and + set up the proper delays in the procurement rules where 'action' + is 'Move From Another Location'. + +Usage +===== + +When a picking is created out of a procurement evaluation (from an +orderpoint, MTO,...) the calendar is considered in the computation of the +expected date of the picking and moves. For example, if it takes 1 day to +execute a stock transfer from another warehouse and it is Monday, the picking +to resupply will be created with expected start date on the previous Friday, +if the warehouse operates under a Mo-Fri working calendar. + +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 +~~~~~~~ + +* Eficent + +Contributors +~~~~~~~~~~~~ + +* Jordi Ballester (EFICENT) . + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-jbeficent| image:: https://github.com/jbeficent.png?size=40px + :target: https://github.com/jbeficent + :alt: jbeficent + +Current `maintainer `__: + +|maintainer-jbeficent| + +This module is part of the `OCA/stock-logistics-warehouse `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/stock_warehouse_calendar/static/description/index.html b/stock_warehouse_calendar/static/description/index.html new file mode 100644 index 000000000..33fa8e61b --- /dev/null +++ b/stock_warehouse_calendar/static/description/index.html @@ -0,0 +1,452 @@ + + + + + + +Stock Warehouse Calendar + + + +
+

Stock Warehouse Calendar

+ + +

Beta License: AGPL-3 OCA/stock-logistics-warehouse Translate me on Weblate Try me on Runbot

+

This module adds a Calendar to the Warehouse. This calendar can then used as +the basis of the proper computation of start/end dates based on lead times in +this and other modules.

+

In this module, the calendar considered in the computation of start date of +stock moves and pickings created from procurements, where the lead time +is used.

+

Table of contents

+ +
+

Configuration

+
    +
  • Go to Settings and activate the developer mode.
  • +
  • Go to Settings > Technical > Resource > Working Time and define your +resource calendar.
  • +
  • Go to Inventory > Configuration > Warehouse Management > Warehouses +and assign the Resource Calendar.
  • +
  • Go to Inventory > Configuration > Settings and in Warehouse mark +‘Multi-Step Routes option’.
  • +
  • Go to Inventory > Configuration > Warehouse Management > Routes and +set up the proper delays in the procurement rules where ‘action’ +is ‘Move From Another Location’.
  • +
+
+
+

Usage

+

When a picking is created out of a procurement evaluation (from an +orderpoint, MTO,…) the calendar is considered in the computation of the +expected date of the picking and moves. For example, if it takes 1 day to +execute a stock transfer from another warehouse and it is Monday, the picking +to resupply will be created with expected start date on the previous Friday, +if the warehouse operates under a Mo-Fri working calendar.

+
+
+

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

+
    +
  • Eficent
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

Current maintainer:

+

jbeficent

+

This module is part of the OCA/stock-logistics-warehouse project on GitHub.

+

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

+
+
+
+ + From 63b70b36d30460fc94b346c23009f6753e8260da Mon Sep 17 00:00:00 2001 From: mreficent Date: Wed, 20 Mar 2019 17:10:44 +0100 Subject: [PATCH 05/15] [MIG] stock_warehouse_calendar: Migration to 12.0 --- stock_warehouse_calendar/README.rst | 18 +++++++++--------- stock_warehouse_calendar/__init__.py | 1 + stock_warehouse_calendar/__manifest__.py | 6 +++--- stock_warehouse_calendar/models/__init__.py | 3 ++- .../{procurement_rule.py => stock_rule.py} | 8 ++++---- .../models/stock_warehouse.py | 6 ++++-- stock_warehouse_calendar/readme/CONFIGURE.rst | 2 +- .../static/description/index.html | 6 +++--- stock_warehouse_calendar/tests/__init__.py | 2 +- .../tests/test_stock_warehouse_calendar.py | 12 ++++++------ 10 files changed, 34 insertions(+), 30 deletions(-) rename stock_warehouse_calendar/models/{procurement_rule.py => stock_rule.py} (81%) diff --git a/stock_warehouse_calendar/README.rst b/stock_warehouse_calendar/README.rst index c3b48de6d..160e057b8 100644 --- a/stock_warehouse_calendar/README.rst +++ b/stock_warehouse_calendar/README.rst @@ -10,17 +10,17 @@ Stock Warehouse Calendar .. |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 +.. |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%2Fstock--logistics--warehouse-lightgray.png?logo=github - :target: https://github.com/OCA/stock-logistics-warehouse/tree/11.0/stock_warehouse_calendar + :target: https://github.com/OCA/stock-logistics-warehouse/tree/12.0/stock_warehouse_calendar :alt: OCA/stock-logistics-warehouse .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/stock-logistics-warehouse-11-0/stock-logistics-warehouse-11-0-stock_warehouse_calendar + :target: https://translation.odoo-community.org/projects/stock-logistics-warehouse-12-0/stock-logistics-warehouse-12-0-stock_warehouse_calendar :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/153/11.0 + :target: https://runbot.odoo-community.org/runbot/153/12.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -53,7 +53,7 @@ Configuration 'Multi-Step Routes option'. * Go to *Inventory > Configuration > Warehouse Management > Routes* and - set up the proper delays in the procurement rules where 'action' + set up the proper delays in the stock rules where 'action' is 'Move From Another Location'. Usage @@ -72,7 +72,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -110,6 +110,6 @@ Current `maintainer `__: |maintainer-jbeficent| -This module is part of the `OCA/stock-logistics-warehouse `_ project on GitHub. +This module is part of the `OCA/stock-logistics-warehouse `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/stock_warehouse_calendar/__init__.py b/stock_warehouse_calendar/__init__.py index 0650744f6..133f68732 100644 --- a/stock_warehouse_calendar/__init__.py +++ b/stock_warehouse_calendar/__init__.py @@ -1 +1,2 @@ +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). from . import models diff --git a/stock_warehouse_calendar/__manifest__.py b/stock_warehouse_calendar/__manifest__.py index 5b31625f2..0b3a5bc9e 100644 --- a/stock_warehouse_calendar/__manifest__.py +++ b/stock_warehouse_calendar/__manifest__.py @@ -4,15 +4,15 @@ { "name": "Stock Warehouse Calendar", "summary": "Adds a calendar to the Warehouse", - "version": "11.0.1.0.0", - "license": "AGPL-3", + "version": "12.0.1.0.0", + "license": "LGPL-3", "website": "https://github.com/stock-logistics-warehouse", "author": "Eficent, " "Odoo Community Association (OCA)", "category": "Warehouse Management", "depends": [ "stock", - "resource" + "resource", ], "data": [ "views/stock_warehouse_views.xml", diff --git a/stock_warehouse_calendar/models/__init__.py b/stock_warehouse_calendar/models/__init__.py index e41660708..200eddbf2 100644 --- a/stock_warehouse_calendar/models/__init__.py +++ b/stock_warehouse_calendar/models/__init__.py @@ -1,2 +1,3 @@ +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). from . import stock_warehouse -from . import procurement_rule +from . import stock_rule diff --git a/stock_warehouse_calendar/models/procurement_rule.py b/stock_warehouse_calendar/models/stock_rule.py similarity index 81% rename from stock_warehouse_calendar/models/procurement_rule.py rename to stock_warehouse_calendar/models/stock_rule.py index ebe166203..896a6faae 100644 --- a/stock_warehouse_calendar/models/procurement_rule.py +++ b/stock_warehouse_calendar/models/stock_rule.py @@ -5,15 +5,15 @@ from odoo import fields, models from datetime import datetime -class ProcurementRule(models.Model): - _inherit = 'procurement.rule' +class StockRule(models.Model): + _inherit = 'stock.rule' def _get_stock_move_values(self, product_id, product_qty, product_uom, location_id, name, origin, values, group_id): - res = super(ProcurementRule, self)._get_stock_move_values( + res = super(StockRule, self)._get_stock_move_values( product_id, product_qty, product_uom, location_id, name, origin, values, group_id) - dt_planned = fields.Datetime.from_string(values['date_planned']) + dt_planned = fields.Datetime.to_datetime(values['date_planned']) warehouse = self.propagate_warehouse_id or self.warehouse_id if warehouse.calendar_id and self.delay: date_expected = warehouse.calendar_id.plan_days( diff --git a/stock_warehouse_calendar/models/stock_warehouse.py b/stock_warehouse_calendar/models/stock_warehouse.py index 9cfb899be..b14104db6 100644 --- a/stock_warehouse_calendar/models/stock_warehouse.py +++ b/stock_warehouse_calendar/models/stock_warehouse.py @@ -7,5 +7,7 @@ from odoo import fields, models class StockWarehouse(models.Model): _inherit = 'stock.warehouse' - calendar_id = fields.Many2one('resource.calendar', - 'Working Hours') + calendar_id = fields.Many2one( + comodel_name='resource.calendar', + string='Working Hours', + ) diff --git a/stock_warehouse_calendar/readme/CONFIGURE.rst b/stock_warehouse_calendar/readme/CONFIGURE.rst index b77834e5b..2c97aad45 100644 --- a/stock_warehouse_calendar/readme/CONFIGURE.rst +++ b/stock_warehouse_calendar/readme/CONFIGURE.rst @@ -10,5 +10,5 @@ 'Multi-Step Routes option'. * Go to *Inventory > Configuration > Warehouse Management > Routes* and - set up the proper delays in the procurement rules where 'action' + set up the proper delays in the stock rules where 'action' is 'Move From Another Location'. diff --git a/stock_warehouse_calendar/static/description/index.html b/stock_warehouse_calendar/static/description/index.html index 33fa8e61b..aa771c361 100644 --- a/stock_warehouse_calendar/static/description/index.html +++ b/stock_warehouse_calendar/static/description/index.html @@ -367,7 +367,7 @@ ul.auto-toc { !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/stock-logistics-warehouse Translate me on Weblate Try me on Runbot

+

Beta License: AGPL-3 OCA/stock-logistics-warehouse Translate me on Weblate Try me on Runbot

This module adds a Calendar to the Warehouse. This calendar can then used as the basis of the proper computation of start/end dates based on lead times in this and other modules.

@@ -417,7 +417,7 @@ if the warehouse operates under a Mo-Fri working calendar.

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.

@@ -443,7 +443,7 @@ mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainer:

jbeficent

-

This module is part of the OCA/stock-logistics-warehouse project on GitHub.

+

This module is part of the OCA/stock-logistics-warehouse project on GitHub.

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

diff --git a/stock_warehouse_calendar/tests/__init__.py b/stock_warehouse_calendar/tests/__init__.py index faa5afbf1..5a6c657ff 100644 --- a/stock_warehouse_calendar/tests/__init__.py +++ b/stock_warehouse_calendar/tests/__init__.py @@ -1,2 +1,2 @@ -# -*- coding: utf-8 -*- +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). from . import test_stock_warehouse_calendar diff --git a/stock_warehouse_calendar/tests/test_stock_warehouse_calendar.py b/stock_warehouse_calendar/tests/test_stock_warehouse_calendar.py index 3335abdf7..b2e3951d7 100644 --- a/stock_warehouse_calendar/tests/test_stock_warehouse_calendar.py +++ b/stock_warehouse_calendar/tests/test_stock_warehouse_calendar.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +# Copyright 2018 Eficent Business and IT Consulting Services, S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). from odoo import fields from odoo.tests.common import TransactionCase @@ -36,7 +36,7 @@ class TestStockWarehouseCalendar(TransactionCase): rule_vals = { 'location_id': self.warehouse.lot_stock_id.id, 'location_src_id': self.warehouse_2.lot_stock_id.id, - 'action': 'move', + 'action': 'pull_push', 'warehouse_id': self.warehouse.id, 'propagate_warehouse_id': self.warehouse_2.id, 'picking_type_id': self.env.ref('stock.picking_type_internal').id, @@ -44,7 +44,7 @@ class TestStockWarehouseCalendar(TransactionCase): 'route_id': self.transfer_route.id, 'delay': 1, } - self.transfer_rule = self.env['procurement.rule'].create(rule_vals) + self.transfer_rule = self.env['stock.rule'].create(rule_vals) self.product.route_ids = [(6, 0, self.transfer_route.ids)] def test_procurement_with_calendar(self): @@ -61,8 +61,8 @@ class TestStockWarehouseCalendar(TransactionCase): 'Test', values) move = self.env['stock.move'].search( [('product_id', '=', self.product.id)], limit=1) - date_expected = fields.Datetime.from_string(move.date_expected).date() + date_expected = fields.Date.to_date(move.date_expected) # Friday 4th Jan 2017 - friday = fields.Datetime.from_string('2097-01-04 09:00:00').date() + friday = fields.Date.to_date('2097-01-04 09:00:00') self.assertEquals(date_expected, friday) From b0213a73f8649a61afb551e8c9daccc08c37a29c Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 23 Apr 2019 07:56:36 +0000 Subject: [PATCH 06/15] [UPD] README.rst --- stock_warehouse_calendar/static/description/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stock_warehouse_calendar/static/description/index.html b/stock_warehouse_calendar/static/description/index.html index aa771c361..446d1968f 100644 --- a/stock_warehouse_calendar/static/description/index.html +++ b/stock_warehouse_calendar/static/description/index.html @@ -367,7 +367,7 @@ ul.auto-toc { !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/stock-logistics-warehouse Translate me on Weblate Try me on Runbot

+

Beta License: LGPL-3 OCA/stock-logistics-warehouse Translate me on Weblate Try me on Runbot

This module adds a Calendar to the Warehouse. This calendar can then used as the basis of the proper computation of start/end dates based on lead times in this and other modules.

@@ -399,7 +399,7 @@ and assign the Resource Calendar.
  • Go to Inventory > Configuration > Settings and in Warehouse mark ‘Multi-Step Routes option’.
  • Go to Inventory > Configuration > Warehouse Management > Routes and -set up the proper delays in the procurement rules where ‘action’ +set up the proper delays in the stock rules where ‘action’ is ‘Move From Another Location’.
  • From 88960d9a0b8915e18fa93e897c044996f3c018f0 Mon Sep 17 00:00:00 2001 From: oca-travis Date: Tue, 23 Apr 2019 08:33:05 +0000 Subject: [PATCH 07/15] [UPD] Update stock_warehouse_calendar.pot --- .../i18n/stock_warehouse_calendar.pot | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/stock_warehouse_calendar/i18n/stock_warehouse_calendar.pot b/stock_warehouse_calendar/i18n/stock_warehouse_calendar.pot index dd015c4eb..5f3f13eed 100644 --- a/stock_warehouse_calendar/i18n/stock_warehouse_calendar.pot +++ b/stock_warehouse_calendar/i18n/stock_warehouse_calendar.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 11.0\n" +"Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: <>\n" "Language-Team: \n" @@ -14,8 +14,8 @@ msgstr "" "Plural-Forms: \n" #. module: stock_warehouse_calendar -#: model:ir.model,name:stock_warehouse_calendar.model_procurement_rule -msgid "Procurement Rule" +#: model:ir.model,name:stock_warehouse_calendar.model_stock_rule +msgid "Stock Rule" msgstr "" #. module: stock_warehouse_calendar @@ -24,7 +24,7 @@ msgid "Warehouse" msgstr "" #. module: stock_warehouse_calendar -#: model:ir.model.fields,field_description:stock_warehouse_calendar.field_stock_warehouse_calendar_id +#: model:ir.model.fields,field_description:stock_warehouse_calendar.field_stock_warehouse__calendar_id msgid "Working Hours" msgstr "" From 7fdab7d8bb5f2b41869ea37c84905b47cbc76b41 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 29 Jul 2019 03:43:10 +0000 Subject: [PATCH 08/15] [UPD] README.rst --- stock_warehouse_calendar/static/description/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stock_warehouse_calendar/static/description/index.html b/stock_warehouse_calendar/static/description/index.html index 446d1968f..5bb345f1f 100644 --- a/stock_warehouse_calendar/static/description/index.html +++ b/stock_warehouse_calendar/static/description/index.html @@ -3,7 +3,7 @@ - + Stock Warehouse Calendar