summaryrefslogtreecommitdiff
path: root/chef-server-webui
diff options
context:
space:
mode:
authorNuo Yan <nuoyan@nuo-yans-macbook-pro.local>2009-12-15 16:45:24 -0800
committerNuo Yan <nuoyan@nuo-yans-macbook-pro.local>2009-12-15 16:45:24 -0800
commitfb920dc8acd7ac5b9304418c908395dd47daa108 (patch)
treeb9bea47e18529aeff48fac52463d757e704468e9 /chef-server-webui
parent8a93774f2f8e7d426229f491674d1693f506faa7 (diff)
downloadchef-fb920dc8acd7ac5b9304418c908395dd47daa108.tar.gz
fix deletion of databags in webui
Diffstat (limited to 'chef-server-webui')
-rw-r--r--chef-server-webui/app/controllers/databags.rb28
-rw-r--r--chef-server-webui/app/views/databags/_item_navigation.html.haml2
2 files changed, 24 insertions, 6 deletions
diff --git a/chef-server-webui/app/controllers/databags.rb b/chef-server-webui/app/controllers/databags.rb
index e4e7ebfa1f..0d9c75d522 100644
--- a/chef-server-webui/app/controllers/databags.rb
+++ b/chef-server-webui/app/controllers/databags.rb
@@ -47,11 +47,29 @@ class ChefServerWebui::Databags < ChefServerWebui::Application
end
def show
- @databag_name = params[:id]
- r = Chef::REST.new(Chef::Config[:chef_server_url])
- @databag = r.get_rest("data/#{params[:id]}")
- raise NotFound unless @databag
- display @databag
+ begin
+ @databag_name = params[:id]
+ r = Chef::REST.new(Chef::Config[:chef_server_url])
+ @databag = r.get_rest("data/#{params[:id]}")
+ raise NotFound unless @databag
+ display @databag
+ rescue
+ @databags = Chef::DataBag.list
+ @_message = { :error => $!}
+ render :index
+ end
+ end
+
+ def destroy
+ begin
+ r = Chef::REST.new(Chef::Config[:chef_server_url])
+ r.delete_rest("data/#{params[:id]}")
+ redirect(absolute_slice_url(:databags), {:message => { :notice => "Data bag #{params[:id]} deleted successfully" }, :permanent => true})
+ rescue
+ @databags = Chef::DataBag.list
+ @_message = { :error => $!}
+ render :index
+ end
end
end
diff --git a/chef-server-webui/app/views/databags/_item_navigation.html.haml b/chef-server-webui/app/views/databags/_item_navigation.html.haml
index 87bb9bf57e..4ca92997a0 100644
--- a/chef-server-webui/app/views/databags/_item_navigation.html.haml
+++ b/chef-server-webui/app/views/databags/_item_navigation.html.haml
@@ -4,5 +4,5 @@
%li{ :class => (active == 'create_item' ? "active" : '')}= link_to('Create Item', slice_url(:new_databag_databag_item, :databag_id => @databag_name))
- if active != 'create' && active != 'index'
%li{ :class => (active == 'show' ? "active" : '')}= link_to('Show', slice_url(:databag, :id => params[:id]))
- %li= link_to('Delete', slice_url(:databag, :id => params[:id], :method => "delete", :confirm => "Really delete Databag #{params[:id]}? There is no undo."))
+ %li= link_to('Delete', slice_url(:databag, :id => params[:id]), :method => "delete", :confirm => "Really delete Databag #{params[:id]}? There is no undo.")
.clear