aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wqflask/wqflask/collect.py39
1 files changed, 21 insertions, 18 deletions
diff --git a/wqflask/wqflask/collect.py b/wqflask/wqflask/collect.py
index ad0820c2..29bdb1fc 100644
--- a/wqflask/wqflask/collect.py
+++ b/wqflask/wqflask/collect.py
@@ -226,25 +226,28 @@ def remove_traits():
@app.route("/collections/delete", methods=('POST',))
def delete_collection():
- params = request.form
- uc_id = ""
-
- uc_id = params['uc_id']
- if len(uc_id.split(":")) > 1:
- for this_uc_id in uc_id.split(":"):
- collection_name = g.user_session.delete_collection(this_uc_id)
- else:
- collection_name = g.user_session.delete_collection(uc_id)
-
- if uc_id != "":
- if len(uc_id.split(":")) > 1:
- flash("We've deleted the selected collections.", "alert-info")
- else:
- flash("We've deleted the selected collection.", "alert-info")
- else:
- flash("We've deleted the collection: {}.".format(
- collection_name), "alert-info")
+ def __error__(err):
+ error = process_error(err)
+ flash(f"{error['error']}: {error['error_description']}",
+ "alert-danger")
+ return redirect(url_for('list_collections'))
+
+ def __success__(msg):
+ flash(msg["message"], "alert-success")
+ return redirect(url_for('list_collections'))
+
+ uc_ids = [item for item in request.form.get("uc_id", "").split(":")
+ if bool(item)]
+ if len(uc_ids) > 0:
+ return (oauth2_post if user_logged_in() else no_token_post)(
+ "oauth2/user/collections/delete",
+ json = {
+ "anon_id": str(session_info()["anon_id"]),
+ "collection_ids": uc_ids
+ }).either(
+ __error__, __success__)
+ flash("Nothing to delete.", "alert-info")
return redirect(url_for('list_collections'))