fixed importer empty units

This commit is contained in:
vabene1111 2020-12-26 15:17:37 +01:00
parent bdd004518c
commit 29e1d1286c
2 changed files with 22 additions and 16 deletions

View File

@ -125,7 +125,7 @@ def import_url(request):
ingredient = Ingredient() ingredient = Ingredient()
ingredient.food, f_created = Food.objects.get_or_create(name=ing['ingredient']['text']) ingredient.food, f_created = Food.objects.get_or_create(name=ing['ingredient']['text'])
if ing['unit']: if ing['unit'] and ing['unit']['text'] != '':
ingredient.unit, u_created = Unit.objects.get_or_create(name=ing['unit']['text']) ingredient.unit, u_created = Unit.objects.get_or_create(name=ing['unit']['text'])
# TODO properly handle no_amount recipes # TODO properly handle no_amount recipes
@ -143,7 +143,7 @@ def import_url(request):
step.ingredients.add(ingredient) step.ingredients.add(ingredient)
print(ingredient) print(ingredient)
if data['image'] != '': if 'image' in data and data['image'] != '':
try: try:
response = requests.get(data['image']) response = requests.get(data['image'])
img = Image.open(BytesIO(response.content)) img = Image.open(BytesIO(response.content))

View File

@ -239,6 +239,7 @@ def edit_ingredients(request):
if units_form.is_valid(): if units_form.is_valid():
new_unit = units_form.cleaned_data['new_unit'] new_unit = units_form.cleaned_data['new_unit']
old_unit = units_form.cleaned_data['old_unit'] old_unit = units_form.cleaned_data['old_unit']
if new_unit != old_unit:
recipe_ingredients = Ingredient.objects.filter(unit=old_unit).all() recipe_ingredients = Ingredient.objects.filter(unit=old_unit).all()
for i in recipe_ingredients: for i in recipe_ingredients:
i.unit = new_unit i.unit = new_unit
@ -247,11 +248,14 @@ def edit_ingredients(request):
old_unit.delete() old_unit.delete()
success = True success = True
messages.add_message(request, messages.SUCCESS, _('Units merged!')) messages.add_message(request, messages.SUCCESS, _('Units merged!'))
else:
messages.add_message(request, messages.ERROR, _('Cannot merge with the same object!'))
food_form = FoodMergeForm(request.POST, prefix=FoodMergeForm.prefix) food_form = FoodMergeForm(request.POST, prefix=FoodMergeForm.prefix)
if food_form.is_valid(): if food_form.is_valid():
new_food = food_form.cleaned_data['new_food'] new_food = food_form.cleaned_data['new_food']
old_food = food_form.cleaned_data['old_food'] old_food = food_form.cleaned_data['old_food']
if new_food != old_food:
ingredients = Ingredient.objects.filter(food=old_food).all() ingredients = Ingredient.objects.filter(food=old_food).all()
for i in ingredients: for i in ingredients:
i.food = new_food i.food = new_food
@ -260,6 +264,8 @@ def edit_ingredients(request):
old_food.delete() old_food.delete()
success = True success = True
messages.add_message(request, messages.SUCCESS, _('Foods merged!')) messages.add_message(request, messages.SUCCESS, _('Foods merged!'))
else:
messages.add_message(request, messages.ERROR, _('Cannot merge with the same object!'))
if success: if success:
units_form = UnitMergeForm() units_form = UnitMergeForm()