@@ -15,6 +15,7 @@ class StockPicking(models.Model):
15
15
default = 0 ,
16
16
copy = False ,
17
17
)
18
+ ask_number_of_packages = fields .Boolean (compute = "_compute_ask_number_of_packages" )
18
19
19
20
@api .depends ("package_ids" )
20
21
def _compute_number_of_packages (self ):
@@ -37,13 +38,20 @@ def _action_generate_number_of_packages_wizard(self):
37
38
),
38
39
}
39
40
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"""
41
52
pickings_to_set_number_of_packages = self .browse ()
42
53
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 :
47
55
pickings_to_set_number_of_packages |= picking
48
56
return pickings_to_set_number_of_packages
49
57
@@ -52,9 +60,10 @@ def _pre_action_done_hook(self):
52
60
if (
53
61
res
54
62
and isinstance (res , bool )
63
+ and self .ask_number_of_packages
55
64
and not self .env .context .get ("bypass_set_number_of_packages" )
56
65
):
57
- pickings_to_set_nop = self ._check_set_number_of_packages ()
66
+ pickings_to_set_nop = self ._get_pickings_to_set_number_of_packages ()
58
67
if pickings_to_set_nop :
59
68
return pickings_to_set_nop ._action_generate_number_of_packages_wizard ()
60
69
return res
0 commit comments