diff options
| author | Frederick Muriuki Muriithi | 2025-12-16 11:15:00 -0600 |
|---|---|---|
| committer | Frederick Muriuki Muriithi | 2025-12-16 11:15:00 -0600 |
| commit | d20da623de1946055e72cd42f9b42f9021ace9f6 (patch) | |
| tree | 9b9c8b1a81b03af9f7fa073c100046852de341dc | |
| parent | c2c5d12e216bb0fe680cdd9fba81985b37d70d13 (diff) | |
| download | gn-uploader-d20da623de1946055e72cd42f9b42f9021ace9f6.tar.gz | |
Provide necessary values to render UI.
| -rw-r--r-- | uploader/population/views.py | 39 |
1 files changed, 29 insertions, 10 deletions
diff --git a/uploader/population/views.py b/uploader/population/views.py index 8d4ceb7..1f84ddb 100644 --- a/uploader/population/views.py +++ b/uploader/population/views.py @@ -19,11 +19,12 @@ from uploader.authorisation import require_login from uploader.genotypes.views import genotypesbp from uploader.datautils import enumerate_sequence from uploader.phenotypes.views import phenotypesbp -from uploader.phenotypes.models import datasets_by_population from uploader.expression_data.views import exprdatabp from uploader.species.models import all_species, species_by_id from uploader.monadic_requests import make_either_error_handler from uploader.input_validation import is_valid_representative_name +from uploader.phenotypes.models import (dataset_phenotypes, + datasets_by_population) from .models import (save_population, population_families, @@ -219,12 +220,30 @@ def view_population(species_id: int, population_id: int): species_id=species["SpeciesId"], streamlined_ui=streamlined_ui)) - return render_template(("populations/sui-view-population.html" - if bool(streamlined_ui) - else "populations/view-population.html"), - species=species, - population=population, - **({"dataset": datasets[0]} if len(datasets) == 1 else {}), - activelink="view-population", - streamlined_ui=streamlined_ui, - view_under_construction=request.args.get("view_under_construction", False)) + _datasets = datasets_by_population( + conn, species["SpeciesId"], population["Id"]) + assert len(datasets) == 0 or len(datasets) == 1, ( + "We expect only one phenotypes dataset per population.") + _kwargs = { + "species": species, + "population": population, + "activelink": "view-population", + "streamlined_ui": streamlined_ui, + "view_under_construction": request.args.get( + "view_under_construction", False) + } + + if len(_datasets) == 1: + _dataset = _datasets[0] + _kwargs = { + **_kwargs, + "dataset": _dataset, + "phenotypes": enumerate_sequence( + dataset_phenotypes(conn, population["Id"], _dataset["Id"])) + } + + return render_template( + ("populations/sui-view-population.html" + if bool(streamlined_ui) + else "populations/view-population.html"), + **_kwargs) |
