Change the way product refs are being generated.

Add a salt of randomness to avoid conflicts.
This commit is contained in:
Alexis Métaireau 2022-11-09 23:40:56 +01:00
parent 4d17e28dd2
commit 1c85f39c82

View file

@ -1,5 +1,8 @@
from datetime import datetime from datetime import datetime
import random
import string
from slugify import slugify from slugify import slugify
from .core import app from .core import app
from ..models import Delivery, Product, Producer from ..models import Delivery, Product, Producer
@ -153,7 +156,8 @@ async def create_product(request, response, delivery_id, producer_id):
product.producer = producer_id product.producer = producer_id
form = request.form form = request.form
product.update_from_form(form) product.update_from_form(form)
product.ref = slugify(f"{producer_id}-{product.name}-{product.unit}") random_string = "".join(random.choices(string.ascii_lowercase + string.digits, k=8))
product.ref = slugify(f"{producer_id}-{product.name}-{product.unit}-{random_string}")
delivery.products.append(product) delivery.products.append(product)
delivery.persist() delivery.persist()