# HG changeset patch # User BenoƮt Allard # Date 1412857619 -7200 # Node ID cc836f9e869ebdd0d16e56cd954da5c4d841a1d4 # Parent 2ecf13200e87fb409b3c7b5c4cb07868d58b443d Allow deletion of Products diff -r 2ecf13200e87 -r cc836f9e869e farol/producttree.py --- a/farol/producttree.py Thu Oct 09 14:26:33 2014 +0200 +++ b/farol/producttree.py Thu Oct 09 14:26:59 2014 +0200 @@ -213,6 +213,22 @@ ptree.addProduct(product) return redirect(url_for('.view')) +@producttree.route('/product//del', methods=['POST']) +@document_required +@producttree_required +def del_product(productid): + cvrf = get_current() + ptree = cvrf._producttree + try: + product = cvrf.getProductForID(productid) + except KeyError: + abort(404) + product.unlink() + ptree._products.remove(product) + del product + return redirect(url_for('.view')) + + @producttree.route('/relationship//edit', methods=['GET', 'POST']) @document_required @producttree_required diff -r 2ecf13200e87 -r cc836f9e869e farol/templates/producttree/view_product.j2 --- a/farol/templates/producttree/view_product.j2 Thu Oct 09 14:26:33 2014 +0200 +++ b/farol/templates/producttree/view_product.j2 Thu Oct 09 14:26:59 2014 +0200 @@ -24,7 +24,7 @@ -#} {% extends "base.j2" %} -{% from "macros.j2" import panel %} +{% from "macros.j2" import panel, delete_button %} {% block title %}{{ product._name }}{% endblock %} {% set active = 'product' %} @@ -57,4 +57,5 @@ {% endfor %} +
{{ delete_button(url_for('.del_product', productid=product._productid)) }}
{% endblock %}