def recipes_create(): form = RecipeForm(request.form) form.recipe_id = -1 # Checking that the form passes validations if not form.validate(): return render_template("recipes/new.html", form=form) # Adding the new recipe name = form.name.data.strip() name = (name[0].upper() + name[1:]) newRecipe = Recipe(name) newRecipe.instruction = form.instruction.data newRecipe.preptime = form.preptime.data newRecipe.account_id = current_user.id # Separating and adding tags tagsString = form.tags.data.strip() tags = tagsString.split(',') Tag.add_tags(tags, newRecipe) # Commiting changes db.session().add(newRecipe) db.session().commit() # Ingredients need recipe ID, # so they are added only after the recipe is added addedRecipe = Recipe.query.filter(Recipe.name == newRecipe.name).first() ingredients = form.ingredients.data.splitlines() Ingredient.add_ingredients(ingredients, addedRecipe) return redirect(url_for("recipes_index"))
def recipes_create(): form = RecipeForm(request.form) if not form.validate(): return render_template("recipes/form.html", form=form, form_action=url_for("recipes_create"), button_text="Create recipe") recipe = Recipe(form.name.data.strip()) recipe.servings = form.servings.data recipe.instructions = form.instructions.data recipe.account_id = current_user.id recipe.account_name = current_user.name ingredients = form.ingredients.data db.session().add(recipe) db.session().flush() new = create_ingredients(ingredients, recipe.id) db.session().commit() return redirect(url_for("recipes_view", recipe_id=recipe.id))
def recipes_create(): if request.method == "GET": form = NewRecipeForm() form.ingredients.append_entry({}) form.ingredients.append_entry({}) form.ingredients.append_entry({}) form.ingredients.append_entry({}) form.ingredients.append_entry({}) form.ingredients.append_entry({}) form.ingredients.append_entry({}) form.ingredients.append_entry({}) form.ingredients.append_entry({}) form.ingredients.append_entry({}) form.ingredients.append_entry({}) form.ingredients.append_entry({}) return render_template("recipes/new.html", form=form) form = NewRecipeForm(request.form) if not form.validate(): return render_template("recipes/new.html", form=form) recipe = Recipe(form.header.data, form.category.data, form.description.data, form.directions.data) recipe.account_id = current_user.id db.session().add(recipe) db.session().flush() for ingredientForm in form.ingredients.data: if ingredientForm['ingredientName']: ingredient = Ingredient.query.filter_by( name=ingredientForm['ingredientName'].lower()).first() if not ingredient: ingredient = Ingredient( ingredientForm['ingredientName'].lower()) db.session().add(ingredient) db.session().flush() recipeIngredient = RecipeIngredient( ingredientForm['ingredientAmount'], ingredientForm['ingredientUnit']) recipeIngredient.recipe_id = recipe.id recipeIngredient.ingredient_id = ingredient.id db.session().add(recipeIngredient) db.session().commit() return redirect(url_for("recipes_index", user_id=recipe.account_id))
def recipes_create(): form = RecipeForm(request.form) if not form.validate(): return render_template("recipes/new.html", form=form) recipe = Recipe(form.name.data) recipe.description = form.description.data recipe.content = form.content.data recipe.account_id = current_user.id db.session().add(recipe) db.session().commit() return redirect(url_for("recipes_index"))
def recipes_create(): form = RecipeForm(request.form) if not form.validate(): return render_template("recipes/new.html", form=form) r = Recipe(form.name.data, form.text.data) r.difficult = form.difficult.data r.event = form.event.data r.account_id = current_user.id db.session().add(r) db.session().commit() return redirect(url_for("recipes_list"))
def recipes_create(): form = RecipeForm(request.form) if not form.validate(): return render_template("recipes/new.html", form=form) r = Recipe(form.name.data) r.favourite = form.favourite.data r.account_id = current_user.id r.description = cleanstr(form.description.data) db.session().add(r) db.session().commit() return redirect(url_for("recipes_index"))
def recipes_create(): form = RecipeForm(request.form) if not form.validate(): return render_template("recipes/new.html", form=form) name = form.name.data duration = form.duration.data instructions = form.instructions.data recipe = Recipe(name, duration, instructions) recipe.account_id = current_user.id recipe.tags = get_tags(form) db.session().add(recipe) db.session().commit() return redirect(url_for("recipes_index"))
def recipes_create(): form = RecipeForm(request.form) if not form.validate(): return render_template("recipes/new.html", form=form) r = db.session.query(Recipe).filter( Recipe.name == form.name.data).one_or_none() if r is not None: flash("Recipe you are trying to add already exists", "warning") elif form.name.data.__len__() < 2: flash("Recipe name has to be longer than 1 character", "warning") else: flash("Recipe has been added", "success") t = Recipe(form.name.data) t.account_id = current_user.id db.session().add(t) ingredients_string = form.ingredientString.data ingredients = [x.strip() for x in ingredients_string.split(',')] for ingredient in ingredients: x = db.session.query(Ingredient).filter( Ingredient.name == ingredient).one_or_none() if not x: if ingredient.__len__() < 2: flash("Ingredient name has to be longer than 1 character", "warning") else: x = Ingredient(ingredient) x.account_id = current_user.id db.session().add(x) t.recipeIngredients.append(x) try: db.session().commit() except Exception as e: print(str(e)) return redirect(url_for("recipes_create"))
def recipes_create(): form = RecipeForm(request.form) form.ingredients.choices = [(ingredient.id, ingredient.name) for ingredient in Ingredient.query.all()] if not form.validate(): return render_template("recipes/new.html", form=form) ingredients = [Ingredient.query.get(id) for id in form.ingredients.data] r = Recipe(form.name.data, form.text.data) r.difficult = form.difficult.data r.event = form.event.data r.account_id = current_user.id r.recipeingredients = ingredients db.session().add(r) db.session().commit() return redirect(url_for("recipes_list"))
def recipes_create(): if request.method == "GET": return render_template("recipes/new.html", form=RecipeForm()) form = RecipeForm(request.form) if not form.validate(): return render_template("/recipes/new.html", form=form) url = uploadImage(form.image.name) r = Recipe(form.name.data, form.instructions.data, url) r.account_id = current_user.id db.session().add(r) db.session().flush() recipeId = r.id db.session().commit() return redirect(url_for("recipes_ingredients", recipeId=recipeId))
def recipe_create(): form = RecipeForm(request.form) if not form.validate(): return render_template("recipes/newrecipe.html", form=form) newrecipe = Recipe(form.name.data, form.ingredients.data, form.recipetext.data, form.tips.data) newrecipe.account_id = current_user.id db.session().add(newrecipe) db.session.commit() for category in form.categories.data: newrecipecategory = RecipeCategory(newrecipe.id, category.id) db.session.add(newrecipecategory) db.session.commit() return redirect(url_for("recipes_index"))
def recipes_create(): form = RecipeForm(request.form) if not form.validate(): return render_template("recipes/new.html", form=form) r = Recipe(form.name.data, form.timeNeeded.data, form.instructions.data) r.account_id = current_user.id db.session().add(r) db.session().flush() if form.ingredient_1.data and form.quantity_1.data: ing = form.ingredient_1.data recipeing = RecipeIngredient(form.quantity_1.data) recipeing.recipe_id = r.id recipeing.ingredient_id = ing.get_id() db.session().add(recipeing) if form.ingredient_2.data and form.quantity_2.data: ing = form.ingredient_2.data recipeing = RecipeIngredient(form.quantity_2.data) recipeing.recipe_id = r.id recipeing.ingredient_id = ing.get_id() db.session().add(recipeing) if form.ingredient_3.data and form.quantity_3.data: ing = form.ingredient_3.data recipeing = RecipeIngredient(form.quantity_3.data) recipeing.recipe_id = r.id recipeing.ingredient_id = ing.get_id() db.session().add(recipeing) if form.ingredient_4.data and form.quantity_4.data: ing = form.ingredient_4.data recipeing = RecipeIngredient(form.quantity_4.data) recipeing.recipe_id = r.id recipeing.ingredient_id = ing.get_id() db.session().add(recipeing) if form.ingredient_5.data and form.quantity_5.data: ing = form.ingredient_5.data recipeing = RecipeIngredient(form.quantity_5.data) recipeing.recipe_id = r.id recipeing.ingredient_id = ing.get_id() db.session().add(recipeing) if form.ingredient_6.data and form.quantity_6.data: ing = form.ingredient_6.data recipeing = RecipeIngredient(form.quantity_6.data) recipeing.recipe_id = r.id recipeing.ingredient_id = ing.get_id() db.session().add(recipeing) if form.ingredient_7.data and form.quantity_7.data: ing = form.ingredient_7.data recipeing = RecipeIngredient(form.quantity_7.data) recipeing.recipe_id = r.id recipeing.ingredient_id = ing.get_id() db.session().add(recipeing) if form.ingredient_8.data and form.quantity_8.data: ing = form.ingredient_8.data recipeing = RecipeIngredient(form.quantity_8.data) recipeing.recipe_id = r.id recipeing.ingredient_id = ing.get_id() db.session().add(recipeing) if form.ingredient_9.data and form.quantity_9.data: ing = form.ingredient_9.data recipeing = RecipeIngredient(form.quantity_9.data) recipeing.recipe_id = r.id recipeing.ingredient_id = ing.get_id() db.session().add(recipeing) if form.ingredient_10.data and form.quantity_10.data: ing = form.ingredient_10.data recipeing = RecipeIngredient(form.quantity_10.data) recipeing.recipe_id = r.id recipeing.ingredient_id = ing.get_id() db.session().add(recipeing) db.session().commit() return redirect(url_for("recipes_index"))
def recipes_update(): form = UpdateForm(request.form) if not form.validate(): return render_template("recipes/update.html", form=form) r = Recipe(form.name.data, form.timeNeeded.data, form.instructions.data) r.account_id = current_user.id r.id = form.id.data # call database objects recipe = Recipe.query.filter_by(id=form.id.data).first() recipe_ingredients = RecipeIngredient.query.filter_by( recipe_id=recipe.id).all() query_ingredients = Ingredient.query.join(RecipeIngredient).join( Recipe).filter( (RecipeIngredient.recipe_id == recipe.id) and (RecipeIngredient.ingredient_id == Ingredient.id)).all() # update recipe information recipe.id = form.id.data recipe.name = form.name.data recipe.timeNeeded = form.timeNeeded.data recipe.instructions = form.instructions.data if form.ingredient_1.data and form.quantity_1.data: # update ingredient_id and amount for recipe_ingredient try: recipe_ingredients[ 0].ingredient_id = form.ingredient_1.data.get_id() recipe_ingredients[0].amount = form.quantity_1.data except: # if the user is adding new ingredients and quantities, this takes care of it ing = form.ingredient_1.data recipeing = RecipeIngredient(form.quantity_1.data) recipeing.recipe_id = recipe.id recipeing.ingredient_id = ing.get_id() db.session().add(recipeing) if form.ingredient_2.data and form.quantity_2.data: # update ingredient_id and amount for recipe_ingredient try: recipe_ingredients[ 1].ingredient_id = form.ingredient_2.data.get_id() recipe_ingredients[1].amount = form.quantity_2.data except: if not form.ingredient_2.data and len(recipe_ingredients) >= 2: RecipeIngredient.query.filter_by( id=recipe_ingredients[1].id).delete() else: # if the user is adding new ingredients and quantities, this takes care of it ing = form.ingredient_2.data recipeing = RecipeIngredient(form.quantity_2.data) recipeing.recipe_id = recipe.id recipeing.ingredient_id = ing.get_id() db.session().add(recipeing) if form.ingredient_3.data and form.quantity_3.data: # update ingredient_id and amount for recipe_ingredient try: recipe_ingredients[ 2].ingredient_id = form.ingredient_3.data.get_id() recipe_ingredients[2].amount = form.quantity_3.data except: # if the user is adding new ingredients and quantities, this takes care of it ing = form.ingredient_3.data recipeing = RecipeIngredient(form.quantity_3.data) recipeing.recipe_id = recipe.id recipeing.ingredient_id = ing.get_id() db.session().add(recipeing) if form.ingredient_4.data and form.quantity_4.data: # update ingredient_id and amount for recipe_ingredient try: recipe_ingredients[ 3].ingredient_id = form.ingredient_4.data.get_id() recipe_ingredients[3].amount = form.quantity_4.data except: # if the user is adding new ingredients and quantities, this takes care of it ing = form.ingredient_4.data recipeing = RecipeIngredient(form.quantity_4.data) recipeing.recipe_id = recipe.id recipeing.ingredient_id = ing.get_id() db.session().add(recipeing) if form.ingredient_5.data and form.quantity_5.data: # update ingredient_id and amount for recipe_ingredient try: recipe_ingredients[ 4].ingredient_id = form.ingredient_5.data.get_id() recipe_ingredients[4].amount = form.quantity_5.data except: # if the user is adding new ingredients and quantities, this takes care of it ing = form.ingredient_5.data recipeing = RecipeIngredient(form.quantity_5.data) recipeing.recipe_id = recipe.id recipeing.ingredient_id = ing.get_id() db.session().add(recipeing) if form.ingredient_6.data and form.quantity_6.data: # update ingredient_id and amount for recipe_ingredient try: recipe_ingredients[ 5].ingredient_id = form.ingredient_6.data.get_id() recipe_ingredients[5].amount = form.quantity_6.data except: # if the user is adding new ingredients and quantities, this takes care of it ing = form.ingredient_6.data recipeing = RecipeIngredient(form.quantity_6.data) recipeing.recipe_id = recipe.id recipeing.ingredient_id = ing.get_id() db.session().add(recipeing) if form.ingredient_7.data and form.quantity_7.data: # update ingredient_id and amount for recipe_ingredient try: recipe_ingredients[ 6].ingredient_id = form.ingredient_7.data.get_id() recipe_ingredients[6].amount = form.quantity_7.data except: # if the user is adding new ingredients and quantities, this takes care of it ing = form.ingredient_7.data recipeing = RecipeIngredient(form.quantity_7.data) recipeing.recipe_id = recipe.id recipeing.ingredient_id = ing.get_id() db.session().add(recipeing) if form.ingredient_8.data and form.quantity_8.data: # update ingredient_id and amount for recipe_ingredient try: recipe_ingredients[ 7].ingredient_id = form.ingredient_8.data.get_id() recipe_ingredients[7].amount = form.quantity_8.data except: # if the user is adding new ingredients and quantities, this takes care of it ing = form.ingredient_8.data recipeing = RecipeIngredient(form.quantity_8.data) recipeing.recipe_id = recipe.id recipeing.ingredient_id = ing.get_id() db.session().add(recipeing) if form.ingredient_9.data and form.quantity_9.data: # update ingredient_id and amount for recipe_ingredient try: recipe_ingredients[ 8].ingredient_id = form.ingredient_9.data.get_id() recipe_ingredients[8].amount = form.quantity_9.data except: # if the user is adding new ingredients and quantities, this takes care of it ing = form.ingredient_9.data recipeing = RecipeIngredient(form.quantity_9.data) recipeing.recipe_id = recipe.id recipeing.ingredient_id = ing.get_id() db.session().add(recipeing) if form.ingredient_10.data and form.quantity_10.data: # update ingredient_id and amount for recipe_ingredient try: recipe_ingredients[ 9].ingredient_id = form.ingredient_10.data.get_id() recipe_ingredients[9].amount = form.quantity_10.data except: # if the user is adding new ingredients and quantities, this takes care of it ing = form.ingredient_10.data recipeing = RecipeIngredient(form.quantity_10.data) recipeing.recipe_id = recipe.id recipeing.ingredient_id = ing.get_id() db.session().add(recipeing) db.session().commit() return redirect(url_for("recipes_index"))