From d13071900de2ba73b829f52b96a1593da600118a Mon Sep 17 00:00:00 2001 From: Frederick Muriuki Muriithi Date: Thu, 26 Sep 2024 14:18:45 -0500 Subject: Initialise the phenotypes section. --- uploader/phenotypes/views.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 uploader/phenotypes/views.py (limited to 'uploader/phenotypes/views.py') diff --git a/uploader/phenotypes/views.py b/uploader/phenotypes/views.py new file mode 100644 index 0000000..862a224 --- /dev/null +++ b/uploader/phenotypes/views.py @@ -0,0 +1,25 @@ +"""Views handling ('classical') phenotypes.""" +from flask import request, Blueprint, render_template, current_app as app + +from uploader.datautils import order_by_family +from uploader.authorisation import require_login +from uploader.db_utils import database_connection +from uploader.species.models import all_species, species_by_id + +phenotypesbp = Blueprint("phenotypes", __name__) + +@phenotypesbp.route("/phenotypes", methods=["GET"]) +@require_login +def index(): + """Direct entry-point for phenotypes data handling.""" + with database_connection(app.config["SQL_URI"]) as conn: + if not bool(request.args.get("species_id")): + return render_template("phenotypes/index.html", + species=order_by_family(all_species(conn)), + activelink="phenotypes") + + species = species_by_id(conn, request.args.get("species_id")) + if not bool(species): + flash("No such species!", "alert-danger") + return redirect(url_for("species.populations.phenotypes.index")) + return "Would lead you to go select population…" -- cgit v1.2.3