flash('Successfully deleted!') | flash('Successfully deleted!') | ||||
# function to delete a single relationship | # function to delete a single relationship | ||||
#def delete_relationship(first_resource_id, second_resource_id): | |||||
#relationship_id = Relationship.query.filter_by(first_resource_id=first_resource_id).first() | |||||
#return relationship_id['id'] | |||||
#deletion = Relationship.query.get(relationship_id) | |||||
#db.session.delete(deletion) | |||||
#db.session.commit() | |||||
def delete_relationship(first_resource_id, second_resource_id): | |||||
relation = Relationship.query.filter_by(first_resource_id=first_resource_id).first() | |||||
deletion = Relationship.query.get(relation.id) | |||||
db.session.delete(deletion) | |||||
db.session.commit() |
<select name="linked_resources" id="linked_resources" aria-label="Linked resources" class="selectpicker" data-live-search="true" multiple> | <select name="linked_resources" id="linked_resources" aria-label="Linked resources" class="selectpicker" data-live-search="true" multiple> | ||||
{% for resource_dropdown in resource_dropdown %} | {% for resource_dropdown in resource_dropdown %} | ||||
{% if resource_dropdown['type'] != 'tool' %} | {% if resource_dropdown['type'] != 'tool' %} | ||||
{% if resource_dropdown in links %} | |||||
{% if links and resource_dropdown in links %} | |||||
<option value="{{ resource_dropdown['id'] }}" selected>{{ resource_dropdown['name'] }}</option> | <option value="{{ resource_dropdown['id'] }}" selected>{{ resource_dropdown['name'] }}</option> | ||||
{% else %} | {% else %} | ||||
<option value="{{ resource_dropdown['id'] }}">{{ resource_dropdown['name'] }}</option> | <option value="{{ resource_dropdown['id'] }}">{{ resource_dropdown['name'] }}</option> |
if linked_resources: | if linked_resources: | ||||
for linked_resource in linked_resources: | for linked_resource in linked_resources: | ||||
link = Resource.query.get(linked_resource) | link = Resource.query.get(linked_resource) | ||||
if link not in links: | |||||
if links and link not in links: | |||||
add_linked_resource(tool_id, linked_resource) | add_linked_resource(tool_id, linked_resource) | ||||
#if remove_linked_resources: | |||||
# for remove_linked_resource in remove_linked_resources: | |||||
# delete_relationship(tool_id, remove_linked_resource) | |||||
elif not links: | |||||
add_linked_resource(tool_id, linked_resource) | |||||
if remove_linked_resources: | |||||
for remove_linked_resource in remove_linked_resources: | |||||
delete_relationship(tool_id, remove_linked_resource) | |||||
return redirect(url_for('tool.get_tools')) | return redirect(url_for('tool.get_tools')) | ||||
return render_template('edit.html', resource=tool, resource_dropdown=resource_dropdown, links=links) | return render_template('edit.html', resource=tool, resource_dropdown=resource_dropdown, links=links) |