diff --git a/app/controllers/task_items_controller.rb b/app/controllers/task_items_controller.rb index 10b71b2..c706e29 100644 --- a/app/controllers/task_items_controller.rb +++ b/app/controllers/task_items_controller.rb @@ -2,7 +2,7 @@ class TaskItemsController < ApplicationController before_action :ensure_valid_user before_action :set_task_list - before_action :set_task_item, only: [:update, :destroy] + before_action :set_task_item, only: [:update] def create @task_item = TaskItem.new(task_item_params) @@ -24,7 +24,23 @@ class TaskItemsController < ApplicationController end def destroy - @task_item.destroy + ids = Array.wrap(params[:id]) + Array.wrap(params[:ids]) + TaskItem.transaction do + @task_items = @task_list.task_items.find(ids) + @task_items.each { |i| i.destroy } + end + + head :no_content + end + + def complete + ids = Array.wrap(params[:id]) + Array.wrap(params[:ids]) + new_status = !params[:invert].present? + TaskItem.transaction do + @task_items = @task_list.task_items.find(ids) + @task_items.each { |i| i.update_attribute(:completed, new_status) } + end + head :no_content end diff --git a/app/javascript/components/AppDropdown.vue b/app/javascript/components/AppDropdown.vue index 8acb916..c37dfb7 100644 --- a/app/javascript/components/AppDropdown.vue +++ b/app/javascript/components/AppDropdown.vue @@ -1,10 +1,10 @@