def edit_product(product_slug): """Presents the form to edit products.""" product = Product.by_slug(product_slug) form = ProductForm(request.form, product) return render_template( 'admin/edit-product.html', form=form, product=product)
def delete_product(product_slug): """Deletes a product.""" product = Product.by_slug(product_slug) if request.method == 'POST': db.session.delete(product) db.session.commit() flash('Deleted “%s”' % product.name) return redirect('/') return render_template('admin/delete.html', product=product)
def update_product(product_slug): """Saves changes to an existing product.""" product = Product.by_slug(product_slug) form = ProductForm(request.form, product) if not form.validate(): return render_template( 'admin/edit-product.html', form=form, product=product) product = Product.from_form(form, product=product) flash(message='Product updated', category='success') url = url_for('frontend.product', category_slug=product.category.slug, product_slug=product.slug) return redirect(url)