summaryrefslogtreecommitdiff
path: root/app/controllers/dashboard/todos_controller.rb
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-06-14 23:09:48 -0300
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-06-17 16:17:43 -0300
commit2878c990052f78fae3cde21a1d2cd90dd5a85461 (patch)
tree6b026bd7ec4c80c2f46deef6e2009496a024b200 /app/controllers/dashboard/todos_controller.rb
parentbb4a1ef6c1ed4d367e6126ad64033e0286da6f15 (diff)
downloadgitlab-ce-2878c990052f78fae3cde21a1d2cd90dd5a85461.tar.gz
Ensure Todos counters doesn't count Todos for projects pending delete
Diffstat (limited to 'app/controllers/dashboard/todos_controller.rb')
-rw-r--r--app/controllers/dashboard/todos_controller.rb21
1 files changed, 8 insertions, 13 deletions
diff --git a/app/controllers/dashboard/todos_controller.rb b/app/controllers/dashboard/todos_controller.rb
index 7842fb9ce63..3a2db3e6eeb 100644
--- a/app/controllers/dashboard/todos_controller.rb
+++ b/app/controllers/dashboard/todos_controller.rb
@@ -1,5 +1,7 @@
class Dashboard::TodosController < Dashboard::ApplicationController
- before_action :find_todos, only: [:index, :destroy, :destroy_all]
+ include TodosHelper
+
+ before_action :find_todos, only: [:index, :destroy_all]
def index
@todos = @todos.page(params[:page])
@@ -8,14 +10,10 @@ class Dashboard::TodosController < Dashboard::ApplicationController
def destroy
TodoService.new.mark_todos_as_done([todo], current_user)
- todo_notice = 'Todo was successfully marked as done.'
-
respond_to do |format|
- format.html { redirect_to dashboard_todos_path, notice: todo_notice }
+ format.html { redirect_to dashboard_todos_path, notice: 'Todo was successfully marked as done.' }
format.js { head :ok }
- format.json do
- render json: { count: @todos.size, done_count: current_user.todos_done_count }
- end
+ format.json { render json: { count: todos_pending_count, done_count: todos_done_count } }
end
end
@@ -25,20 +23,17 @@ class Dashboard::TodosController < Dashboard::ApplicationController
respond_to do |format|
format.html { redirect_to dashboard_todos_path, notice: 'All todos were marked as done.' }
format.js { head :ok }
- format.json do
- find_todos
- render json: { count: @todos.size, done_count: current_user.todos_done_count }
- end
+ format.json { render json: { count: todos_pending_count, done_count: todos_done_count } }
end
end
private
def todo
- @todo ||= current_user.todos.find(params[:id])
+ @todo ||= find_todos.find(params[:id])
end
def find_todos
- @todos = TodosFinder.new(current_user, params).execute
+ @todos ||= TodosFinder.new(current_user, params).execute
end
end