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,
|
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(),
|
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 = Recipe(date=date, product_id=menu_item.id, quantity=recipe_quantity, sale_price=sale_price, notes='')
|
||||||
recipe.product = menu_item
|
recipe.product = menu_item
|
||||||
|
@ -150,7 +150,7 @@ def update(request):
|
||||||
rate = ingredient_price / (product.fraction * product.product_yield)
|
rate = ingredient_price / (product.fraction * product.product_yield)
|
||||||
recipe_cost += rate * quantity
|
recipe_cost += rate * quantity
|
||||||
recipe_items.append(RecipeItem(None, product.id, quantity, ingredient_price))
|
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):
|
for i in range(len(recipe.recipe_items), 0, -1):
|
||||||
recipe_item = recipe.recipe_items.pop()
|
recipe_item = recipe.recipe_items.pop()
|
||||||
DBSession.delete(recipe_item)
|
DBSession.delete(recipe_item)
|
||||||
|
@ -167,6 +167,12 @@ def update(request):
|
||||||
raise ValidationError("Sale Price must be a decimal >= 0")
|
raise ValidationError("Sale Price must be a decimal >= 0")
|
||||||
except (ValueError, InvalidOperation):
|
except (ValueError, InvalidOperation):
|
||||||
raise ValidationError("Sale Price must be a decimal >= 0")
|
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 = []
|
recipe_items = []
|
||||||
for item in json['RecipeItems']:
|
for item in json['RecipeItems']:
|
||||||
product = ProductBase.by_id(uuid.UUID(item['Product']['ProductID']))
|
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))
|
recipe_items.append(RecipeItem(None, product.id, quantity, ingredient_price))
|
||||||
|
|
||||||
menu_item = recipe.product
|
menu_item = recipe.product
|
||||||
print(menu_item.id)
|
recipe = Recipe(date=date, product_id=menu_item.id, quantity=recipe_quantity, sale_price=sale_price, notes='')
|
||||||
recipe = Recipe(date=date, product_id=menu_item.id, quantity=1, sale_price=sale_price, notes='')
|
|
||||||
recipe.product = menu_item
|
recipe.product = menu_item
|
||||||
|
menu_item.price = round(recipe_cost / recipe_quantity, 2)
|
||||||
DBSession.add(recipe)
|
DBSession.add(recipe)
|
||||||
for item in recipe_items:
|
for item in recipe_items:
|
||||||
item.recipe_id = recipe.id
|
item.recipe_id = recipe.id
|
||||||
recipe.recipe_items.append(item)
|
recipe.recipe_items.append(item)
|
||||||
DBSession.add(item)
|
DBSession.add(item)
|
||||||
print('One')
|
|
||||||
transaction.commit()
|
transaction.commit()
|
||||||
return recipe_info(recipe.id)
|
return recipe_info(recipe.id)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue