-
-
Notifications
You must be signed in to change notification settings - Fork 195
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[FIX] shopfloor_single_product_transfer: Package scan
Do not remove result_package_id in call of _set_quantity__by_location when it was previously set by scanning a package
- Loading branch information
1 parent
edf1b66
commit e9e69d5
Showing
17 changed files
with
117 additions
and
82 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 |
---|---|---|
|
@@ -7,7 +7,7 @@ Shopfloor Single Product Transfer | |
!! This file is generated by oca-gen-addon-readme !! | ||
!! changes will be overwritten. !! | ||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
!! source digest: sha256:b9eb8fb3c29f6d3f6fb4accd3164f71ebc141b09a9159f61b81b865a5452d199 | ||
!! source digest: sha256:162480d4e4510d692ce68870a0944e6a17dafbeb6945d3122a0d7aacf871ef9b | ||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png | ||
|
@@ -86,6 +86,7 @@ Contributors | |
~~~~~~~~~~~~ | ||
|
||
* Matthieu Méquignon <[email protected]> | ||
* Michael Tietz (MT Software) <[email protected]> | ||
|
||
Maintainers | ||
~~~~~~~~~~~ | ||
|
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 |
---|---|---|
@@ -1 +1,2 @@ | ||
* Matthieu Méquignon <[email protected]> | ||
* Michael Tietz (MT Software) <[email protected]> |
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 |
---|---|---|
@@ -1,4 +1,5 @@ | ||
# Copyright 2022 Camptocamp SA | ||
# Copyright 2023 Michael Tietz (MT Software) <[email protected]> | ||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) | ||
|
||
import logging | ||
|
@@ -578,7 +579,9 @@ def _valid_dest_location_for_menu(self): | |
domain = self._valid_dest_location_for_menu_domain() | ||
return self.env["stock.location"].search(domain) | ||
|
||
def _set_quantity__check_location(self, move_line, location, confirmation=False): | ||
def _set_quantity__check_location( | ||
self, move_line, location, package=None, confirmation=False | ||
): | ||
valid_locations_for_move_line = ( | ||
self._set_quantity__valid_dest_location_for_move_line(move_line) | ||
) | ||
|
@@ -692,14 +695,26 @@ def _set_quantity__by_location_handlers(self): | |
self._set_quantity__check_location, | ||
] | ||
|
||
def _set_quantity__by_location(self, move_line, location, confirmation=False): | ||
def _set_quantity__by_location( | ||
self, move_line, location, package=None, confirmation=False | ||
): | ||
# We're about to leave the `set_quantity` screen. | ||
# First ensure that quantity is valid. | ||
invalid_qty_response = self._set_quantity__check_quantity_done(move_line) | ||
if invalid_qty_response: | ||
return invalid_qty_response | ||
move_line.result_package_id = False | ||
# Do not remove the result_package_id | ||
# when it was previously set by _set_quantity__by_package | ||
# because _set_quantity__by_location will be then called | ||
# with the scanned empty package | ||
if not package: | ||
move_line.result_package_id = False | ||
handlers = self._set_quantity__by_location_handlers() | ||
# At this point the result_package_id is already | ||
# set by _set_quantity__by_package to scanned package | ||
# or set to False by this method | ||
# Because of this call the handlers without the package | ||
# to ensure the move_line's result_package_id gets checked | ||
response = self._use_handlers( | ||
handlers, move_line, location, confirmation=confirmation | ||
) | ||
|
@@ -718,7 +733,7 @@ def _set_quantity__by_package(self, move_line, package, confirmation=False): | |
location = package.location_id | ||
handlers = self._set_quantity__by_location_handlers() | ||
response = self._use_handlers( | ||
handlers, move_line, location, confirmation=confirmation | ||
handlers, move_line, location, package, confirmation=confirmation | ||
) | ||
if response: | ||
return response | ||
|
@@ -882,10 +897,10 @@ def set_location(self, selected_line_id, package_id, barcode): | |
} | ||
search = self._actions_for("search") | ||
search_result = search.find(barcode, types=handlers_by_type.keys()) | ||
package = self.env["stock.quant.package"].browse(package_id) | ||
handler = handlers_by_type.get(search_result.type) | ||
if handler: | ||
return handler(move_line, search_result.record) | ||
package = self.env["stock.quant.package"].browse(package_id) | ||
return handler(move_line, search_result.record, package) | ||
message = self.msg_store.barcode_not_found() | ||
return self._response_for_set_location(move_line, package, message=message) | ||
|
||
|
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 |
---|---|---|
@@ -1,20 +1,20 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<?xml version="1.0" encoding="utf-8" ?> | ||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | ||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> | ||
<head> | ||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | ||
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" /> | ||
<meta name="generator" content="Docutils: http://docutils.sourceforge.net/" /> | ||
<title>Shopfloor Single Product Transfer</title> | ||
<style type="text/css"> | ||
|
||
/* | ||
:Author: David Goodger ([email protected]) | ||
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ | ||
:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $ | ||
:Copyright: This stylesheet has been placed in the public domain. | ||
Default cascading style sheet for the HTML output of Docutils. | ||
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to | ||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to | ||
customize this style sheet. | ||
*/ | ||
|
||
|
@@ -367,25 +367,25 @@ <h1 class="title">Shopfloor Single Product Transfer</h1> | |
!! This file is generated by oca-gen-addon-readme !! | ||
!! changes will be overwritten. !! | ||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
!! source digest: sha256:b9eb8fb3c29f6d3f6fb4accd3164f71ebc141b09a9159f61b81b865a5452d199 | ||
!! source digest: sha256:162480d4e4510d692ce68870a0944e6a17dafbeb6945d3122a0d7aacf871ef9b | ||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> | ||
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/wms/tree/14.0/shopfloor_single_product_transfer"><img alt="OCA/wms" src="https://img.shields.io/badge/github-OCA%2Fwms-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/wms-14-0/wms-14-0-shopfloor_single_product_transfer"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/wms&target_branch=14.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p> | ||
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/wms/tree/14.0/shopfloor_single_product_transfer"><img alt="OCA/wms" src="https://img.shields.io/badge/github-OCA%2Fwms-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/wms-14-0/wms-14-0-shopfloor_single_product_transfer"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runboat.odoo-community.org/builds?repo=OCA/wms&target_branch=14.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p> | ||
<p>Allow to move a single product from a location to another one.</p> | ||
<p><strong>Table of contents</strong></p> | ||
<div class="contents local topic" id="contents"> | ||
<ul class="simple"> | ||
<li><a class="reference internal" href="#usage" id="toc-entry-1">Usage</a></li> | ||
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-2">Bug Tracker</a></li> | ||
<li><a class="reference internal" href="#credits" id="toc-entry-3">Credits</a><ul> | ||
<li><a class="reference internal" href="#authors" id="toc-entry-4">Authors</a></li> | ||
<li><a class="reference internal" href="#contributors" id="toc-entry-5">Contributors</a></li> | ||
<li><a class="reference internal" href="#maintainers" id="toc-entry-6">Maintainers</a></li> | ||
<li><a class="reference internal" href="#usage" id="id1">Usage</a></li> | ||
<li><a class="reference internal" href="#bug-tracker" id="id2">Bug Tracker</a></li> | ||
<li><a class="reference internal" href="#credits" id="id3">Credits</a><ul> | ||
<li><a class="reference internal" href="#authors" id="id4">Authors</a></li> | ||
<li><a class="reference internal" href="#contributors" id="id5">Contributors</a></li> | ||
<li><a class="reference internal" href="#maintainers" id="id6">Maintainers</a></li> | ||
</ul> | ||
</li> | ||
</ul> | ||
</div> | ||
<div class="section" id="usage"> | ||
<h1><a class="toc-backref" href="#toc-entry-1">Usage</a></h1> | ||
<h1><a class="toc-backref" href="#id1">Usage</a></h1> | ||
<dl class="docutils"> | ||
<dt><strong>Source location selection</strong></dt> | ||
<dd>Select a source location. | ||
|
@@ -416,36 +416,37 @@ <h1><a class="toc-backref" href="#toc-entry-1">Usage</a></h1> | |
</dl> | ||
</div> | ||
<div class="section" id="bug-tracker"> | ||
<h1><a class="toc-backref" href="#toc-entry-2">Bug Tracker</a></h1> | ||
<h1><a class="toc-backref" href="#id2">Bug Tracker</a></h1> | ||
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/wms/issues">GitHub Issues</a>. | ||
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 | ||
<a class="reference external" href="https://github.com/OCA/wms/issues/new?body=module:%20shopfloor_single_product_transfer%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p> | ||
<p>Do not contact contributors directly about support or help with technical issues.</p> | ||
</div> | ||
<div class="section" id="credits"> | ||
<h1><a class="toc-backref" href="#toc-entry-3">Credits</a></h1> | ||
<h1><a class="toc-backref" href="#id3">Credits</a></h1> | ||
<div class="section" id="authors"> | ||
<h2><a class="toc-backref" href="#toc-entry-4">Authors</a></h2> | ||
<h2><a class="toc-backref" href="#id4">Authors</a></h2> | ||
<ul class="simple"> | ||
<li>Camptocamp</li> | ||
</ul> | ||
</div> | ||
<div class="section" id="contributors"> | ||
<h2><a class="toc-backref" href="#toc-entry-5">Contributors</a></h2> | ||
<h2><a class="toc-backref" href="#id5">Contributors</a></h2> | ||
<ul class="simple"> | ||
<li>Matthieu Méquignon <<a class="reference external" href="mailto:matthieu.mequignon@camptocamp.com">matthieu.mequignon@camptocamp.com</a>></li> | ||
<li>Michael Tietz (MT Software) <<a class="reference external" href="mailto:mtietz@mt-software.de">mtietz@mt-software.de</a>></li> | ||
</ul> | ||
</div> | ||
<div class="section" id="maintainers"> | ||
<h2><a class="toc-backref" href="#toc-entry-6">Maintainers</a></h2> | ||
<h2><a class="toc-backref" href="#id6">Maintainers</a></h2> | ||
<p>This module is maintained by the OCA.</p> | ||
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a> | ||
<p>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.</p> | ||
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainer</a>:</p> | ||
<p><a class="reference external image-reference" href="https://github.com/mmequignon"><img alt="mmequignon" src="https://github.com/mmequignon.png?size=40px" /></a></p> | ||
<p><a class="reference external" href="https://github.com/mmequignon"><img alt="mmequignon" src="https://github.com/mmequignon.png?size=40px" /></a></p> | ||
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/wms/tree/14.0/shopfloor_single_product_transfer">OCA/wms</a> project on GitHub.</p> | ||
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p> | ||
</div> | ||
|
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
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
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
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
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 |
---|---|---|
|
@@ -7,7 +7,7 @@ Shopfloor Single Product Transfer Force Select Package | |
!! This file is generated by oca-gen-addon-readme !! | ||
!! changes will be overwritten. !! | ||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
!! source digest: sha256:499e9d933ac60f9b5496e3fc079e496798bed934e5ac6a143a54a2a23d739bf1 | ||
!! source digest: sha256:f50a24bcfd53a8047195b91283b4ac8cd14e3ca458fb85ed40da3ebb869aae91 | ||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png | ||
|
@@ -57,6 +57,7 @@ Contributors | |
~~~~~~~~~~~~ | ||
|
||
* Juan Miguel Sánchez Arce <[email protected]> | ||
* Michael Tietz (MT Software) <[email protected]> | ||
|
||
Maintainers | ||
~~~~~~~~~~~ | ||
|
1 change: 1 addition & 0 deletions
1
shopfloor_single_product_transfer_force_package/readme/CONTRIBUTORS.rst
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 |
---|---|---|
@@ -1 +1,2 @@ | ||
* Juan Miguel Sánchez Arce <[email protected]> | ||
* Michael Tietz (MT Software) <[email protected]> |
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 |
---|---|---|
@@ -1,4 +1,5 @@ | ||
# Copyright 2023 Camptocamp SA | ||
# Copyright 2023 Michael Tietz (MT Software) <[email protected]> | ||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) | ||
|
||
|
||
|
@@ -8,15 +9,20 @@ | |
class ShopfloorSingleProductTransfer(Component): | ||
_inherit = "shopfloor.single.product.transfer" | ||
|
||
def _set_quantity__check_location(self, move_line, location, confirmation=False): | ||
def _set_quantity__check_location( | ||
self, move_line, location, package=None, confirmation=False | ||
): | ||
# We add an additional check to verify if the location requires packages | ||
# and return a message to the user accordingly. | ||
if ( | ||
location.package_restriction != "norestriction" | ||
and not package | ||
and not move_line.result_package_id | ||
): | ||
message = self.msg_store.location_requires_package() | ||
return self._response_for_set_quantity( | ||
move_line, message=message, asking_confirmation=False | ||
) | ||
return super()._set_quantity__check_location(move_line, location, confirmation) | ||
return super()._set_quantity__check_location( | ||
move_line, location, package, confirmation | ||
) |
Oops, something went wrong.