diff farol/producttree.py @ 87:e02724c84bae

Add deletion of (orphaned) relationships
author Benoît Allard <benoit.allard@greenbone.net>
date Thu, 09 Oct 2014 15:16:30 +0200
parents 2d41121ec991
children 521c0ec35338
line wrap: on
line diff
--- a/farol/producttree.py	Thu Oct 09 14:50:37 2014 +0200
+++ b/farol/producttree.py	Thu Oct 09 15:16:30 2014 +0200
@@ -277,6 +277,24 @@
     ptree.addRelationship(rel)
     return redirect(url_for('.view'))
 
+@producttree.route('/relationship/<int:index>/del', methods=['POST'])
+@document_required
+@producttree_required
+def del_relationship(index):
+    rels = get_current()._producttree._relationships
+    if not (0 <= index < len(rels)):
+        flash('Relationship not found', 'danger')
+        abort(404)
+    rel = rels[index]
+
+    if not rel.isOrphaned():
+        flash('Not able to delete Relationship with Product', 'danger')
+        abort(403)
+
+    del rels[index]
+    return redirect(url_for('.view'))
+
+
 @producttree.route('/group/<groupid>/edit', methods=['GET', 'POST'])
 @document_required
 @producttree_required

http://farol.wald.intevation.org