aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGertjan van den Burg <gertjanvandenburg@gmail.com>2019-03-26 16:28:29 +0000
committerGertjan van den Burg <gertjanvandenburg@gmail.com>2019-03-26 16:28:29 +0000
commit3b9586261924c791872bf0fcefc39641377fdfaf (patch)
treed80f65aea59b22e2e4fa20ce6345bfa1c35a993d
parentDon't show done image when the user hasn't done anything (diff)
downloadAnnotateChange-3b9586261924c791872bf0fcefc39641377fdfaf.tar.gz
AnnotateChange-3b9586261924c791872bf0fcefc39641377fdfaf.zip
Remove user id and dataset id and sort tasks by username
-rw-r--r--app/admin/routes.py16
-rw-r--r--app/templates/admin/index.html5
-rw-r--r--app/templates/admin/manage.html4
3 files changed, 11 insertions, 14 deletions
diff --git a/app/admin/routes.py b/app/admin/routes.py
index 06a7795..6b5bf68 100644
--- a/app/admin/routes.py
+++ b/app/admin/routes.py
@@ -14,9 +14,9 @@ from app.admin.forms import AdminManageTaskForm, AdminAddDatasetForm
from app.models import User, Dataset, Task, Annotation
-@bp.route("/manage", methods=("GET", "POST"))
+@bp.route("/manage/tasks", methods=("GET", "POST"))
@admin_required
-def manage():
+def manage_tasks():
user_list = [(u.id, u.username) for u in User.query.all()]
dataset_list = [(d.id, d.name) for d in Dataset.query.all()]
@@ -28,11 +28,11 @@ def manage():
user = User.query.filter_by(id=form.username.data).first()
if user is None:
flash("User does not exist.", "error")
- return redirect(url_for("admin.manage"))
+ return redirect(url_for("admin.manage_tasks"))
dataset = Dataset.query.filter_by(id=form.dataset.data).first()
if dataset is None:
flash("Dataset does not exist.", "error")
- return redirect(url_for("admin.manage"))
+ return redirect(url_for("admin.manage_tasks"))
action = None
if form.assign.data:
@@ -44,7 +44,7 @@ def manage():
"Internal error: no button is true but form was submitted.",
"error",
)
- return redirect(url_for("admin.manage"))
+ return redirect(url_for("admin.manage_tasks"))
task = Task.query.filter_by(
annotator_id=user.id, dataset_id=dataset.id
@@ -52,7 +52,7 @@ def manage():
if task is None:
if action == "delete":
flash("Can't delete a task that doesn't exist.", "error")
- return redirect(url_for("admin.manage"))
+ return redirect(url_for("admin.manage_tasks"))
else:
task = Task(annotator_id=user.id, dataset_id=dataset.id)
db.session.add(task)
@@ -61,7 +61,7 @@ def manage():
else:
if action == "assign":
flash("Task assignment already exists.", "error")
- return redirect(url_for("admin.manage"))
+ return redirect(url_for("admin.manage_tasks"))
else:
# delete annotations too
for ann in Annotation.query.filter_by(task_id=task.id).all():
@@ -70,7 +70,7 @@ def manage():
db.session.commit()
flash("Task deleted successfully.", "success")
- tasks = Task.query.all()
+ tasks = Task.query.join(User, Task.user).order_by(User.username).all()
return render_template(
"admin/manage.html", title="Assign Task", form=form, tasks=tasks
)
diff --git a/app/templates/admin/index.html b/app/templates/admin/index.html
index 212ead0..136d1d5 100644
--- a/app/templates/admin/index.html
+++ b/app/templates/admin/index.html
@@ -4,10 +4,11 @@
<h1>Admin Home</h1>
<ul>
<li>
- <a href="/admin/add">Add dataset</a>
+ <a href="{{ url_for("admin.add_dataset") }}">Add dataset</a>
</li>
<li>
- <a href="/admin/manage">View and manage tasks</a>
+ <a href="{{ url_for("admin.manage_tasks") }}">View and manage
+ tasks</a>
</li>
</ul>
{% endblock %}
diff --git a/app/templates/admin/manage.html b/app/templates/admin/manage.html
index 1bba769..c0668e3 100644
--- a/app/templates/admin/manage.html
+++ b/app/templates/admin/manage.html
@@ -14,9 +14,7 @@
<table class="table table-striped">
<thead class="thead-dark">
<th scope="col">Task ID</th>
- <th scope="col">User ID</th>
<th scope="col">Username</th>
- <th scope="col">Dataset ID</th>
<th scope="col">Dataset Name</th>
<th scope="col">Status</th>
<th scope="col">Completed On</th>
@@ -24,9 +22,7 @@
{% for task in tasks %}
<tr>
<th scope="row">{{ task.id }}</th>
- <td>{{ task.user.id }}</td>
<td>{{ task.user.username }}</td>
- <td>{{ task.dataset.id }}</td>
<td>{{ task.dataset.name }}</td>
<td>{% if task.done %}Completed{% else %}Pending{% endif %}</td>
<td>{{ task.annotated_on }}</td>