From e9b6fb0298db4a60a72249187f3f4506962d5445 Mon Sep 17 00:00:00 2001 From: Gertjan van den Burg Date: Wed, 27 Mar 2019 13:35:51 +0000 Subject: Add dataset overview for admin --- app/admin/routes.py | 27 ++++++++++++++++++++++++++- app/templates/admin/index.html | 4 ++++ app/templates/admin/manage_datasets.html | 28 ++++++++++++++++++++++++++++ 3 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 app/templates/admin/manage_datasets.html diff --git a/app/admin/routes.py b/app/admin/routes.py index 89abb41..bec6cd3 100644 --- a/app/admin/routes.py +++ b/app/admin/routes.py @@ -75,12 +75,37 @@ def manage_tasks(): "admin/manage.html", title="Assign Task", form=form, tasks=tasks ) + @bp.route("/manage/users", methods=("GET", "POST")) @admin_required def manage_users(): users = User.query.all() return render_template( - "admin/manage_users.html", title="Manage Users", users=users) + "admin/manage_users.html", title="Manage Users", users=users + ) + + +@bp.route("/manage/datasets", methods=("GET",)) +@admin_required +def manage_datasets(): + overview = [] + for dataset in Dataset.query.all(): + tasks = Task.query.filter_by(dataset_id=dataset.id).all() + n_complete = len([t for t in tasks if t.done]) + perc = n_complete / len(tasks) * 100 + entry = { + "id": dataset.id, + "name": dataset.name, + "assigned": len(tasks), + "completed": n_complete, + "percentage": perc, + } + overview.append(entry) + return render_template( + "admin/manage_datasets.html", + title="Manage Datasets", + overview=overview, + ) @bp.route("/add", methods=("GET", "POST")) diff --git a/app/templates/admin/index.html b/app/templates/admin/index.html index c5f5e6b..c6b1f25 100644 --- a/app/templates/admin/index.html +++ b/app/templates/admin/index.html @@ -14,5 +14,9 @@ View and manage users +
  • + View and + manage datasets +
  • {% endblock %} diff --git a/app/templates/admin/manage_datasets.html b/app/templates/admin/manage_datasets.html new file mode 100644 index 0000000..20d6d9e --- /dev/null +++ b/app/templates/admin/manage_datasets.html @@ -0,0 +1,28 @@ +{% extends "base.html" %} + +{% block app_content %} +

    Manage Datasets

    +
    +

    Task Completion Overview

    +
    + + + + + + + + + {% for entry in overview %} + + + + + + + + {% endfor %} + +
    IDNameAssigned TasksCompleted TasksPercentage
    {{ entry['id'] }}{{ entry['name'] }}{{ entry['assigned'] }}{{ entry['completed'] }}{{ entry['percentage'] }}
    +
    +{% endblock %} -- cgit v1.2.3