diff --git a/app/controllers/feeds_controller.rb b/app/controllers/feeds_controller.rb index f17344b9e..7ae9178bb 100644 --- a/app/controllers/feeds_controller.rb +++ b/app/controllers/feeds_controller.rb @@ -59,6 +59,8 @@ def update end end end + rescue ActiveRecord::StaleObjectError + render :show, status: :conflict end # DELETE /feeds/1 @@ -103,6 +105,7 @@ def feed_params def nilified_feed_params nilify params.fetch(:feed, {}).permit( + :lock_version, :file_name, :title, :subtitle, diff --git a/app/controllers/podcast_engagement_controller.rb b/app/controllers/podcast_engagement_controller.rb index 17857b2c7..2d3c34ae8 100644 --- a/app/controllers/podcast_engagement_controller.rb +++ b/app/controllers/podcast_engagement_controller.rb @@ -17,6 +17,8 @@ def update format.html { render :show, status: :unprocessable_entity } end end + rescue ActiveRecord::StaleObjectError + render :show, status: :conflict end private @@ -32,6 +34,7 @@ def set_podcast ### TODO include params for socmed and podcast apps def podcast_engagement_params nilify params.fetch(:podcast, {}).permit( + :lock_version, :donation_url, :payment_pointer ) diff --git a/app/controllers/podcasts_controller.rb b/app/controllers/podcasts_controller.rb index 217d49d24..f89eb1319 100644 --- a/app/controllers/podcasts_controller.rb +++ b/app/controllers/podcasts_controller.rb @@ -76,6 +76,8 @@ def update format.html { render :edit, status: :unprocessable_entity } end end + rescue ActiveRecord::StaleObjectError + render :edit, status: :conflict end # DELETE /podcasts/1 @@ -107,6 +109,7 @@ def published_episodes(date_range) def podcast_params nilify params.fetch(:podcast, {}).permit( + :lock_version, :title, :prx_account_uri, :link, diff --git a/app/views/feeds/_form.html.erb b/app/views/feeds/_form.html.erb index c105330aa..8586912f6 100644 --- a/app/views/feeds/_form.html.erb +++ b/app/views/feeds/_form.html.erb @@ -30,4 +30,6 @@ <%= render "confirm_destroy", podcast: podcast, feed: feed %> + + <%= render "layouts/stale_record_modal", form: form, discard_path: podcast_feed_path(podcast, feed) %> <% end %> diff --git a/app/views/feeds/_form_status.html.erb b/app/views/feeds/_form_status.html.erb index 249323f5b..9bfac9231 100644 --- a/app/views/feeds/_form_status.html.erb +++ b/app/views/feeds/_form_status.html.erb @@ -2,6 +2,9 @@

<%= t(".title") %>

+ + <%= render "layouts/stale_record_field", form: form %> + + <%= render "layouts/stale_record_modal", form: form, discard_path: podcast_engagement_path(podcast) %> <% end %> diff --git a/app/views/podcast_engagement/_form_status.html.erb b/app/views/podcast_engagement/_form_status.html.erb index 64c142244..18b1a21da 100644 --- a/app/views/podcast_engagement/_form_status.html.erb +++ b/app/views/podcast_engagement/_form_status.html.erb @@ -2,6 +2,9 @@

<%= t(".title") %>

+ + <%= render "layouts/stale_record_field", form: form %> + <%= render "confirm_destroy", podcast: podcast %> + + <%= render "layouts/stale_record_modal", form: form, discard_path: edit_podcast_path(podcast) %> <% end %> diff --git a/app/views/podcasts/_form_status.html.erb b/app/views/podcasts/_form_status.html.erb index 88836a9c1..8a57f62f5 100644 --- a/app/views/podcasts/_form_status.html.erb +++ b/app/views/podcasts/_form_status.html.erb @@ -2,6 +2,9 @@

<%= t(".title") %>

+ + <%= render "layouts/stale_record_field", form: form %> +