forked from enviPath/enviPy
[Feature] Alias Support (#151)
Fixes #149 Co-authored-by: Tim Lorsbach <tim@lorsba.ch> Reviewed-on: enviPath/enviPy#151
This commit is contained in:
@ -300,6 +300,14 @@ def set_scenarios(current_user, attach_object, scenario_urls: List[str]):
|
||||
attach_object.set_scenarios(scens)
|
||||
|
||||
|
||||
def set_aliases(current_user, attach_object, aliases: List[str]):
|
||||
if aliases == [""]:
|
||||
aliases = []
|
||||
|
||||
attach_object.aliases = aliases
|
||||
attach_object.save()
|
||||
|
||||
|
||||
def copy_object(current_user, target_package: "Package", source_object_url: str):
|
||||
# Ensures that source is readable
|
||||
source_package = PackageManager.get_package_by_url(current_user, source_object_url)
|
||||
@ -1160,10 +1168,19 @@ def package_compound(request, package_uuid, compound_uuid):
|
||||
|
||||
if "selected-scenarios" in request.POST:
|
||||
selected_scenarios = request.POST.getlist("selected-scenarios")
|
||||
|
||||
set_scenarios(current_user, current_compound, selected_scenarios)
|
||||
return redirect(current_compound.url)
|
||||
|
||||
if "aliases" in request.POST:
|
||||
aliases = request.POST.getlist("aliases")
|
||||
|
||||
try:
|
||||
set_aliases(current_user, current_compound, aliases)
|
||||
except Exception as e:
|
||||
return JsonResponse({"error": str(e)}, status=400)
|
||||
|
||||
return JsonResponse({"success": current_compound.url})
|
||||
|
||||
new_compound_name = request.POST.get("compound-name", "").strip()
|
||||
new_compound_description = request.POST.get("compound-description", "").strip()
|
||||
|
||||
@ -1311,6 +1328,16 @@ def package_compound_structure(request, package_uuid, compound_uuid, structure_u
|
||||
set_scenarios(current_user, current_structure, selected_scenarios)
|
||||
return redirect(current_structure.url)
|
||||
|
||||
if "aliases" in request.POST:
|
||||
aliases = request.POST.getlist("aliases")
|
||||
|
||||
try:
|
||||
set_aliases(current_user, current_structure, aliases)
|
||||
except Exception as e:
|
||||
return JsonResponse({"error": str(e)}, status=400)
|
||||
|
||||
return JsonResponse({"success": current_structure.url})
|
||||
|
||||
selected_database = request.POST.get("selected-database", "").strip()
|
||||
external_identifier = request.POST.get("identifier", "").strip()
|
||||
|
||||
@ -1472,6 +1499,16 @@ def package_rule(request, package_uuid, rule_uuid):
|
||||
set_scenarios(current_user, current_rule, selected_scenarios)
|
||||
return redirect(current_rule.url)
|
||||
|
||||
if "aliases" in request.POST:
|
||||
aliases = request.POST.getlist("aliases")
|
||||
|
||||
try:
|
||||
set_aliases(current_user, current_rule, aliases)
|
||||
except Exception as e:
|
||||
return JsonResponse({"error": str(e)}, status=400)
|
||||
|
||||
return JsonResponse({"success": current_rule.url})
|
||||
|
||||
rule_name = request.POST.get("rule-name", "").strip()
|
||||
rule_description = request.POST.get("rule-description", "").strip()
|
||||
|
||||
@ -1588,6 +1625,16 @@ def package_reaction(request, package_uuid, reaction_uuid):
|
||||
set_scenarios(current_user, current_reaction, selected_scenarios)
|
||||
return redirect(current_reaction.url)
|
||||
|
||||
if "aliases" in request.POST:
|
||||
aliases = request.POST.getlist("aliases")
|
||||
|
||||
try:
|
||||
set_aliases(current_user, current_reaction, aliases)
|
||||
except Exception as e:
|
||||
return JsonResponse({"error": str(e)}, status=400)
|
||||
|
||||
return JsonResponse({"success": current_reaction.url})
|
||||
|
||||
new_reaction_name = request.POST.get("reaction-name", "").strip()
|
||||
new_reaction_description = request.POST.get("reaction-description", "").strip()
|
||||
|
||||
@ -1807,6 +1854,16 @@ def package_pathway(request, package_uuid, pathway_uuid):
|
||||
set_scenarios(current_user, current_pathway, selected_scenarios)
|
||||
return redirect(current_pathway.url)
|
||||
|
||||
if "aliases" in request.POST:
|
||||
aliases = request.POST.getlist("aliases")
|
||||
|
||||
try:
|
||||
set_aliases(current_user, current_pathway, aliases)
|
||||
except Exception as e:
|
||||
return JsonResponse({"error": str(e)}, status=400)
|
||||
|
||||
return JsonResponse({"success": current_pathway.url})
|
||||
|
||||
pathway_name = request.POST.get("pathway-name")
|
||||
pathway_description = request.POST.get("pathway-description")
|
||||
|
||||
@ -1957,6 +2014,16 @@ def package_pathway_node(request, package_uuid, pathway_uuid, node_uuid):
|
||||
set_scenarios(current_user, current_node, selected_scenarios)
|
||||
return redirect(current_node.url)
|
||||
|
||||
if "aliases" in request.POST:
|
||||
aliases = request.POST.getlist("aliases")
|
||||
|
||||
try:
|
||||
set_aliases(current_user, current_node, aliases)
|
||||
except Exception as e:
|
||||
return JsonResponse({"error": str(e)}, status=400)
|
||||
|
||||
return JsonResponse({"success": current_node.url})
|
||||
|
||||
return HttpResponseBadRequest()
|
||||
else:
|
||||
return HttpResponseNotAllowed(["GET", "POST"])
|
||||
@ -2073,6 +2140,16 @@ def package_pathway_edge(request, package_uuid, pathway_uuid, edge_uuid):
|
||||
set_scenarios(current_user, current_edge, selected_scenarios)
|
||||
return redirect(current_edge.url)
|
||||
|
||||
if "aliases" in request.POST:
|
||||
aliases = request.POST.getlist("aliases")
|
||||
|
||||
try:
|
||||
set_aliases(current_user, current_edge, aliases)
|
||||
except Exception as e:
|
||||
return JsonResponse({"error": str(e)}, status=400)
|
||||
|
||||
return JsonResponse({"success": current_edge.url})
|
||||
|
||||
return HttpResponseBadRequest()
|
||||
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user