diff --git a/app/controllers/artists_controller.rb b/app/controllers/artists_controller.rb index 3224a0c42..dc55da674 100644 --- a/app/controllers/artists_controller.rb +++ b/app/controllers/artists_controller.rb @@ -1,6 +1,6 @@ class ArtistsController < ApplicationController respond_to :html, :xml, :json - before_filter :member_only, :except => [:index, :show, :banned] + before_filter :member_only, :except => [:index, :show, :show_or_new, :banned] before_filter :builder_only, :only => [:destroy] before_filter :admin_only, :only => [:ban, :unban] before_filter :load_artist, :only => [:ban, :unban, :show, :edit, :update, :destroy, :undelete] @@ -96,7 +96,9 @@ class ArtistsController < ApplicationController if @artist redirect_to artist_path(@artist) else - redirect_to new_artist_path(:name => params[:name]) + @artist = Artist.new(name: params[:name]) + @post_set = PostSets::Artist.new(@artist) + respond_with(@artist) end end diff --git a/app/views/artists/show_or_new.html.erb b/app/views/artists/show_or_new.html.erb new file mode 100644 index 000000000..221f69869 --- /dev/null +++ b/app/views/artists/show_or_new.html.erb @@ -0,0 +1,5 @@ +<%= render layout: "show" do %> +
This artist entry does not exist. <%= link_to "Create new artist entry", new_artist_path(name: params[:name]) %>.
+