summaryrefslogtreecommitdiff
path: root/app/services
diff options
context:
space:
mode:
authorDouwe Maan <douwe@selenight.nl>2016-08-18 16:43:26 -0500
committerDouwe Maan <douwe@selenight.nl>2016-08-18 16:43:26 -0500
commit8b05e8c2d10f78467db8bec140950104eba49e92 (patch)
tree3933fdeb2089a448c82aa6c75b3087bcbca665f9 /app/services
parentb5d0346a99401ec138ee411660b5c7ee28421f84 (diff)
parentd97c83096a70ed102f993d4c484aff9c786ca831 (diff)
downloadgitlab-ce-8b05e8c2d10f78467db8bec140950104eba49e92.tar.gz
Merge branch 'master' into diff-line-comment-vuejs
# Conflicts: # db/schema.rb
Diffstat (limited to 'app/services')
-rw-r--r--app/services/todo_service.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/app/services/todo_service.rb b/app/services/todo_service.rb
index eb833dd82ac..daf4339cb48 100644
--- a/app/services/todo_service.rb
+++ b/app/services/todo_service.rb
@@ -142,7 +142,11 @@ class TodoService
# When user marks some todos as done
def mark_todos_as_done(todos, current_user)
- todos = current_user.todos.where(id: todos.map(&:id)) unless todos.respond_to?(:update_all)
+ mark_todos_as_done_by_ids(todos.select(&:id), current_user)
+ end
+
+ def mark_todos_as_done_by_ids(ids, current_user)
+ todos = current_user.todos.where(id: ids)
marked_todos = todos.update_all(state: :done)
current_user.update_todos_count_cache