aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/admin_public_body_headings_controller.rb7
-rw-r--r--app/views/admin_public_body_categories/edit.html.erb34
-rw-r--r--app/views/admin_public_body_headings/edit.html.erb42
-rw-r--r--spec/controllers/admin_public_body_categories_controller_spec.rb14
-rw-r--r--spec/controllers/admin_public_body_headings_controller_spec.rb9
5 files changed, 54 insertions, 52 deletions
diff --git a/app/controllers/admin_public_body_headings_controller.rb b/app/controllers/admin_public_body_headings_controller.rb
index 84e5cbf35..e893e760d 100644
--- a/app/controllers/admin_public_body_headings_controller.rb
+++ b/app/controllers/admin_public_body_headings_controller.rb
@@ -56,13 +56,6 @@ class AdminPublicBodyHeadingsController < AdminController
@locale = self.locale_from_params()
I18n.with_locale(@locale) do
heading = PublicBodyHeading.find(params[:id])
-
- if heading.public_body_categories.count > 0
- flash[:notice] = "There are categories associated with this heading, so can't destroy it"
- redirect_to edit_admin_heading_url(heading)
- return
- end
-
heading.destroy
flash[:notice] = "Category heading was successfully destroyed."
redirect_to admin_categories_url
diff --git a/app/views/admin_public_body_categories/edit.html.erb b/app/views/admin_public_body_categories/edit.html.erb
index 95988d688..0664a0515 100644
--- a/app/views/admin_public_body_categories/edit.html.erb
+++ b/app/views/admin_public_body_categories/edit.html.erb
@@ -1,14 +1,15 @@
-<h1><%=@title%></h1>
+<h1><%= @title %></h1>
<div class="row">
- <div class="span8">
- <div id="public_body_category_form">
- <%= form_for @category, :url => admin_category_path(@category), :html => { :class => "form form-horizontal" } do |f| %>
- <%= render :partial => 'form', :locals => {:f => f} %>
- <div class="form-actions">
- <%= f.submit 'Save', :accesskey => 's', :class => "btn btn-success" %></p>
- </div>
- <% end %>
+ <div class="span8">
+ <div id="public_body_category_form">
+ <%= form_for @category, :url => admin_category_path(@category), :html => { :class => "form form-horizontal" } do |f| %>
+ <%= render :partial => 'form', :locals => { :f => f } %>
+
+ <div class="form-actions">
+ <%= f.submit 'Save', :accesskey => 's', :class => "btn btn-success" %>
+ </div>
+ <% end %>
</div>
</div>
@@ -18,13 +19,12 @@
</div>
</div>
-<% if @tagged_public_bodies.empty? %>
- <div class="row">
- <div class="span8">
- <%= form_tag(admin_category_path(@category), :method => 'delete', :class => "form form-inline") do %>
- <%= hidden_field_tag(:public_body_id, { :value => @category.id } ) %>
- <%= submit_tag "Destroy #{@category.title}", :title => @category.title, :class => "btn btn-danger" %> (this is permanent!)
+<div class="row">
+ <div class="span8">
+ <%= form_for @category, :url => admin_category_path(@category), :method => 'delete', :class => "form form-inline" do |f| %>
+ <%= f.submit "Destroy #{ @category.title }",
+ :title => @category.title,
+ :class => "btn btn-danger" %> (this is permanent!)
<% end %>
- </div>
</div>
-<% end %>
+</div>
diff --git a/app/views/admin_public_body_headings/edit.html.erb b/app/views/admin_public_body_headings/edit.html.erb
index eff89285a..800394aa4 100644
--- a/app/views/admin_public_body_headings/edit.html.erb
+++ b/app/views/admin_public_body_headings/edit.html.erb
@@ -1,30 +1,30 @@
-<h1><%=@title%></h1>
+<h1><%= @title %></h1>
<div class="row">
- <div class="span8">
- <div id="public_body_heading_form">
- <%= form_for @heading, :url => admin_heading_path(@heading), :html => { :class => "form form-horizontal" } do |f| %>
- <%= render :partial => 'form', :locals => {:f => f} %>
- <div class="form-actions">
- <%= f.submit 'Save', :accesskey => 's', :class => "btn btn-success" %></p>
- </div>
- <% end %>
- </div>
+ <div class="span8">
+ <div id="public_body_heading_form">
+ <%= form_for @heading, :url => admin_heading_path(@heading), :html => { :class => "form form-horizontal" } do |f| %>
+ <%= render :partial => 'form', :locals => { :f => f } %>
+
+ <div class="form-actions">
+ <%= f.submit 'Save', :accesskey => 's', :class => "btn btn-success" %>
+ </div>
+ <% end %>
+ </div>
</div>
<div class="row">
- <div class="span8 well">
- <%= link_to 'List all', admin_categories_path, :class => "btn" %>
- </div>
+ <div class="span8 well">
+ <%= link_to 'List all', admin_categories_path, :class => "btn" %>
+ </div>
</div>
-<% if @heading.public_body_categories.empty? %>
- <div class="row">
- <div class="span8">
- <%= form_tag(admin_heading_path(@heading), :method => 'delete', :class => "form form-inline") do %>
- <%= hidden_field_tag(:public_body_heading_id, { :value => @heading.id } ) %>
- <%= submit_tag "Destroy #{@heading.name}", :name => @heading.name, :class => "btn btn-danger" %> (this is permanent!)
+<div class="row">
+ <div class="span8">
+ <%= form_for @heading, :url => admin_heading_path(@heading), :method => 'delete', :class => "form form-inline" do |f| %>
+ <%= f.submit "Destroy #{ @heading.name }",
+ :name => @heading.name,
+ :class => "btn btn-danger" %> (this is permanent!)
<% end %>
- </div>
</div>
-<% end %>
+</div>
diff --git a/spec/controllers/admin_public_body_categories_controller_spec.rb b/spec/controllers/admin_public_body_categories_controller_spec.rb
index 4fb5181be..4c641bd75 100644
--- a/spec/controllers/admin_public_body_categories_controller_spec.rb
+++ b/spec/controllers/admin_public_body_categories_controller_spec.rb
@@ -214,15 +214,21 @@ describe AdminPublicBodyCategoriesController do
end
context 'when destroying a public body category' do
-
- it "destroys a public body category" do
+ it "destroys empty public body categories" do
pbc = PublicBodyCategory.create(:title => "Empty Category", :category_tag => "empty", :description => "-")
n = PublicBodyCategory.count
post :destroy, { :id => pbc.id }
response.should redirect_to(admin_categories_path)
PublicBodyCategory.count.should == n - 1
end
- end
-
+ it "destroys non-empty public body categories" do
+ authority = FactoryGirl.create(:public_body)
+ pbc = PublicBodyCategory.create(:title => "In-Use Category", :category_tag => "empty", :description => "-", :authorities => [authority])
+ n = PublicBodyCategory.count
+ post :destroy, { :id => pbc.id }
+ response.should redirect_to(admin_categories_path)
+ PublicBodyCategory.count.should == n - 1
+ end
+ end
end
diff --git a/spec/controllers/admin_public_body_headings_controller_spec.rb b/spec/controllers/admin_public_body_headings_controller_spec.rb
index 60f563e57..afbe0fa30 100644
--- a/spec/controllers/admin_public_body_headings_controller_spec.rb
+++ b/spec/controllers/admin_public_body_headings_controller_spec.rb
@@ -136,16 +136,19 @@ describe AdminPublicBodyHeadingsController do
@heading = FactoryGirl.create(:public_body_heading)
end
- it "does not destroy a public body heading that has associated categories" do
+ it "destroys a public body heading that has associated categories" do
category = FactoryGirl.create(:public_body_category)
link = FactoryGirl.create(:public_body_category_link,
:public_body_category => category,
:public_body_heading => @heading,
:category_display_order => 0)
n = PublicBodyHeading.count
+ n_links = PublicBodyCategoryLink.count
+
post :destroy, { :id => @heading.id }
- response.should redirect_to(edit_admin_heading_path(@heading))
- PublicBodyHeading.count.should == n
+ response.should redirect_to(admin_categories_path)
+ PublicBodyHeading.count.should == n - 1
+ PublicBodyCategoryLink.count.should == n_links - 1
end
it "destroys an empty public body heading" do