summaryrefslogtreecommitdiff
path: root/app/controllers/projects/issues_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/projects/issues_controller.rb')
-rw-r--r--app/controllers/projects/issues_controller.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb
index 4e2d3bebb2e..5678d584d4a 100644
--- a/app/controllers/projects/issues_controller.rb
+++ b/app/controllers/projects/issues_controller.rb
@@ -164,6 +164,20 @@ class Projects::IssuesController < Projects::ApplicationController
end
end
+ def todo
+ json_data = Hash.new
+
+ if params[:todo_id].nil?
+ TodoService.new.mark_todo(issue, current_user)
+
+ json_data[:todo] = current_user.todos.find_by(state: :pending, action: Todo::MARKED, target_id: issue.id)
+ else
+ current_user.todos.find_by_id(params[:todo_id]).update(state: :done)
+ end
+
+ render json: json_data.merge({ count: current_user.todos.pending.count })
+ end
+
protected
def issue