@@ -103,13 +103,13 @@ def _get_expected_date():
103103 product_id = fields .Many2one ()
104104 product_uom_id = fields .Many2one ()
105105 product_uom_qty = fields .Float ()
106- procurement_group_id = fields .Many2one ()
106+ reference_ids = fields .Many2many ()
107107 company_id = fields .Many2one ()
108108 route_id = fields .Many2one ()
109109
110- _sql_constraints = [
111- ( "name_uniq" , " unique(name, company_id)" , "Stock Request name must be unique" )
112- ]
110+ _name_uniq = models . Constraint (
111+ " unique(name, company_id)" , "Stock Request name must be unique"
112+ )
113113
114114 @api .constrains ("state" , "product_qty" )
115115 def _check_qty (self ):
@@ -221,15 +221,14 @@ def check_order_location(self):
221221 ):
222222 raise ValidationError (_ ("Location must be equal to the order" ))
223223
224- @api .constrains ("order_id" , "procurement_group_id " )
225- def check_order_procurement_group (self ):
224+ @api .constrains ("order_id" , "reference_ids " )
225+ def check_order_reference_ids (self ):
226226 for stock_request in self :
227227 if (
228228 stock_request .order_id
229- and stock_request .order_id .procurement_group_id
230- != stock_request .procurement_group_id
229+ and stock_request .order_id .reference_ids != stock_request .reference_ids
231230 ):
232- raise ValidationError (_ ("Procurement group must be equal to the order" ))
231+ raise ValidationError (_ ("References must be equal to the order" ))
233232
234233 @api .constrains ("order_id" , "company_id" )
235234 def check_order_company (self ):
@@ -318,7 +317,7 @@ def _check_cancel_allocation(self):
318317 and float_compare (self .qty_cancelled , 0 , precision_digits = precision ) > 0
319318 )
320319
321- def _prepare_procurement_values (self , group_id = False ):
320+ def _prepare_procurement_values (self , reference_ids = False ):
322321 """Prepare specific key for moves or other components that
323322 will be created from a procurement rule
324323 coming from a stock request. This method could be override
@@ -329,7 +328,9 @@ def _prepare_procurement_values(self, group_id=False):
329328 "date_planned" : self .expected_date ,
330329 "warehouse_id" : self .warehouse_id ,
331330 "stock_request_allocation_ids" : self .id ,
332- "group_id" : group_id or self .procurement_group_id .id or False ,
331+ "reference_ids" : reference_ids
332+ or self .reference_ids
333+ or self .env ["stock.reference" ],
333334 "route_ids" : self .route_id ,
334335 "stock_request_id" : self .id ,
335336 }
@@ -339,7 +340,6 @@ def _skip_procurement(self):
339340
340341 def _prepare_stock_move (self , qty ):
341342 return {
342- "name" : self .product_id .display_name ,
343343 "company_id" : self .company_id .id ,
344344 "product_id" : self .product_id .id ,
345345 "product_uom_qty" : qty ,
@@ -380,9 +380,9 @@ def _action_use_stock_available(self):
380380
381381 def _action_launch_procurement_rule (self ):
382382 """
383- Launch procurement group (if not enough stock is available) run method
383+ Launch stock rule (if not enough stock is available) run method
384384 with required/custom fields genrated by a
385- stock request. procurement group will launch '_run_move',
385+ stock request. stock rule will launch '_run_move',
386386 '_run_buy' or '_run_manufacture'
387387 depending on the stock request product rule.
388388 """
@@ -416,12 +416,12 @@ def _action_launch_procurement_rule(self):
416416 continue
417417
418418 values = request ._prepare_procurement_values (
419- group_id = request .procurement_group_id
419+ reference_ids = request .reference_ids
420420 )
421421 try :
422422 procurements = []
423423 procurements .append (
424- self .env ["procurement.group " ].Procurement (
424+ self .env ["stock.rule " ].Procurement (
425425 request .product_id ,
426426 request .product_uom_qty ,
427427 request .product_uom_id ,
@@ -432,7 +432,7 @@ def _action_launch_procurement_rule(self):
432432 values ,
433433 )
434434 )
435- self .env ["procurement.group " ].run (procurements )
435+ self .env ["stock.rule " ].run (procurements )
436436 except UserError as error :
437437 errors .append (str (error ))
438438 if errors :
0 commit comments