diff options
author | Frederick Muriuki Muriithi | 2024-09-03 15:31:12 -0500 |
---|---|---|
committer | Frederick Muriuki Muriithi | 2024-09-03 16:51:27 -0500 |
commit | 2046919e5db5d1e7136f48641fe0adb701c145e4 (patch) | |
tree | 28f85290df7950497734254de0e18ccf702e153e | |
parent | 61688c00e8734adee4d825571a9c43d926dca001 (diff) | |
download | gn-uploader-2046919e5db5d1e7136f48641fe0adb701c145e4.tar.gz |
Put populations under species: improve hierarchy.
Populations cannot exist without the species they are related to. This
commit updates the URI hierarchy to reflect that expectation.
-rw-r--r-- | uploader/__init__.py | 2 | ||||
-rw-r--r-- | uploader/population/views.py | 14 | ||||
-rw-r--r-- | uploader/species/views.py | 2 | ||||
-rw-r--r-- | uploader/templates/base.html | 4 | ||||
-rw-r--r-- | uploader/templates/populations/base.html | 6 | ||||
-rw-r--r-- | uploader/templates/populations/index.html | 2 | ||||
-rw-r--r-- | uploader/templates/populations/list-populations.html | 4 | ||||
-rw-r--r-- | uploader/templates/species/base.html | 4 | ||||
-rw-r--r-- | uploader/templates/species/create-species.html | 2 | ||||
-rw-r--r-- | uploader/templates/species/view-species.html | 2 |
10 files changed, 21 insertions, 21 deletions
diff --git a/uploader/__init__.py b/uploader/__init__.py index 5028f79..347f170 100644 --- a/uploader/__init__.py +++ b/uploader/__init__.py @@ -10,7 +10,6 @@ from flask_session import Session from uploader.oauth2.client import user_logged_in, authserver_authorise_uri from .base_routes import base -from .population import popbp from .species import speciesbp from .dbinsert import dbinsertbp from .oauth2.views import oauth2 @@ -84,7 +83,6 @@ def create_app(): app.register_blueprint(base, url_prefix="/") app.register_blueprint(oauth2, url_prefix="/oauth2") app.register_blueprint(speciesbp, url_prefix="/species") - app.register_blueprint(popbp, url_prefix="/populations") app.register_blueprint(dbinsertbp, url_prefix="/dbinsert") app.register_blueprint(exprdatabp, url_prefix="/expression-data") diff --git a/uploader/population/views.py b/uploader/population/views.py index cd5e20b..3be46d4 100644 --- a/uploader/population/views.py +++ b/uploader/population/views.py @@ -21,7 +21,7 @@ popbp = Blueprint("populations", __name__) render_template = make_template_renderer("populations") -@popbp.route("/", methods=["GET", "POST"]) +@popbp.route("/populations", methods=["GET", "POST"]) @require_login def index(): """Entry point for populations.""" @@ -33,11 +33,11 @@ def index(): species = species_by_id(conn, request.args.get("species_id")) if not bool(species): flash("Invalid species identifier provided!", "alert-danger") - return redirect(url_for("populations.index")) - return redirect(url_for("populations.list_species_populations", + return redirect(url_for("species.populations.index")) + return redirect(url_for("species.populations.list_species_populations", species_id=species["SpeciesId"])) -@popbp.route("/<int:species_id>", methods=["GET"]) +@popbp.route("/<int:species_id>/populations", methods=["GET"]) @require_login def list_species_populations(species_id: int): """List a particular species' populations.""" @@ -45,7 +45,7 @@ def list_species_populations(species_id: int): species = species_by_id(conn, species_id) if not bool(species): flash("No species was found for given ID.", "alert-danger") - return redirect(url_for("populations.index")) + return redirect(url_for("species.populations.index")) return render_template( "populations/list-populations.html", species=species, @@ -95,7 +95,7 @@ def create_population(species_id: int): error = True if error: - return redirect(url_for("populations.create_population", + return redirect(url_for("species.populations.create_population", **dict(request.args))) new_population = save_population(conn, { @@ -107,7 +107,7 @@ def create_population(species_id: int): "Description": request.form.get("description") or None }) - return redirect(url_for("populations.view_population", + return redirect(url_for("species.populations.view_population", species_id=species["SpeciesId"], population_id=new_population["InbredSetId"])) diff --git a/uploader/species/views.py b/uploader/species/views.py index 6f4d51f..77406a1 100644 --- a/uploader/species/views.py +++ b/uploader/species/views.py @@ -6,6 +6,7 @@ from flask import (flash, Blueprint, current_app as app) +from uploader.population import popbp from uploader.ui import make_template_renderer from uploader.authorisation import require_login from uploader.db_utils import database_connection @@ -14,6 +15,7 @@ from .models import all_species, save_species, species_by_id speciesbp = Blueprint("species", __name__) +speciesbp.register_blueprint(popbp, url_prefix="/") render_template = make_template_renderer("species") diff --git a/uploader/templates/base.html b/uploader/templates/base.html index fd6010b..d9696d0 100644 --- a/uploader/templates/base.html +++ b/uploader/templates/base.html @@ -45,7 +45,7 @@ <ul class="nav flex-column"> <li><a href="/" >Home</a></li> <li><a href="{{url_for('species.list_species')}}" >Species</a></li> - <li><a href="{{url_for('populations.index')}}">Populations</a></li> + <li><a href="{{url_for('species.populations.index')}}">Populations</a></li> <li><a href="{{url_for('expression-data.index.index')}}" >Expression Data</a></li> </ul> </aside> @@ -63,7 +63,7 @@ {%endif%}> <a href="{{url_for('base.index')}}">Home</a> </li> - {%block breadcrumbs%}{%endblock%} + {%block lvl1_breadcrumbs%}{%endblock%} </ol> </nav> </div> diff --git a/uploader/templates/populations/base.html b/uploader/templates/populations/base.html index 1033927..d763fc1 100644 --- a/uploader/templates/populations/base.html +++ b/uploader/templates/populations/base.html @@ -1,12 +1,12 @@ -{%extends "base.html"%} +{%extends "species/base.html"%} -{%block breadcrumbs%} +{%block lvl2_breadcrumbs%} <li {%if activelink=="populations"%} class="breadcrumb-item active" {%else%} class="breadcrumb-item" {%endif%}> - <a href="{{url_for('populations.index')}}">Populations</a> + <a href="{{url_for('species.populations.index')}}">Populations</a> </li> {%block lvl3_breadcrumbs%}{%endblock%} {%endblock%} diff --git a/uploader/templates/populations/index.html b/uploader/templates/populations/index.html index 14cf547..061ca1d 100644 --- a/uploader/templates/populations/index.html +++ b/uploader/templates/populations/index.html @@ -11,6 +11,6 @@ <div class="row"> To continue, you need to select the species: - {{select_species_form(url_for("populations.index"), species)}} + {{select_species_form(url_for("species.populations.index"), species)}} </div> {%endblock%} diff --git a/uploader/templates/populations/list-populations.html b/uploader/templates/populations/list-populations.html index bf6cf98..c14a28c 100644 --- a/uploader/templates/populations/list-populations.html +++ b/uploader/templates/populations/list-populations.html @@ -12,7 +12,7 @@ {%else%} class="breadcrumb-item" {%endif%}> - <a href="{{url_for('populations.list_species_populations', + <a href="{{url_for('species.populations.list_species_populations', species_id=species.SpeciesId)}}">List</a> </li> {%endblock%} @@ -35,7 +35,7 @@ exist, click on the "Create Population" button below to create a new one. </p> <p> - <a href="{{url_for('populations.create_population', + <a href="{{url_for('species.populations.create_population', species_id=species.SpeciesId)}}" title="Create a new population for species '{{species.FullName}}'." class="btn btn-danger"> diff --git a/uploader/templates/species/base.html b/uploader/templates/species/base.html index 8fb697d..04391db 100644 --- a/uploader/templates/species/base.html +++ b/uploader/templates/species/base.html @@ -1,6 +1,6 @@ {%extends "base.html"%} -{%block breadcrumbs%} +{%block lvl1_breadcrumbs%} <li {%if activelink=="species"%} class="breadcrumb-item active" {%else%} @@ -8,5 +8,5 @@ {%endif%}> <a href="{{url_for('species.list_species')}}">Species</a> </li> -{%block lvl3_breadcrumbs%}{%endblock%} +{%block lvl2_breadcrumbs%}{%endblock%} {%endblock%} diff --git a/uploader/templates/species/create-species.html b/uploader/templates/species/create-species.html index 678b010..1bc3b61 100644 --- a/uploader/templates/species/create-species.html +++ b/uploader/templates/species/create-species.html @@ -5,7 +5,7 @@ {%block pagetitle%}Create Species{%endblock%} -{%block lvl3_breadcrumbs%} +{%block lvl2_breadcrumbs%} <li {%if activelink=="create-species"%} class="breadcrumb-item active" {%else%} diff --git a/uploader/templates/species/view-species.html b/uploader/templates/species/view-species.html index 0a3b0dd..0364c97 100644 --- a/uploader/templates/species/view-species.html +++ b/uploader/templates/species/view-species.html @@ -22,7 +22,7 @@ </style> {%endblock%} -{%block lvl3_breadcrumbs%} +{%block lvl2_breadcrumbs%} <li {%if activelink=="view-species"%} class="breadcrumb-item active" {%else%} |