make it possible to delete graph nodes again
This commit is contained in:
parent
ab0db6cb85
commit
0c34d348da
4 changed files with 35 additions and 1 deletions
|
@ -119,6 +119,9 @@ legend {
|
|||
right: 8px;
|
||||
top: 8px;
|
||||
}
|
||||
[data-active-node] form button {
|
||||
margin-top: 5px;
|
||||
}
|
||||
[data-levels], [data-sublevels], #sidebar .nav, [data-modal-close] {
|
||||
display:none;
|
||||
}
|
||||
|
|
|
@ -259,7 +259,12 @@ editor = {
|
|||
var btn = $(this).data('btn');
|
||||
if (btn !== undefined && btn !== null) {
|
||||
if ($(btn).is('[name]')) {
|
||||
data += '&' + $('<input>').attr('name', $(btn).attr('name')).val($(btn).val()).serialize();
|
||||
var name = $(btn).attr('name');
|
||||
data += '&' + $('<input>').attr('name', name).val($(btn).val()).serialize();
|
||||
if (name === 'delete_confirm') {
|
||||
editor._active_graph_node = null;
|
||||
editor._active_graph_node_html = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
var action = $(this).attr('action');
|
||||
|
|
|
@ -33,6 +33,11 @@
|
|||
{% blocktrans %}in space {{ space_title }}{% endblocktrans %}<br>
|
||||
{% blocktrans %}on level {{ level_title }}{% endblocktrans %}
|
||||
{% endwith %}
|
||||
<form action="{{ request.path }}" method="post">
|
||||
{% csrf_token %}
|
||||
<input type="hidden" name="pk" value="{{ active_node.pk }}">
|
||||
<button type="submit" class="btn btn-danger btn-xs" name="delete" value="1">{% trans 'Delete Node' %}</button>
|
||||
</form>
|
||||
</div>
|
||||
{% else %}
|
||||
<div data-active-node class="well well-sm"></div>
|
||||
|
|
|
@ -419,6 +419,27 @@ def graph_edit(request, level=None, space=None):
|
|||
create_nodes = True
|
||||
|
||||
if request.method == 'POST':
|
||||
if request.POST.get('delete') == '1':
|
||||
# Delete this graphnode!
|
||||
node = get_object_or_404(GraphNode, pk=request.POST.get('pk'))
|
||||
|
||||
if request.POST.get('delete_confirm') == '1':
|
||||
with request.changeset.lock_to_edit(request) as changeset:
|
||||
if changeset.can_edit(request):
|
||||
node.edges_from_here.all().delete()
|
||||
node.edges_to_here.all().delete()
|
||||
node.delete()
|
||||
else:
|
||||
messages.error(request, _('You can not edit changes on this changeset.'))
|
||||
return redirect(request.path)
|
||||
messages.success(request, _('Graph Node was successfully deleted.'))
|
||||
return redirect(request.path)
|
||||
return render(request, 'editor/delete.html', {
|
||||
'model_title': GraphNode._meta.verbose_name,
|
||||
'pk': node.pk,
|
||||
'obj_title': node.title
|
||||
})
|
||||
|
||||
edge_settings_form = GraphEdgeSettingsForm(instance=GraphEdge(), request=request, data=request.POST)
|
||||
graph_action_form = GraphEditorActionForm(request=request, allow_clicked_position=create_nodes,
|
||||
data=request.POST)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue