diff --git a/cookbook/templates/forms/edit_internal_recipe.html b/cookbook/templates/forms/edit_internal_recipe.html index b1333b3c..b64a1ce1 100644 --- a/cookbook/templates/forms/edit_internal_recipe.html +++ b/cookbook/templates/forms/edit_internal_recipe.html @@ -26,6 +26,7 @@ {% if field.name == 'name' %} + {{ form.ingredients.errors }}

@@ -144,7 +145,7 @@ validator: "required", editor: select2IngredientEditor }, - {title: "{% trans 'Amount' %}", field: "amount", validator: "required", editor: "input"}, + {title: "{% trans 'Amount' %}", field: "amount", validator: "required", editor: "number"}, { title: "{% trans 'Unit' %}", field: "unit__name", diff --git a/cookbook/views/edit.py b/cookbook/views/edit.py index 989f2c90..b28b5a44 100644 --- a/cookbook/views/edit.py +++ b/cookbook/views/edit.py @@ -98,7 +98,10 @@ def internal_recipe_update(request, pk): recipe_ingredient.ingredient = ingredient if isinstance(i['amount'], str): - recipe_ingredient.amount = float(i['amount'].replace(',', '.')) + try: + recipe_ingredient.amount = float(i['amount'].replace(',', '.')) + except ValueError: + form.add_error("ingredients", _('There was an error converting your ingredients amount to a number: ') + i['unit__name']) else: recipe_ingredient.amount = i['amount']