def edit_recipe(id=1): recipe = Recipe.query.filter_by(id = id).first() app.logger.info('Editing Recipe ' + str(id)) form = RecipeForm(obj = recipe) if recipe == None: flash('Recipe not found.') return redirect(url_for('index')) if request.method == 'POST': app.logger.debug('request.data') app.logger.debug(request.data) app.logger.debug('Method = POST') valid = form.validate_on_submit() if valid: app.logger.info('Validation Successful - ' + str(form.recipe_name.data)) form.populate_obj(recipe) if len(request.files) > 0 and request.files['image_file'].filename: req = request filename = req.files['image_file'].filename recipe_name = recipe.recipe_name recipe.image_path = upload_image(req, filename, recipe_name) if recipe.image_path is None: app.logger.error('Error uploading image') flash("Error uploading image") db.session.add(recipe) db.session.commit() flash('Your changes have been saved.') return redirect(url_for('view_recipe', id=id)) else: app.logger.info("Failed Validation") return render_template('recipe_form.html', title="Edit a Recipe", form = form)
def add_recipe(): if request.query_string[:4] == "url=": app.logger.info("Adding from source: " + request.query_string[4:]) form = fillout_form( request.query_string[4:] ) else: form = RecipeForm(request.form) if request.method == "POST": if form.validate_on_submit(): app.logger.info("Adding a new Recipe") recipe=Recipe() form.populate_obj(recipe) if len(request.files) > 0: app.logger.debug("Image uploaded") req = request filename = req.files['image_file'].filename recipe_name = recipe.recipe_name recipe.image_path = upload_image(req, filename, recipe_name) if recipe.image_path is None: flash("Error uploading image") recipe.user_id = 1 recipe.timestamp = date.today() db.session.add(recipe) db.session.commit() new_rec = Recipe.query.filter(Recipe.recipe_name== str(recipe.recipe_name)).first() #import pdb; pdb.set_trace() return redirect(url_for('view_recipe', id=new_rec.id)) else: flash('Invalid data') return render_template('recipe_form.html',form = form, title="Add A New Recipe") elif request.method != "POST": return render_template('recipe_form.html',form = form, title="Add A New Recipe") return redirect(url_for('add_recipe'))