| 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) |