diff --git a/addons/mrp/models/mrp_production.py b/addons/mrp/models/mrp_production.py index f8b6544a61b..4feaa2063c0 100644 --- a/addons/mrp/models/mrp_production.py +++ b/addons/mrp/models/mrp_production.py @@ -187,8 +187,8 @@ class MrpProduction(models.Model): 'procurement.group', 'Procurement Group', copy=False) orderpoint_id = fields.Many2one('stock.warehouse.orderpoint', 'Orderpoint') - propagate = fields.Boolean( - 'Propagate cancel and split', + propagate_cancel = fields.Boolean( + 'Propagate cancel and split', oldname='propagate', help='If checked, when the previous move of the move (which was generated by a next procurement) is cancelled or split, the move generated by this move will too') propagate_date = fields.Boolean(string="Propagate Rescheduling", help='The rescheduling is propagated to the next move.') @@ -485,7 +485,7 @@ class MrpProduction(models.Model): 'warehouse_id': self.location_dest_id.get_warehouse().id, 'origin': self.name, 'group_id': self.procurement_group_id.id, - 'propagate': self.propagate, + 'propagate_cancel': self.propagate_cancel, 'propagate_date': self.propagate_date, 'propagate_date_minimum_delta': self.propagate_date_minimum_delta, 'move_dest_ids': [(4, x.id) for x in self.move_dest_ids], @@ -545,7 +545,7 @@ class MrpProduction(models.Model): 'state': 'draft', 'warehouse_id': source_location.get_warehouse().id, 'group_id': self.procurement_group_id.id, - 'propagate': self.propagate, + 'propagate_cancel': self.propagate_cancel, } return data diff --git a/addons/mrp/models/stock_rule.py b/addons/mrp/models/stock_rule.py index a356ca5c62f..91f57647470 100644 --- a/addons/mrp/models/stock_rule.py +++ b/addons/mrp/models/stock_rule.py @@ -86,7 +86,7 @@ class StockRule(models.Model): 'date_planned_start': fields.Datetime.to_string(self._get_date_planned(product_id, company_id, values)), 'date_planned_finished': values['date_planned'], 'procurement_group_id': False, - 'propagate': self.propagate, + 'propagate_cancel': self.propagate_cancel, 'propagate_date': self.propagate_date, 'propagate_date_minimum_delta': self.propagate_date_minimum_delta, 'orderpoint_id': values.get('orderpoint_id', False) and values.get('orderpoint_id').id, diff --git a/addons/mrp/models/stock_warehouse.py b/addons/mrp/models/stock_warehouse.py index e7fee7f0def..d958379e476 100644 --- a/addons/mrp/models/stock_warehouse.py +++ b/addons/mrp/models/stock_warehouse.py @@ -125,7 +125,7 @@ class StockWarehouse(models.Model): 'company_id': self.company_id.id, 'action': 'pull', 'auto': 'manual', - 'propagate': True, + 'propagate_cancel': True, 'route_id': self._find_global_route('stock.route_warehouse0_mto', _('Make To Order')).id, 'name': self._format_rulename(self.lot_stock_id, self.pbm_loc_id, 'MTO'), 'location_id': self.pbm_loc_id.id, @@ -149,7 +149,7 @@ class StockWarehouse(models.Model): 'company_id': self.company_id.id, 'action': 'pull', 'auto': 'manual', - 'propagate': True, + 'propagate_cancel': True, 'route_id': self._find_global_route('mrp.route_warehouse0_manufacture', _('Manufacture')).id, 'name': self._format_rulename(self.sam_loc_id, self.lot_stock_id, False), 'location_id': self.lot_stock_id.id, diff --git a/addons/mrp_subcontracting/models/stock_warehouse.py b/addons/mrp_subcontracting/models/stock_warehouse.py index 709b86043be..d23b0dc457b 100644 --- a/addons/mrp_subcontracting/models/stock_warehouse.py +++ b/addons/mrp_subcontracting/models/stock_warehouse.py @@ -70,7 +70,7 @@ class StockWarehouse(models.Model): 'company_id': self.company_id.id, 'action': 'pull', 'auto': 'manual', - 'propagate': True, + 'propagate_cancel': True, 'route_id': self._find_global_route('stock.route_warehouse0_mto', _('Make To Order')).id, 'name': self._format_rulename(self.lot_stock_id, subcontract_location_id, 'MTO'), 'location_id': subcontract_location_id.id, @@ -88,7 +88,7 @@ class StockWarehouse(models.Model): 'company_id': self.company_id.id, 'action': 'pull', 'auto': 'manual', - 'propagate': True, + 'propagate_cancel': True, 'route_id': self._find_global_route('mrp_subcontracting.route_resupply_subcontractor_mto', _('Resupply Subcontractor on Order')).id, 'name': self._format_rulename(self.lot_stock_id, subcontract_location_id, False), diff --git a/addons/stock/models/stock_move.py b/addons/stock/models/stock_move.py index e6874d6b71c..8ef7bf53fab 100644 --- a/addons/stock/models/stock_move.py +++ b/addons/stock/models/stock_move.py @@ -124,8 +124,8 @@ class StockMove(models.Model): scrap_ids = fields.One2many('stock.scrap', 'move_id') group_id = fields.Many2one('procurement.group', 'Procurement Group', default=_default_group_id) rule_id = fields.Many2one('stock.rule', 'Stock Rule', ondelete='restrict', help='The stock rule that created this stock move') - propagate = fields.Boolean( - 'Propagate cancel and split', default=True, + propagate_cancel = fields.Boolean( + 'Propagate cancel and split', default=True, oldname='propagate', help='If checked, when this move is cancelled, cancel the linked move too') propagate_date = fields.Boolean(string="Propagate Rescheduling", help='The rescheduling is propagated to the next move.') @@ -537,7 +537,7 @@ class StockMove(models.Model): def _clean_merged(self): """Cleanup hook used when merging moves""" - self.write({'propagate': False}) + self.write({'propagate_cancel': False}) def _merge_moves(self, merge_into=False): """ This method will, for each move in `self`, go up in their linked picking and try to @@ -1020,7 +1020,7 @@ class StockMove(models.Model): for move in moves_to_cancel: siblings_states = (move.move_dest_ids.mapped('move_orig_ids') - move).mapped('state') - if move.propagate: + if move.propagate_cancel: # only cancel the next move if all my siblings are also cancelled if all(state == 'cancel' for state in siblings_states): move.move_dest_ids.filtered(lambda m: m.state != 'done')._action_cancel() diff --git a/addons/stock/models/stock_rule.py b/addons/stock/models/stock_rule.py index 275d955f841..68d16de19a9 100644 --- a/addons/stock/models/stock_rule.py +++ b/addons/stock/models/stock_rule.py @@ -56,9 +56,9 @@ class StockRule(models.Model): required=True) delay = fields.Integer('Delay', default=0, help="The expected date of the created transfer will be computed based on this delay.") partner_address_id = fields.Many2one('res.partner', 'Partner Address', help="Address where goods should be delivered. Optional.") - propagate = fields.Boolean( - 'Propagate cancel and split', default=True, - help="When ticked, if the move is splitted or cancelled, the next move will be too.") + propagate_cancel = fields.Boolean( + 'Cancel Next Move', default=False, oldname='propagate', + help="When ticked, if the move created by this rule is cancelled, the next move will be cancelled too.") warehouse_id = fields.Many2one('stock.warehouse', 'Warehouse') propagate_warehouse_id = fields.Many2one( 'stock.warehouse', 'Warehouse to Propagate', @@ -170,7 +170,7 @@ class StockRule(models.Model): 'company_id': self.company_id.id, 'picking_id': False, 'picking_type_id': self.picking_type_id.id, - 'propagate': self.propagate, + 'propagate_cancel': self.propagate_cancel, 'warehouse_id': self.warehouse_id.id, } return new_move_vals @@ -265,7 +265,7 @@ class StockRule(models.Model): 'warehouse_id': self.propagate_warehouse_id.id or self.warehouse_id.id, 'date': date_expected, 'date_expected': date_expected, - 'propagate': self.propagate, + 'propagate_cancel': self.propagate_cancel, 'propagate_date': self.propagate_date, 'propagate_date_minimum_delta': self.propagate_date_minimum_delta, 'description_picking': product_id._get_description(self.picking_type_id), diff --git a/addons/stock/models/stock_warehouse.py b/addons/stock/models/stock_warehouse.py index 9e55e533b2a..784a19afa44 100644 --- a/addons/stock/models/stock_warehouse.py +++ b/addons/stock/models/stock_warehouse.py @@ -338,7 +338,7 @@ class Warehouse(models.Model): 'company_id': self.company_id.id, 'action': 'pull', 'auto': 'manual', - 'propagate': True, + 'propagate_cancel': True, 'route_id': self._find_global_route('stock.route_warehouse0_mto', _('Make To Order')).id }, 'update_values': { @@ -675,7 +675,7 @@ class Warehouse(models.Model): 'procure_method': first_rule and 'make_to_stock' or 'make_to_order', 'warehouse_id': self.id, 'company_id': self.company_id.id, - 'propagate': routing.picking_type != self.pick_type_id, + 'propagate_cancel': routing.picking_type != self.pick_type_id, } route_rule_values.update(values or {}) rules_list.append(route_rule_values) diff --git a/addons/stock/views/stock_rule_views.xml b/addons/stock/views/stock_rule_views.xml index f326dae5403..02baf935fe8 100644 --- a/addons/stock/views/stock_rule_views.xml +++ b/addons/stock/views/stock_rule_views.xml @@ -96,7 +96,7 @@ - +