Don't broadcast updates of cards unless published
To prevent https://fizzy.37signals.com/5986089/cards/1631
This commit is contained in:
@@ -27,7 +27,9 @@ class CardsController < ApplicationController
|
||||
end
|
||||
|
||||
def update
|
||||
@card.update! card_params
|
||||
suppressing_broadcasts_unless_published(@card) do
|
||||
@card.update! card_params
|
||||
end
|
||||
|
||||
if @card.published?
|
||||
render_card_replacement
|
||||
@@ -50,6 +52,14 @@ class CardsController < ApplicationController
|
||||
@card = Current.user.accessible_cards.find params[:id]
|
||||
end
|
||||
|
||||
def suppressing_broadcasts_unless_published(&block)
|
||||
if @card.published?
|
||||
yield
|
||||
else
|
||||
Collection.suppressing_turbo_broadcasts(&block)
|
||||
end
|
||||
end
|
||||
|
||||
def card_params
|
||||
params.expect(card: [ :status, :title, :description, :image, tag_ids: [] ])
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user