diff options
| author | Gertjan van den Burg <gertjanvandenburg@gmail.com> | 2019-03-26 16:28:29 +0000 |
|---|---|---|
| committer | Gertjan van den Burg <gertjanvandenburg@gmail.com> | 2019-03-26 16:28:29 +0000 |
| commit | 3b9586261924c791872bf0fcefc39641377fdfaf (patch) | |
| tree | d80f65aea59b22e2e4fa20ce6345bfa1c35a993d | |
| parent | Don't show done image when the user hasn't done anything (diff) | |
| download | AnnotateChange-3b9586261924c791872bf0fcefc39641377fdfaf.tar.gz AnnotateChange-3b9586261924c791872bf0fcefc39641377fdfaf.zip | |
Remove user id and dataset id and sort tasks by username
| -rw-r--r-- | app/admin/routes.py | 16 | ||||
| -rw-r--r-- | app/templates/admin/index.html | 5 | ||||
| -rw-r--r-- | app/templates/admin/manage.html | 4 |
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> |
