diff --git a/app/org/maproulette/framework/model/Task.scala b/app/org/maproulette/framework/model/Task.scala index 51e779bb..23afc1ec 100644 --- a/app/org/maproulette/framework/model/Task.scala +++ b/app/org/maproulette/framework/model/Task.scala @@ -324,8 +324,14 @@ object Task extends CommonField { if (allowChange) toSet == STATUS_FIXED || toSet == STATUS_FALSE_POSITIVE || toSet == STATUS_TOO_HARD else false - case STATUS_ANSWERED => false - case STATUS_VALIDATED => false + case STATUS_ANSWERED => + if (allowChange) + toSet == STATUS_FIXED || toSet == STATUS_FALSE_POSITIVE || toSet == STATUS_ALREADY_FIXED || toSet == STATUS_TOO_HARD + else false + case STATUS_VALIDATED => + if (allowChange) + toSet == STATUS_FIXED || toSet == STATUS_FALSE_POSITIVE || toSet == STATUS_ALREADY_FIXED || toSet == STATUS_TOO_HARD + else false case STATUS_DISABLED => toSet == STATUS_CREATED } } diff --git a/app/org/maproulette/framework/service/TaskReviewService.scala b/app/org/maproulette/framework/service/TaskReviewService.scala index db687f18..64131f08 100644 --- a/app/org/maproulette/framework/service/TaskReviewService.scala +++ b/app/org/maproulette/framework/service/TaskReviewService.scala @@ -940,7 +940,7 @@ class TaskReviewService @Inject() ( excludeOtherReviewers ) - addClaimedByFilter(query, user.id) + addLockedFilter(addClaimedByFilter(query, user.id)) } private def addClaimedByFilter(query: Query, userId: Long): Query = {