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
+
+
+

+
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
+
+
+
+
+- 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’.
+
+
+
+
+
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.
+
+
+
+
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.
+
+
+
+
+
+
+
+
This module is maintained by the OCA.
+

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

+
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. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-

+

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.
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. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-

+

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