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 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'app/admin') 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")) -- cgit v1.2.3