aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorGertjan van den Burg <gertjanvandenburg@gmail.com>2019-03-27 13:35:51 +0000
committerGertjan van den Burg <gertjanvandenburg@gmail.com>2019-03-27 13:35:51 +0000
commite9b6fb0298db4a60a72249187f3f4506962d5445 (patch)
treed225d872205755d9c9ff0877ea612d813400133a /app
parentBugfix (diff)
downloadAnnotateChange-e9b6fb0298db4a60a72249187f3f4506962d5445.tar.gz
AnnotateChange-e9b6fb0298db4a60a72249187f3f4506962d5445.zip
Add dataset overview for admin
Diffstat (limited to 'app')
-rw-r--r--app/admin/routes.py27
-rw-r--r--app/templates/admin/index.html4
-rw-r--r--app/templates/admin/manage_datasets.html28
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 %}