Use separate actions to select/deselect proposals
This is consistent to what we usually do. Also, we're applying the same
criteria mentioned in commit 72704d776:
> We're also making these actions idempotent, so sending many requests
> to the same action will get the same result, which wasn't the case
> with the `toggle` action. Although it's a low probability case, the
> `toggle` action could result in [selecting a proposal] when trying to
> [deselect] it if someone else has [deselected it] it between the time
> the page loaded and the time the admin clicked on the "[Selected]"
> button.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user