def edit_cafe(cafe_id): """Handle form for editing cafe. Redirects to cafe details on successful submit or renders form """ cafe = Cafe.query.get(cafe_id) form = AddOrEditCafe(obj=cafe) cities = City.cities() form.city_code.choices = cities if form.validate_on_submit(): cafe.name = form.name.data cafe.description = form.description.data cafe.url = form.url.data cafe.address = form.address.data cafe.city_code = form.city_code.data cafe.image_url = form.image_url.data db.session.commit() flash(f"{cafe.name} edited!", "success") return redirect(f"/cafes/{cafe.id}") else: return render_template("/cafe/edit-form.html", form=form, cafe=cafe)
def add_cafe(): """Show form for adding cafe.""" form = AddOrEditCafe() cities = City.cities() form.city_code.choices = cities if form.validate_on_submit(): cafe = Cafe(name=form.name.data, description=form.description.data, url=form.url.data, address=form.address.data, city_code=form.city_code.data, image_url=form.image_url.data) db.session.add(cafe) db.session.commit() flash(f"{cafe.name} added!", "success") return redirect(f"/cafes/{cafe.id}") else: return render_template("/cafe/add-form.html", form=form)