diff --git a/app/controllers/admin/base_controller.rb b/app/controllers/admin/base_controller.rb index 1c4d84c9c6..ffe0252cb7 100644 --- a/app/controllers/admin/base_controller.rb +++ b/app/controllers/admin/base_controller.rb @@ -16,6 +16,14 @@ def insert_editor end private + + def destroy_a(klass_to_destroy) + @record = klass_to_destroy.find(params[:id]) + return render('admin/shared/destroy') unless request.post? + @record.destroy + redirect_to action: 'index' + end + def look_for_needed_db_updates migrator = Migrator.new if migrator.migrations_pending? diff --git a/app/controllers/admin/categories_controller.rb b/app/controllers/admin/categories_controller.rb index 833832d4be..caf46bbd90 100644 --- a/app/controllers/admin/categories_controller.rb +++ b/app/controllers/admin/categories_controller.rb @@ -4,21 +4,17 @@ class Admin::CategoriesController < Admin::BaseController def index; redirect_to :action => 'new' ; end def edit; new_or_edit; end - def new + def new respond_to do |format| format.html { new_or_edit } - format.js { + format.js { @category = Category.new } end end def destroy - @record = Category.find(params[:id]) - return(render 'admin/shared/destroy') unless request.post? - - @record.destroy - redirect_to :action => 'new' + destroy_a(Category) end private @@ -35,7 +31,7 @@ def new_or_edit if request.post? respond_to do |format| format.html { save_category } - format.js do + format.js do @category.save @article = Article.new @article.categories << @category diff --git a/app/controllers/admin/pages_controller.rb b/app/controllers/admin/pages_controller.rb index 0c12bc6ad5..78ac2595e6 100644 --- a/app/controllers/admin/pages_controller.rb +++ b/app/controllers/admin/pages_controller.rb @@ -39,10 +39,7 @@ def edit end def destroy - @record = Page.find(params[:id]) - return(render 'admin/shared/destroy') unless request.post? - @record.destroy - redirect_to :action => 'index' + destroy_a(Page) end private diff --git a/app/controllers/admin/tags_controller.rb b/app/controllers/admin/tags_controller.rb index 98af1f51d1..bb0ec01854 100644 --- a/app/controllers/admin/tags_controller.rb +++ b/app/controllers/admin/tags_controller.rb @@ -23,11 +23,7 @@ def edit end def destroy - @record = Tag.find(params[:id]) - return(render 'admin/shared/destroy') unless request.post? - - @record.destroy - redirect_to :action => 'index' + destroy_a(Tag) end end