From bf182cb65243ba97eddb6134ca1bacc1aee3985e Mon Sep 17 00:00:00 2001 From: Toks Date: Tue, 3 Nov 2015 23:31:19 -0500 Subject: [PATCH] Better error when trying to add to nonexistent pool fixes #2546 --- app/controllers/pool_elements_controller.rb | 6 +++--- app/views/pool_elements/_new.html.erb | 2 +- app/views/pool_elements/create.js.erb | 5 +++++ 3 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 app/views/pool_elements/create.js.erb diff --git a/app/controllers/pool_elements_controller.rb b/app/controllers/pool_elements_controller.rb index ed38361c8..28d56c940 100644 --- a/app/controllers/pool_elements_controller.rb +++ b/app/controllers/pool_elements_controller.rb @@ -5,13 +5,13 @@ class PoolElementsController < ApplicationController def create @pool = Pool.find_by_name(params[:pool_name]) || Pool.find_by_id(params[:pool_id]) - if @pool.present? + if @pool.present? && !@pool.is_deleted? @post = Post.find(params[:post_id]) @pool.add!(@post) append_pool_to_session(@pool) + else + @error = "That pool does not exist" end - - respond_with(@pool, :location => post_path(@post)) end def destroy diff --git a/app/views/pool_elements/_new.html.erb b/app/views/pool_elements/_new.html.erb index 20c420350..da041ed68 100644 --- a/app/views/pool_elements/_new.html.erb +++ b/app/views/pool_elements/_new.html.erb @@ -1,4 +1,4 @@ -<%= form_tag(pool_element_path, :class => "simple_form") do %> +<%= form_tag(pool_element_path, :class => "simple_form", :remote => true, :format => :js) do %> <%= hidden_field_tag "post_id", @post.id %>
diff --git a/app/views/pool_elements/create.js.erb b/app/views/pool_elements/create.js.erb new file mode 100644 index 000000000..9ec4c14ee --- /dev/null +++ b/app/views/pool_elements/create.js.erb @@ -0,0 +1,5 @@ +<% if @error %> + Danbooru.error("<%= j @error.to_s %>"); +<% else %> + location.reload(); +<% end %>