def delete_selected(target_set_id): # getting all the targets that the user selects checked_items = request.values.getlist("targets") # loop through specified targets for target_id in checked_items: # get target from target id target = Target.objects(id = target_id)[0] # pull target from target set TargetSet.objects(id=target_set_id).update(pull__targets=target) # delete target object from mongo target.delete() # get updated target set target_set = TargetSet.objects(id=target_set_id)[0] return redirect(url_for('targets.edit', target_set_id=target_set.id))
def edit(target_set_id): # get current target set target_set = TargetSet.objects(id=target_set_id)[0] # get form form = ManageTargets() # initialize the target types form.target_type.choices = [(1,'text'),(2,'image')] # edit target form if form.validate_on_submit(): # get target id from form target_id = form.target_id.data # check if target id has not been set if target_id != 'none': # get the target to be edited target = Target.objects(id = target_id)[0] # update primary/alt descriptions target.update(set__primary_description=form.primary_description.data) target.update(set__alt_description=form.alt_description.data) # need to redefine target set before rendering template to update changes target_set = TargetSet.objects(id=target_set_id)[0] return render_template("edit_target_set.html", form=form, target_set_form=TargetSetForm(obj=target_set), target_set=target_set) return render_template("edit_target_set.html", form=form, target_set_form=TargetSetForm(obj=target_set), target_set=target_set)