diff options
author | Nuo Yan <nuoyan@nuo-yans-macbook-pro.local> | 2009-12-15 16:45:24 -0800 |
---|---|---|
committer | Nuo Yan <nuoyan@nuo-yans-macbook-pro.local> | 2009-12-15 16:45:24 -0800 |
commit | fb920dc8acd7ac5b9304418c908395dd47daa108 (patch) | |
tree | b9bea47e18529aeff48fac52463d757e704468e9 /chef-server-webui | |
parent | 8a93774f2f8e7d426229f491674d1693f506faa7 (diff) | |
download | chef-fb920dc8acd7ac5b9304418c908395dd47daa108.tar.gz |
fix deletion of databags in webui
Diffstat (limited to 'chef-server-webui')
-rw-r--r-- | chef-server-webui/app/controllers/databags.rb | 28 | ||||
-rw-r--r-- | chef-server-webui/app/views/databags/_item_navigation.html.haml | 2 |
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 |