From 44592fefa9c42bcf0239c7218ecce908efc2497d Mon Sep 17 00:00:00 2001 From: Jacques-Etienne Baudoux Date: Thu, 24 Aug 2023 18:40:08 +0200 Subject: [PATCH] [IMP] procurement_auto_create_group Regroup the creation of the procurement group in a method. --- .../models/procurement_group.py | 4 +--- procurement_auto_create_group/models/stock_rule.py | 9 ++++++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/procurement_auto_create_group/models/procurement_group.py b/procurement_auto_create_group/models/procurement_group.py index b94a4cf63..97873a264 100644 --- a/procurement_auto_create_group/models/procurement_group.py +++ b/procurement_auto_create_group/models/procurement_group.py @@ -19,7 +19,5 @@ class ProcurementGroup(models.Model): 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 + values["group_id"] = rule._get_auto_procurement_group(product_id) return rule diff --git a/procurement_auto_create_group/models/stock_rule.py b/procurement_auto_create_group/models/stock_rule.py index 0933f9c31..612387646 100644 --- a/procurement_auto_create_group/models/stock_rule.py +++ b/procurement_auto_create_group/models/stock_rule.py @@ -16,15 +16,18 @@ class StockRule(models.Model): if self.group_propagation_option != "propagate": self.auto_create_group = False + def _get_auto_procurement_group(self, product): + group_data = self._prepare_auto_procurement_group_data(product) + return self.env["procurement.group"].create(group_data) + 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) + group = self._get_auto_procurement_group(move_to_copy.product_id) new_move_vals["group_id"] = group.id return new_move_vals - def _prepare_auto_procurement_group_data(self): + def _prepare_auto_procurement_group_data(self, product): name = self.env["ir.sequence"].next_by_code("procurement.group") or False if not name: raise UserError(_("No sequence defined for procurement group."))