aboutsummaryrefslogtreecommitdiff
path: root/uploader/samples/views.py
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2025-04-25 12:09:23 -0500
committerFrederick Muriuki Muriithi2025-04-25 12:25:38 -0500
commita962991759349c152cfc03293f5ce413be9be9d2 (patch)
treeb5a425d425933675c8e8d291fed086caed716b77 /uploader/samples/views.py
parentc1ef845689ff6bc63ab0606d0e5d11e8d9b1b38a (diff)
downloadgn-uploader-a962991759349c152cfc03293f5ce413be9be9d2.tar.gz
Fix display of upload errors for samples
* Update the uri to fit in with existing paradigm * Pass the species and population to the endpoint
Diffstat (limited to 'uploader/samples/views.py')
-rw-r--r--uploader/samples/views.py19
1 files changed, 15 insertions, 4 deletions
diff --git a/uploader/samples/views.py b/uploader/samples/views.py
index 27e5d3c..c0adb88 100644
--- a/uploader/samples/views.py
+++ b/uploader/samples/views.py
@@ -221,7 +221,10 @@ def upload_status(species: dict, population: dict, job_id: uuid.UUID, **kwargs):
if status == "error":
return redirect(url_for(
- "species.populations.samples.upload_failure", job_id=job_id))
+ "species.populations.samples.upload_failure",
+ species_id=species["SpeciesId"],
+ population_id=population["Id"],
+ job_id=job_id))
error_filename = Path(jobs.error_filename(
job_id, f"{app.config['UPLOAD_FOLDER']}/job_errors"))
@@ -241,9 +244,14 @@ def upload_status(species: dict, population: dict, job_id: uuid.UUID, **kwargs):
species=species,
population=population), 400
-@samplesbp.route("/upload/failure/<uuid:job_id>", methods=["GET"])
+
+@samplesbp.route("<int:species_id>/populations/<int:population_id>/"
+ "upload-samples/failure/<uuid:job_id>",
+ methods=["GET"])
@require_login
-def upload_failure(job_id: uuid.UUID):
+@with_population(species_redirect_uri="species.populations.samples.index",
+ redirect_uri="species.populations.samples.select_population")
+def upload_failure(species: dict, population: dict, job_id: uuid.UUID, **kwargs):
"""Display the errors of the samples upload failure."""
job = with_redis_connection(lambda rconn: jobs.job(
rconn, jobs.jobsnamespace(), job_id))
@@ -257,4 +265,7 @@ def upload_failure(job_id: uuid.UUID):
if stat.st_size > 0:
return render_template("worker_failure.html", job_id=job_id)
- return render_template("samples/upload-failure.html", job=job)
+ return render_template("samples/upload-failure.html",
+ species=species,
+ population=population,
+ job=job)