Delete Stale Edges when removing a Node from a Pathway (#41)

Co-authored-by: Tim Lorsbach <tim@lorsba.ch>
Reviewed-on: enviPath/enviPy#41
This commit is contained in:
2025-07-31 07:50:50 +12:00
parent a1aebfa54d
commit c9d6d8b024
4 changed files with 38 additions and 9 deletions

View File

@ -1417,15 +1417,20 @@ def package_pathway_node(request, package_uuid, pathway_uuid, node_uuid):
return render(request, 'objects/node.html', context)
elif request.method == 'POST':
if s.DEBUG:
for k, v in request.POST.items():
print(k, v)
log_post_params(request)
if hidden := request.POST.get('hidden', None):
if hidden == 'delete-node':
current_node.delete()
return redirect(current_pathway.url)
# pre_delete signal will take care of edge deletion
current_node.delete()
return redirect(current_pathway.url)
else:
return HttpResponseBadRequest()
else:
return HttpResponseBadRequest()
else:
return HttpResponseNotAllowed(['GET', 'POST'])
@ -1474,6 +1479,8 @@ def package_pathway_edges(request, package_uuid, pathway_uuid):
elif request.method == 'POST':
log_post_params(request)
edge_name = request.POST.get('edge-name')
edge_description = request.POST.get('edge-description')
edge_substrates = request.POST.getlist('edge-substrates')
@ -1517,9 +1524,8 @@ def package_pathway_edge(request, package_uuid, pathway_uuid, edge_uuid):
return render(request, 'objects/edge.html', context)
elif request.method == 'POST':
if s.DEBUG:
for k, v in request.POST.items():
print(k, v)
log_post_params(request)
if hidden := request.POST.get('hidden', None):
if hidden == 'delete-edge':