aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2023-02-28 14:32:34 +0300
committerFrederick Muriuki Muriithi2023-02-28 14:32:34 +0300
commit58158cdb241360f1d0b47d8994e41ad53d75849b (patch)
tree34f0dae39b4e139a03be2278a430681a3ce1e152
parent0c64b1f87739bd9298a182a7a7fca241b33d10cf (diff)
downloadgenenetwork2-58158cdb241360f1d0b47d8994e41ad53d75849b.tar.gz
oauth2: Unlink data from resource(s).
-rw-r--r--wqflask/wqflask/oauth2/resources.py28
-rw-r--r--wqflask/wqflask/templates/oauth2/view-resource.html6
2 files changed, 32 insertions, 2 deletions
diff --git a/wqflask/wqflask/oauth2/resources.py b/wqflask/wqflask/oauth2/resources.py
index 1551dc8a..872a29c6 100644
--- a/wqflask/wqflask/oauth2/resources.py
+++ b/wqflask/wqflask/oauth2/resources.py
@@ -100,6 +100,34 @@ def link_data_to_resource():
return redirect(url_for(
"oauth2.resource.view_resource", resource_id=form["resource_id"]))
+@resources.route("/data/unlink", methods=["POST"])
+@require_oauth2
+def unlink_data_from_resource():
+ """Unlink group data from a resource"""
+ form = request.form
+ try:
+ assert "resource_id" in form, "Resource ID not provided."
+ assert "dataset_id" in form, "Dataset ID not provided."
+ resource_id = form["resource_id"]
+
+ def __error__(error):
+ err = process_error(error)
+ flash(f"{err['error']}: {err['error_description']}", "alert-danger")
+ return redirect(url_for(
+ "oauth2.resource.view_resource", resource_id=resource_id))
+
+ def __success__(success):
+ flash(f"Data unlinked from resource successfully", "alert-success")
+ return redirect(url_for(
+ "oauth2.resource.view_resource", resource_id=resource_id))
+ return oauth2_post(
+ "oauth2/resource/data/unlink", data=dict(form)).either(
+ __error__, __success__)
+ except AssertionError as aserr:
+ flash(aserr.args[0], "alert-danger")
+ return redirect(url_for(
+ "oauth2.resource.view_resource", resource_id=form["resource_id"]))
+
@resources.route("/edit/<uuid:resource_id>", methods=["GET"])
@require_oauth2
def edit_resource(resource_id: uuid.UUID):
diff --git a/wqflask/wqflask/templates/oauth2/view-resource.html b/wqflask/wqflask/templates/oauth2/view-resource.html
index 04be2a4c..fb44560b 100644
--- a/wqflask/wqflask/templates/oauth2/view-resource.html
+++ b/wqflask/wqflask/templates/oauth2/view-resource.html
@@ -56,13 +56,15 @@
<tr>
<td>
<a href="https://gn1.genenetwork.org/webqtl/main.py?FormID=sharinginfo&GN_AccessionId={{data_item.accession_id}}&InfoPageName={{data_item.dataset_name}}"
- title="Link to information on dataset '{{data_item.dataset_fullname}}'">
+ title="Link to information on dataset '{{data_item.dataset_fullname}}'"
+ target="_blank">
{{data_item.dataset_name}}
</a>
</td>
<td>{{data_item.dataset_fullname}}</td>
<td>
- <form action="#" method="POST">
+ <form action="{{url_for('oauth2.resource.unlink_data_from_resource')}}"
+ method="POST">
<input type="hidden" name="resource_id"
value="{{resource.resource_id}}" />
<input type="hidden" name="dataset_id"