Skip to content

Commit 722b96a

Browse files
committed
[IMP] delivery_package_number: Ask only once for the number of packages wizard.
TT48170
1 parent 58774ad commit 722b96a

9 files changed

+25
-95
lines changed

delivery_package_number/README.rst

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Stock Picking Package Number
77
!! This file is generated by oca-gen-addon-readme !!
88
!! changes will be overwritten. !!
99
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10-
!! source digest: sha256:c744a790b8d846005f7e828a8a4d0c2dcc678bd29063852c1ce3b213f7630c24
10+
!! source digest: sha256:c288c2ac4c113b596baa1dbbc22473f708cfa98e20f201106d993af9fca57092
1111
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1212
1313
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -84,6 +84,7 @@ Contributors
8484
* David Vidal
8585
* Marçal Isern
8686
* Carlos Roca
87+
* Sergio Teruel
8788

8889

8990
* `Sygel <https://www.sygel.es>`_:

delivery_package_number/__manifest__.py

-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@
1717
"reports/report_package_number.xml",
1818
"views/stock_picking_type_views.xml",
1919
"views/stock_picking_views.xml",
20-
"wizard/stock_immediate_transfer_views.xml",
21-
"wizard/stock_backorder_confirmation_views.xml",
2220
"wizard/stock_number_package_validate_wiz_view.xml",
2321
],
2422
}

delivery_package_number/models/stock_picking.py

+15-6
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ class StockPicking(models.Model):
1515
default=0,
1616
copy=False,
1717
)
18+
ask_number_of_packages = fields.Boolean(compute="_compute_ask_number_of_packages")
1819

1920
@api.depends("package_ids")
2021
def _compute_number_of_packages(self):
@@ -37,13 +38,20 @@ def _action_generate_number_of_packages_wizard(self):
3738
),
3839
}
3940

40-
def _check_set_number_of_packages(self):
41+
def _compute_ask_number_of_packages(self):
42+
"""To Know if is needed raise wizard to ask user by package number"""
43+
for picking in self:
44+
picking.ask_number_of_packages = bool(
45+
picking.carrier_id
46+
and not picking.package_ids
47+
or picking.picking_type_id.force_set_number_of_packages
48+
)
49+
50+
def _get_pickings_to_set_number_of_packages(self):
51+
"""Get pickings that needed raise wizard to fill number of packages"""
4152
pickings_to_set_number_of_packages = self.browse()
4253
for picking in self:
43-
if (
44-
picking.picking_type_id.force_set_number_of_packages
45-
and not picking.number_of_packages
46-
):
54+
if not picking.number_of_packages:
4755
pickings_to_set_number_of_packages |= picking
4856
return pickings_to_set_number_of_packages
4957

@@ -52,9 +60,10 @@ def _pre_action_done_hook(self):
5260
if (
5361
res
5462
and isinstance(res, bool)
63+
and self.ask_number_of_packages
5564
and not self.env.context.get("bypass_set_number_of_packages")
5665
):
57-
pickings_to_set_nop = self._check_set_number_of_packages()
66+
pickings_to_set_nop = self._get_pickings_to_set_number_of_packages()
5867
if pickings_to_set_nop:
5968
return pickings_to_set_nop._action_generate_number_of_packages_wizard()
6069
return res

delivery_package_number/readme/CONTRIBUTORS.rst

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
* David Vidal
55
* Marçal Isern
66
* Carlos Roca
7+
* Sergio Teruel
78

89

910
* `Sygel <https://www.sygel.es>`_:

delivery_package_number/static/description/index.html

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<?xml version="1.0" encoding="utf-8"?>
12
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
23
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
34
<head>
@@ -366,7 +367,7 @@ <h1 class="title">Stock Picking Package Number</h1>
366367
!! This file is generated by oca-gen-addon-readme !!
367368
!! changes will be overwritten. !!
368369
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
369-
!! source digest: sha256:c744a790b8d846005f7e828a8a4d0c2dcc678bd29063852c1ce3b213f7630c24
370+
!! source digest: sha256:c288c2ac4c113b596baa1dbbc22473f708cfa98e20f201106d993af9fca57092
370371
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
371372
<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/delivery-carrier/tree/15.0/delivery_package_number"><img alt="OCA/delivery-carrier" src="https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/delivery-carrier-15-0/delivery-carrier-15-0-delivery_package_number"><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/delivery-carrier&amp;target_branch=15.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
372373
<p>This module recovers the number of packages field that was present in previous
@@ -427,6 +428,7 @@ <h2><a class="toc-backref" href="#toc-entry-5">Contributors</a></h2>
427428
<li>David Vidal</li>
428429
<li>Marçal Isern</li>
429430
<li>Carlos Roca</li>
431+
<li>Sergio Teruel</li>
430432
</ul>
431433
</li>
432434
</ul>

delivery_package_number/wizard/stock_backorder_confirmation.py

+2-16
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,10 @@
55

66

77
class StockBackorderConfirmation(models.TransientModel):
8-
_inherit = ["stock.backorder.confirmation", "stock.number.package.mixin"]
9-
_name = "stock.backorder.confirmation"
8+
_inherit = "stock.backorder.confirmation"
109

1110
def process(self):
12-
if self.number_of_packages:
13-
self.pick_ids.write({"number_of_packages": self.number_of_packages})
1411
# put context key for avoiding `base_delivery_carrier_label` auto-packaging feature
15-
res = super(
12+
return super(
1613
StockBackorderConfirmation, self.with_context(set_default_package=False)
1714
).process()
18-
if self.print_package_label:
19-
report = (
20-
self.pick_ids.picking_type_id.report_number_of_packages
21-
or self.env.ref(
22-
"delivery_package_number.action_delivery_package_number_report"
23-
)
24-
)
25-
report_action = report.report_action(self.pick_ids)
26-
report_action.update({"close_on_report_download": True})
27-
return report_action
28-
return res

delivery_package_number/wizard/stock_backorder_confirmation_views.xml

-27
This file was deleted.

delivery_package_number/wizard/stock_immediate_transfer_views.xml

-26
This file was deleted.

delivery_package_number/wizard/stock_inmediate_transfer.py

+2-16
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,10 @@
44

55

66
class StockImmediateTransfer(models.TransientModel):
7-
_inherit = ["stock.immediate.transfer", "stock.number.package.mixin"]
8-
_name = "stock.immediate.transfer"
7+
_inherit = "stock.immediate.transfer"
98

109
def process(self):
11-
if self.number_of_packages:
12-
self.pick_ids.write({"number_of_packages": self.number_of_packages})
1310
# put context key for avoiding `base_delivery_carrier_label` auto-packaging feature
14-
res = super(
11+
return super(
1512
StockImmediateTransfer, self.with_context(set_default_package=False)
1613
).process()
17-
if self.print_package_label:
18-
report = (
19-
self.pick_ids.picking_type_id.report_number_of_packages
20-
or self.env.ref(
21-
"delivery_package_number.action_delivery_package_number_report"
22-
)
23-
)
24-
report_action = report.report_action(self.pick_ids)
25-
report_action.update({"close_on_report_download": True})
26-
return report_action
27-
return res

0 commit comments

Comments
 (0)