forked from OCA/stock-logistics-warehouse
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ADD] procurement_auto_create_group: init
- Loading branch information
1 parent
db3bea9
commit 6264f1d
Showing
10 changed files
with
460 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
============================= | ||
Procurement Auto Create Group | ||
============================= | ||
|
||
.. | ||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
!! This file is generated by oca-gen-addon-readme !! | ||
!! changes will be overwritten. !! | ||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
!! source digest: sha256:469639cf06197ad827f2cea50416bd52aad40a8c93ab583b87e760755b1f8916 | ||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png | ||
:target: https://odoo-community.org/page/development-status | ||
:alt: Production/Stable | ||
.. |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/17.0/procurement_auto_create_group | ||
: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-17-0/stock-logistics-warehouse-17-0-procurement_auto_create_group | ||
:alt: Translate me on Weblate | ||
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png | ||
:target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-warehouse&target_branch=17.0 | ||
:alt: Try me on Runboat | ||
|
||
|badge1| |badge2| |badge3| |badge4| |badge5| | ||
|
||
This module allows the system to propose automatically new procurement | ||
groups during the procurement run. | ||
|
||
This capability is important when you want to make sure that all the | ||
stock moves resulting from a procurement run will never be mixed with | ||
moves from other groups in stock transfers. | ||
|
||
The stock transfers resulting from the procurement run will only contain | ||
stock moves created in that run. | ||
|
||
**Table of contents** | ||
|
||
.. contents:: | ||
:local: | ||
|
||
Configuration | ||
============= | ||
|
||
1. Go to *Inventory / Configuration / Settings* and check the option | ||
'Multi-Step Routes' and press the 'Save' button. | ||
2. Activate the developer mode. | ||
3. Go to *Inventory / Configuration / Warehouse Management / Routes* and | ||
select the route you want to change. Select the rule you wish to | ||
change, and in case of a Pull rule or Push & Pull rule Select | ||
'Propagation of Procurement Group': 'Propagate'. The checkbox | ||
'Auto-create Procurement Group' will then appear and you can set it | ||
if you want to procurement group to be automatically created. | ||
|
||
Usage | ||
===== | ||
|
||
1. Run a new procurement and make sure that it determines a rule with | ||
the option 'Auto-create Procurement Group' set. | ||
2. When the procurement rule is executed, a procurement group with | ||
format 'PG/000001' will be created. You can find this procurement | ||
group in 'Additional info' tab of a transfer. | ||
|
||
Bug Tracker | ||
=========== | ||
|
||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/stock-logistics-warehouse/issues>`_. | ||
In case of trouble, please check there if your issue has already been reported. | ||
If you spotted it first, help us to smash it by providing a detailed and welcomed | ||
`feedback <https://github.com/OCA/stock-logistics-warehouse/issues/new?body=module:%20procurement_auto_create_group%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. | ||
|
||
Do not contact contributors directly about support or help with technical issues. | ||
|
||
Credits | ||
======= | ||
|
||
Authors | ||
------- | ||
|
||
* ForgeFlow | ||
* BCIM | ||
|
||
Contributors | ||
------------ | ||
|
||
- Jordi Ballester <[email protected]> | ||
- Lois Rilo <[email protected]> | ||
- Héctor Villarreal Ortega <[email protected]> | ||
- Jacques-Etienne Baudoux (BCIM) <[email protected]> | ||
- Bernat Puig <[email protected]> | ||
- Laurent Mignon <[email protected]> | ||
|
||
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/stock-logistics-warehouse <https://github.com/OCA/stock-logistics-warehouse/tree/17.0/procurement_auto_create_group>`_ project on GitHub. | ||
|
||
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). | ||
|
||
from . import models |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# Copyright 2017-2020 ForgeFlow, S.L. | ||
# Copyright 2021 Jacques-Etienne Baudoux (BCIM) <[email protected]> | ||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). | ||
{ | ||
"name": "Procurement Auto Create Group", | ||
"version": "17.0.1.0.0", | ||
"development_status": "Production/Stable", | ||
"license": "AGPL-3", | ||
"summary": "Allows to configure the system to propose automatically new " | ||
"procurement groups during the procurement run.", | ||
"author": "ForgeFlow, BCIM, Odoo Community Association (OCA)", | ||
"website": "https://github.com/OCA/stock-logistics-warehouse", | ||
"category": "Warehouse", | ||
"depends": ["stock"], | ||
"data": ["views/procurement_view.xml"], | ||
"installable": True, | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). | ||
|
||
from . import stock_rule | ||
from . import procurement_group |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
# Copyright 2017-2020 ForgeFlow, S.L. | ||
# Copyright 2021 Jacques-Etienne Baudoux (BCIM) <[email protected]> | ||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). | ||
|
||
from odoo import api, models | ||
|
||
|
||
class ProcurementGroup(models.Model): | ||
_inherit = "procurement.group" | ||
|
||
@api.model | ||
def _get_rule(self, product_id, location_id, values): | ||
rule = super()._get_rule(product_id, location_id, values) | ||
# If there isn't a date planned in the values it means that this | ||
# method has been called outside of a procurement process. | ||
if ( | ||
rule | ||
and not values.get("group_id") | ||
and rule.auto_create_group | ||
and values.get("date_planned") | ||
): | ||
group_data = rule._prepare_auto_procurement_group_data() | ||
group = self.env["procurement.group"].create(group_data) | ||
values["group_id"] = group | ||
return rule |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# Copyright 2017-2020 ForgeFlow, S.L. | ||
# Copyright 2021 Jacques-Etienne Baudoux (BCIM) <[email protected]> | ||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). | ||
|
||
from odoo import _, api, fields, models | ||
from odoo.exceptions import UserError | ||
|
||
|
||
class StockRule(models.Model): | ||
_inherit = "stock.rule" | ||
|
||
auto_create_group = fields.Boolean(string="Auto-create Procurement Group") | ||
|
||
@api.onchange("group_propagation_option") | ||
def _onchange_group_propagation_option(self): | ||
if self.group_propagation_option != "propagate": | ||
self.auto_create_group = False | ||
|
||
def _push_prepare_move_copy_values(self, move_to_copy, new_date): | ||
new_move_vals = super()._push_prepare_move_copy_values(move_to_copy, new_date) | ||
if self.auto_create_group: | ||
group_data = self._prepare_auto_procurement_group_data() | ||
group = self.env["procurement.group"].create(group_data) | ||
new_move_vals["group_id"] = group.id | ||
return new_move_vals | ||
|
||
def _prepare_auto_procurement_group_data(self): | ||
name = self.env["ir.sequence"].next_by_code("procurement.group") or False | ||
if not name: | ||
raise UserError(_("No sequence defined for procurement group.")) | ||
return { | ||
"name": name, | ||
"partner_id": self.partner_address_id.id, | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
[build-system] | ||
requires = ["whool"] | ||
build-backend = "whool.buildapi" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). | ||
|
||
from . import test_auto_create |
Oops, something went wrong.