diff --git a/app/components/admin/proposals/toggle_selection_component.rb b/app/components/admin/proposals/toggle_selection_component.rb index 97a48803b..dfcb9ea8e 100644 --- a/app/components/admin/proposals/toggle_selection_component.rb +++ b/app/components/admin/proposals/toggle_selection_component.rb @@ -8,7 +8,11 @@ class Admin::Proposals::ToggleSelectionComponent < ApplicationComponent private def action - :toggle_selection + if selected? + :deselect + else + :select + end end def selected? diff --git a/app/controllers/admin/legislation/proposals_controller.rb b/app/controllers/admin/legislation/proposals_controller.rb index c2711aa99..aee02f7b0 100644 --- a/app/controllers/admin/legislation/proposals_controller.rb +++ b/app/controllers/admin/legislation/proposals_controller.rb @@ -8,8 +8,15 @@ class Admin::Legislation::ProposalsController < Admin::Legislation::BaseControll @proposals = @proposals.send("sort_by_#{@current_order}").page(params[:page]) end - def toggle_selection - @proposal.toggle :selected - @proposal.save! + def select + @proposal.update!(selected: true) + + render :toggle_selection + end + + def deselect + @proposal.update!(selected: false) + + render :toggle_selection end end diff --git a/app/controllers/admin/proposals_controller.rb b/app/controllers/admin/proposals_controller.rb index 18b2866ec..b2046e6b5 100644 --- a/app/controllers/admin/proposals_controller.rb +++ b/app/controllers/admin/proposals_controller.rb @@ -19,9 +19,16 @@ class Admin::ProposalsController < Admin::BaseController end end - def toggle_selection - @proposal.toggle :selected - @proposal.save! + def select + @proposal.update!(selected: true) + + render :toggle_selection + end + + def deselect + @proposal.update!(selected: false) + + render :toggle_selection end private diff --git a/config/routes/admin.rb b/config/routes/admin.rb index 6f3f3d561..442882bb5 100644 --- a/config/routes/admin.rb +++ b/config/routes/admin.rb @@ -32,7 +32,11 @@ namespace :admin do resources :debates, only: [:index, :show] resources :proposals, only: [:index, :show, :update] do - member { patch :toggle_selection } + member do + patch :select + patch :deselect + end + resources :milestones, controller: "proposal_milestones" resources :progress_bars, except: :show, controller: "proposal_progress_bars" end @@ -232,7 +236,10 @@ namespace :admin do resources :processes do resources :questions resources :proposals do - member { patch :toggle_selection } + member do + patch :select + patch :deselect + end end resources :draft_versions resources :milestones