comparison farol/producttree.py @ 139:584587a000a2

Propagate ProductID and GroupID updates in the whole document
author Benoît Allard <benoit.allard@greenbone.net>
date Mon, 27 Oct 2014 15:08:29 +0100
parents 64a6e69d54fc
children 1d63a532ccce
comparison
equal deleted inserted replaced
138:43cd11ba7928 139:584587a000a2
194 # Unlink 194 # Unlink
195 product.unlink() 195 product.unlink()
196 # Link again 196 # Link again
197 product.link(ptree) 197 product.link(ptree)
198 198
199 if (request.form['productid'] != product._productid) and not cvrf.isProductOrphan(product._productid):
200 flash('Also updating the ProductID for %s in this Document' % request.form['name'], 'info')
201 cvrf.changeProductID(product._productid, request.form['productid'])
199 product._productid = request.form['productid'] 202 product._productid = request.form['productid']
200 product._name = request.form['name'] 203 product._name = request.form['name']
201 product._cpe = request.form['cpe'] or None 204 product._cpe = request.form['cpe'] or None
202 return redirect(url_for('.view')) 205 return redirect(url_for('.view'))
203 206
311 314
312 @producttree.route('/group/<groupid>/edit', methods=['GET', 'POST']) 315 @producttree.route('/group/<groupid>/edit', methods=['GET', 'POST'])
313 @document_required 316 @document_required
314 @producttree_required 317 @producttree_required
315 def edit_group(groupid): 318 def edit_group(groupid):
316 try: 319 cvrf = get_current()
317 group = get_current().getGroupForID(groupid) 320 try:
321 group = cvrf.getGroupForID(groupid)
318 except KeyError: 322 except KeyError:
319 abort(404) 323 abort(404)
320 if request.method != 'POST': 324 if request.method != 'POST':
321 return render_template('producttree/edit_group.j2', groupid=group._groupid, description=group._description, productids=group._productids) 325 return render_template('producttree/edit_group.j2', groupid=group._groupid, description=group._description, productids=group._productids)
322 326
327 if (request.form['groupid'] != group._groupid) and not cvrf.isGroupOrphan(group._groupid):
328 flash('Also updating the groupid in the whole document.', 'info')
329 cvrf.changeGroupID(group._groupid, request.form['groupid'])
323 group._groupid = request.form['groupid'] 330 group._groupid = request.form['groupid']
324 group.setDescription(request.form['description'] or None) 331 group.setDescription(request.form['description'] or None)
325 group._productids = [] 332 group._productids = []
326 for productid in request.form.getlist('products'): 333 for productid in request.form.getlist('products'):
327 group.addProductID(productid) 334 group.addProductID(productid)

http://farol.wald.intevation.org