diff options
| author | Gertjan van den Burg <gertjanvandenburg@gmail.com> | 2019-03-27 13:35:51 +0000 |
|---|---|---|
| committer | Gertjan van den Burg <gertjanvandenburg@gmail.com> | 2019-03-27 13:35:51 +0000 |
| commit | e9b6fb0298db4a60a72249187f3f4506962d5445 (patch) | |
| tree | d225d872205755d9c9ff0877ea612d813400133a | |
| parent | Bugfix (diff) | |
| download | AnnotateChange-e9b6fb0298db4a60a72249187f3f4506962d5445.tar.gz AnnotateChange-e9b6fb0298db4a60a72249187f3f4506962d5445.zip | |
Add dataset overview for admin
| -rw-r--r-- | app/admin/routes.py | 27 | ||||
| -rw-r--r-- | app/templates/admin/index.html | 4 | ||||
| -rw-r--r-- | app/templates/admin/manage_datasets.html | 28 |
3 files changed, 58 insertions, 1 deletions
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 @@ <a href="{{ url_for("admin.manage_users") }}">View and manage users</a> </li> + <li> + <a href="{{ url_for("admin.manage_datasets") }}">View and + manage datasets</a> + </li> </ul> {% 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 %} +<h1>Manage Datasets</h1> +<br> +<h1>Task Completion Overview</h1> +<article class="overview"> + <table class="table table-striped"> + <thead class="thead-dark"> + <th scope="col">ID</th> + <th scope="col">Name</th> + <th scope="col">Assigned Tasks</th> + <th scope="col">Completed Tasks</th> + <th scope="col">Percentage</th> + </thead> + {% for entry in overview %} + <tr> + <th scope="row">{{ entry['id'] }}</th> + <td>{{ entry['name'] }}</td> + <td>{{ entry['assigned'] }}</td> + <td>{{ entry['completed'] }}</td> + <td>{{ entry['percentage'] }}</td> + </tr> + {% endfor %} + </tr> + </table> +</article> +{% endblock %} |
