about summary refs log tree commit diff
path: root/uploader/population/views.py
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2024-09-03 16:49:36 -0500
committerFrederick Muriuki Muriithi2024-09-03 16:51:28 -0500
commit795562b3855b2e4dca5632d53a922e84a2859bf0 (patch)
tree555a959e488941dadbef604add51feb609716290 /uploader/population/views.py
parentf1add5f4ea332ddfb2e902fb8c38e88a1dbcf6a2 (diff)
downloadgn-uploader-795562b3855b2e4dca5632d53a922e84a2859bf0.tar.gz
View a specific population's details.
Diffstat (limited to 'uploader/population/views.py')
-rw-r--r--uploader/population/views.py24
1 files changed, 22 insertions, 2 deletions
diff --git a/uploader/population/views.py b/uploader/population/views.py
index 3be46d4..e21465c 100644
--- a/uploader/population/views.py
+++ b/uploader/population/views.py
@@ -14,7 +14,8 @@ from uploader.species.models import (all_species,
                                      order_species_by_family)
 
 from .models import (save_population,
-                     populations_by_species)
+                     populations_by_species,
+                     population_by_species_and_id)
 
 __active_link__ = "populations"
 popbp = Blueprint("populations", __name__)
@@ -117,4 +118,23 @@ def create_population(species_id: int):
 @require_login
 def view_population(species_id: int, population_id: int):
     """View the details of a population."""
-    raise NotImplementedError("Please implement this too …")
+    with database_connection(app.config["SQL_URI"]) as conn:
+        species = species_by_id(conn, species_id)
+        population = population_by_species_and_id(conn, species_id, population_id)
+        error = False
+
+        if not bool(species):
+            flash("You must select a species.", "alert-danger")
+            error = True
+
+        if not bool(population):
+            flash("You must select a population.", "alert-danger")
+            error = True
+
+        if error:
+            return redirect(url_for("species.populations.index"))
+
+        return render_template("populations/view-population.html",
+                               species=species,
+                               population=population,
+                               activelink="view-population")