aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/admin_public_body_categories_controller.rb6
-rw-r--r--app/controllers/admin_public_body_headings_controller.rb5
-rw-r--r--spec/controllers/admin_public_body_categories_controller_spec.rb7
-rw-r--r--spec/controllers/admin_public_body_headings_controller_spec.rb7
4 files changed, 21 insertions, 4 deletions
diff --git a/app/controllers/admin_public_body_categories_controller.rb b/app/controllers/admin_public_body_categories_controller.rb
index 001025af6..df429ff67 100644
--- a/app/controllers/admin_public_body_categories_controller.rb
+++ b/app/controllers/admin_public_body_categories_controller.rb
@@ -23,6 +23,7 @@ class AdminPublicBodyCategoriesController < AdminController
I18n.with_locale(I18n.default_locale) do
if params[:public_body_category][:category_tag] && PublicBody.find_by_tag(@category.category_tag).count > 0 && @category.category_tag != params[:public_body_category][:category_tag]
flash[:notice] = 'There are authorities associated with this category, so the tag can\'t be renamed'
+ render :action => 'edit'
else
if params[:headings]
heading_ids = params[:headings].values
@@ -48,10 +49,11 @@ class AdminPublicBodyCategoriesController < AdminController
if @category.update_attributes(params[:public_body_category])
flash[:notice] = 'Category was successfully updated.'
+ redirect_to edit_admin_category_path(@category)
+ else
+ render :action => 'edit'
end
end
-
- redirect_to edit_admin_category_path(@category)
end
end
diff --git a/app/controllers/admin_public_body_headings_controller.rb b/app/controllers/admin_public_body_headings_controller.rb
index 5d2dfb579..84e5cbf35 100644
--- a/app/controllers/admin_public_body_headings_controller.rb
+++ b/app/controllers/admin_public_body_headings_controller.rb
@@ -10,9 +10,10 @@ class AdminPublicBodyHeadingsController < AdminController
@heading = PublicBodyHeading.find(params[:id])
if @heading.update_attributes(params[:public_body_heading])
flash[:notice] = 'Category heading was successfully updated.'
+ redirect_to edit_admin_heading_path(@heading)
+ else
+ render :action => 'edit'
end
-
- redirect_to edit_admin_heading_path(@heading)
end
end
diff --git a/spec/controllers/admin_public_body_categories_controller_spec.rb b/spec/controllers/admin_public_body_categories_controller_spec.rb
index 58e87d441..1e3419fcb 100644
--- a/spec/controllers/admin_public_body_categories_controller_spec.rb
+++ b/spec/controllers/admin_public_body_categories_controller_spec.rb
@@ -190,6 +190,13 @@ describe AdminPublicBodyCategoriesController do
expect(response).to redirect_to(edit_admin_category_path(@category))
end
+ it "re-renders the edit form after an unsuccessful update" do
+ post :update, { :id => @category.id,
+ :public_body_category => { :title => '' } }
+
+ expect(response).to render_template('edit')
+ end
+
end
context 'when destroying a public body category' do
diff --git a/spec/controllers/admin_public_body_headings_controller_spec.rb b/spec/controllers/admin_public_body_headings_controller_spec.rb
index 7058e1ab8..9c4ea3855 100644
--- a/spec/controllers/admin_public_body_headings_controller_spec.rb
+++ b/spec/controllers/admin_public_body_headings_controller_spec.rb
@@ -110,6 +110,13 @@ describe AdminPublicBodyHeadingsController do
expect(response).to redirect_to(edit_admin_heading_path(@heading))
end
+ it "re-renders the edit form after an unsuccessful update" do
+ post :update, { :id => @heading.id,
+ :public_body_heading => { :name => '' } }
+
+ expect(response).to render_template('edit')
+ end
+
end
context 'when destroying a public body heading' do