Group generation of product category code at creation

This commit is contained in:
Cédric Krier
2024-08-25 10:59:20 +02:00
parent 911861837a
commit b468d3e762
+8 -7
View File
@@ -91,20 +91,21 @@ class Category(tree(separator=' / '), ModelSQL, ModelView):
}
@classmethod
def _new_code(cls):
def _code_sequence(cls):
pool = Pool()
Configuration = pool.get('product.configuration')
config = Configuration(1)
sequence = config.category_sequence
if sequence:
return sequence.get()
return config.category_sequence
@classmethod
def create(cls, vlist):
vlist = [v.copy() for v in vlist]
for values in vlist:
if not values.get('code'):
values['code'] = cls._new_code()
missing_code = [v for v in vlist if not v.get('code')]
if missing_code:
if sequence := cls._code_sequence():
for values, code in zip(
missing_code, sequence.get_many(len(missing_code))):
values['code'] = code
return super().create(vlist)
@classmethod