Fix: Recipe quantity was not having any effect or being updated.
This commit is contained in:
parent
a5ec16b644
commit
1f8b6f0c63
@ -85,7 +85,7 @@ def save(request):
|
||||
|
||||
menu_item = MenuItem(0, name, units=units, is_semi=is_semi, fraction=fraction, fraction_units=fraction_units,
|
||||
product_group_id=product_group_id, ledger_id=Ledger.all_purchases(),
|
||||
price=recipe_cost, is_active=True).create()
|
||||
price=round(recipe_cost / recipe_quantity, 2), is_active=True).create()
|
||||
|
||||
recipe = Recipe(date=date, product_id=menu_item.id, quantity=recipe_quantity, sale_price=sale_price, notes='')
|
||||
recipe.product = menu_item
|
||||
@ -150,7 +150,7 @@ def update(request):
|
||||
rate = ingredient_price / (product.fraction * product.product_yield)
|
||||
recipe_cost += rate * quantity
|
||||
recipe_items.append(RecipeItem(None, product.id, quantity, ingredient_price))
|
||||
recipe.product.price = recipe_cost
|
||||
recipe.product.price = round(recipe_cost / recipe.quantity, 2)
|
||||
for i in range(len(recipe.recipe_items), 0, -1):
|
||||
recipe_item = recipe.recipe_items.pop()
|
||||
DBSession.delete(recipe_item)
|
||||
@ -167,6 +167,12 @@ def update(request):
|
||||
raise ValidationError("Sale Price must be a decimal >= 0")
|
||||
except (ValueError, InvalidOperation):
|
||||
raise ValidationError("Sale Price must be a decimal >= 0")
|
||||
try:
|
||||
recipe_quantity = Decimal(json.get('Quantity', 0))
|
||||
if recipe_quantity < 0:
|
||||
raise ValidationError("Quantity must be a decimal >= 0")
|
||||
except (ValueError, InvalidOperation):
|
||||
raise ValidationError("Quantity must be a decimal >= 0")
|
||||
recipe_items = []
|
||||
for item in json['RecipeItems']:
|
||||
product = ProductBase.by_id(uuid.UUID(item['Product']['ProductID']))
|
||||
@ -177,15 +183,14 @@ def update(request):
|
||||
recipe_items.append(RecipeItem(None, product.id, quantity, ingredient_price))
|
||||
|
||||
menu_item = recipe.product
|
||||
print(menu_item.id)
|
||||
recipe = Recipe(date=date, product_id=menu_item.id, quantity=1, sale_price=sale_price, notes='')
|
||||
recipe = Recipe(date=date, product_id=menu_item.id, quantity=recipe_quantity, sale_price=sale_price, notes='')
|
||||
recipe.product = menu_item
|
||||
menu_item.price = round(recipe_cost / recipe_quantity, 2)
|
||||
DBSession.add(recipe)
|
||||
for item in recipe_items:
|
||||
item.recipe_id = recipe.id
|
||||
recipe.recipe_items.append(item)
|
||||
DBSession.add(item)
|
||||
print('One')
|
||||
transaction.commit()
|
||||
return recipe_info(recipe.id)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user