diff options
| -rw-r--r-- | app/admin/routes.py | 1 | ||||
| -rw-r--r-- | app/auth/routes.py | 2 | ||||
| -rw-r--r-- | app/main/routes.py | 2 | ||||
| -rw-r--r-- | app/models.py | 1 | ||||
| -rw-r--r-- | migrations/versions/ab06eac38963_mark_task_assigned_by_admin.py | 28 |
5 files changed, 33 insertions, 1 deletions
diff --git a/app/admin/routes.py b/app/admin/routes.py index 518b3fc..98eb2fc 100644 --- a/app/admin/routes.py +++ b/app/admin/routes.py @@ -78,6 +78,7 @@ def manage_tasks(): return redirect(url_for("admin.manage_tasks")) else: task = Task(annotator_id=user.id, dataset_id=dataset.id) + task.admin_assigned = True db.session.add(task) db.session.commit() flash("Task registered successfully.", "success") diff --git a/app/auth/routes.py b/app/auth/routes.py index 0556233..21b1a67 100644 --- a/app/auth/routes.py +++ b/app/auth/routes.py @@ -97,6 +97,8 @@ def login(): annotator_id=current_user.id, done=False ).all() for task in user_tasks: + if task.admin_assigned: + continue anns = Annotation.query.filter_by(task_id=task.id).all() if len(anns) > 0: flash( diff --git a/app/main/routes.py b/app/main/routes.py index 75959a0..8d2aa6e 100644 --- a/app/main/routes.py +++ b/app/main/routes.py @@ -56,7 +56,7 @@ def assign(): user_tasks = [t for t in user_tasks if not t.done] # if the user has, for some reason, a unfinished assigned task, redirect to - # that + # that. This can happen if the admin has assigned this task. if len(user_tasks) > 0: task = user_tasks[0] return redirect(url_for("main.annotate", task_id=task.id)) diff --git a/app/models.py b/app/models.py index 757a0ef..fc6cebd 100644 --- a/app/models.py +++ b/app/models.py @@ -102,6 +102,7 @@ class Task(db.Model): dataset_id = db.Column(db.Integer, nullable=False) done = db.Column(db.Boolean, nullable=False, default=False) annotated_on = db.Column(db.DateTime, nullable=True) + admin_assigned = db.Column(db.Boolean, nullable=False, default=False) user = db.relation("User") annotator_id = db.Column(db.Integer, db.ForeignKey("user.id")) diff --git a/migrations/versions/ab06eac38963_mark_task_assigned_by_admin.py b/migrations/versions/ab06eac38963_mark_task_assigned_by_admin.py new file mode 100644 index 0000000..a68d5da --- /dev/null +++ b/migrations/versions/ab06eac38963_mark_task_assigned_by_admin.py @@ -0,0 +1,28 @@ +"""mark task assigned by admin + +Revision ID: ab06eac38963 +Revises: 70fb9f3860b1 +Create Date: 2019-09-16 12:23:43.694821 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = 'ab06eac38963' +down_revision = '70fb9f3860b1' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('task', sa.Column('admin_assigned', sa.Boolean(), nullable=False)) + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('task', 'admin_assigned') + # ### end Alembic commands ### |
